请选择 进入手机版 | 继续访问电脑版
搜索

121

主题

128

帖子

665

积分

网站编辑

Rank: 8Rank: 8

积分
665
发表于 2021-5-20 10:38:56 10431 浏览 0 回复

iTOP-3399开发板Ubuntu16系统编译

本帖最后由 翠花儿 于 2021-5-20 10:50 编辑

1 获取 Ubuntu 源码
UbuntuLinuxqt debian 系统共用一套源码,获取 Ubuntu 源码具体参考“获取Linux 源码章节”。
2 安装 Ubuntu 源码依赖包
如果您使用的是搭建好编译环境的Ubuntu16.04虚拟机镜像,Ubuntu 源码依赖包已经安装好了,不必重复安装
使用如下命令安装所需的软件包:
1、sudo apt-get update
2、安装 kernel 及 uboot 编译需要依赖的软件包
sudo apt-get install git-core gnupg flex bison gperf build-essential zip
sudo apt-get install curl zlib1g-dev gcc-multilib g++-multilib libc6-dev-i386
sudo apt-get install lib32ncurses5-dev x11proto-core-dev libx11-dev lib32z1-dev ccache libgl1-mesa-dev
sudo apt-get install xsltproc unzip device-tree-compiler liblz4-tool libxml2-utils
3 编译Ubuntu系统

3.1 指定屏幕
打开linux的源码,进入/home/topeet/rk3399_linux_sdk_v2.0/kernel/arch/arm64/boot/dts/rockchip/itop-3399_linux-lvds.dts目录下,打开itop-3399_linux-lvds.dts设备树文件,如下图所示,默认源码里面指定屏幕是hdmi屏幕,如果我们想源码里面指定屏幕是其他尺寸,将指定屏幕的宏定义生效就好了。
例如,我想指定屏幕为7寸屏,修改设备树,如下图所示:
3.2 整体编译
使用 cd 命令进入到 rk3399_linux_sdk_v2.0_190805 文件夹。
编译分两个命令
./build.sh BoardConfig.mk
./build.sh ubuntu
最终在rocdev 目录下生成镜像文件update.img。update.img 镜像大约 3.2G。
3.3 单独编译
命令./build.sh -h查看可选参数
单独编译 uboot./build.sh uboot
uboot 目录下生成 u-boot.bin
单独编译 kernel./build.sh kernel
kernel 目录下生成 boot.img
4 定制ubuntu系统
Ubuntu16.04文件系统源码在光盘资料“01_iTOP-3399光盘资料\20210408(使用最新日期即可)\09 ubuntu16.04文件系统源码”目录下。
1 拷贝文件系统ubuntu16_04.tar.gz(后缀为更新日期,请下载使用最近日期的文件系统)到开发板,并解压,如下图所示:
2 解压文件系统生成temp文件夹,解压完如下图所示:
3 输入以下命令安装qemu,在Linux PC主机上安装模拟器:
apt-get install qemu-user-static
4 将挂载脚本拷贝到与temp同级目录,并赋予权限,如下图所示。挂载脚本在光盘资料“01_iTOP-3399光盘资料 20210330(使用最新日期即可)\09 ubuntu16.04文件系统源码\AI版本ubuntu文件系统源码(非AI版本ubuntu文件系统源码)”目录下。
5 准备qemu,输入一下命令:
cp /usr/bin/qemu-aarch64-static temp/usr/bin/
6 准备网络,输入以下命令:
sudo cp -b /etc/resolv.conf temp/etc/resolv.conf
7 输入命令挂载文件系统,如下图所示:
./mount.sh -m temp/
8 输入以下命令查看网络,要确保网络是通的
9 启动Dbus服务,输入以下命令:
/etc/init.d/dbus start
file:///C:\Users\ADMINI~1\AppData\Local\Temp\ksohtml6956\wps55.jpg
10 更新及安装,输入以下命令:
apt update
apt upgrade
11 准备完毕后,我们可以安装定制自己的文件系统,操作方法和使用串口终端操作是一样的。配置完毕后,输入“exit”退出。
12 输入以下命令,取消挂载
./mount.sh -u temp/
13 使用dd指令制作空的固件容器,bs乘以count是容器的大小,这个具体看做出来的镜像有多大,temp文件夹大概有6G,所以这里可以把count=1024*6=6144即可满足。输入以下命令;
dd if=/dev/zero of=ubuntu_1604.img bs=1M count=6144
14 将arm64文件系统内容制作到ubuntu.img,输入以下命令:
mkfs.ext4 ubuntu.img
15 新建一个rootfs文件夹,将ubuntu.img挂载到rootfs文件夹下,输入以下命令:
mkdir rootfs
mount ubuntu.img rootfs/
16 拷贝temp文件夹下的文件系统到rootfs文件夹下面,输入以下命令:
cp -rfp temp/* rootfs/
17 拷贝完毕后,取消挂载,输入以下命令:
umount rootfs/
18 这样最终,我们生成了我们所需要的ubuntu.img文件。我们将ubuntu.img文件拷贝到Linux源码rk3399_linux_sdk_v2.0的ubuntu目录下,并重命名为ubuntu_1604.img,如下图所示:
19 接下来参考指定屏幕章节,参考整体编译ubuntu镜像章节,参考ubuntu16系统烧写章节。



本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复

使用道具 举报

返回列表
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

登录或注册

官方客服

QQ:2551456065

官方QQ群

195631883

扫一扫关注迅为公众号

群号652692981

 
快速回复 返回顶部 返回列表