1 获取 Ubuntu 源码
Ubuntu、Linuxqt 和 debian 系统共用一套源码,获取 Ubuntu 源码具体参考“13.1.1 章节 获取 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
|