一键构建新的编译环境编译RK3568系统,完成系统定制

新安装好UBUNTU 20之后,可通过如下命令一键安装相关的编译工具:
sudo apt-get install git-core gnupg flex bison gperf build-essential zip curl zlib1g-dev gcc-multilib g+±multilib libc6-dev-i386 lib32ncurses5-dev x11proto-core-dev libx11-dev lib32z-dev ccache libgl1-mesa-dev libxml2-utils xsltproc unzip python-pyelftools python3-pyelftools device-tree-compiler libfdt-dev libfdt1 libssl-dev liblz4-tool python-dev qemu-user-static expect

构建3568 DEBIAN系统时,注意事项:
1、chroot 到arm 的根系统,得以实现的根本原因在于qemu-user-static这个包。
在没有安装这个包之前,执行到chroot时报如下错误:
无法执行/bin/bash , 格式错误。
原因是HOST是64位AMD平台,要切到arm架构,没有qemu支持是不行的。

2、完整编译RK3568 DEBIAN系统过程
完成的编译可以增加一个脚本解决:./builddebian.sh
export RK_ROOTFS_SYSTEM=debian
./build.sh allsave
其过程实质是:
先是编译内核,可以用./build.sh kernel重复执行
再是编译debian rootfs 可用./build.sh debian
再定制rootfs

再编译uboot ,可单独:./build.sh uboot 执行

3、定制的实质
定制系统的实质是,chroot binnary目录,然后,有两种途径进行定制:
1、通过apt-get install额外的包来完善
2、直接修改overlay目录,实现目标系统的覆盖

4、定制增加自已的包示例一
例如,要增加一个myapp,已经编译好
1)、进入debian目录
2)、cd overlay
3)、cd home目录
4)、可以把myapp放到home目录,后面系统打包工具会自动拷贝到目标系统中
5)、增加myapp启动脚本到 rc.local

5、定制示例二
增加MYSQL数据库
这个定制需求,可以直接用apt-get install 来解决
1)cd debian
2)vi mk-rootfs-bullseye.sh
找到cat << EOF | sudo chroot $TARGET_ROOTFS_DIR
这行,
在这一行后面增加安装指令:
sudo apt -y install mariadb-server

你可能感兴趣的:(linux,RK3568,系统定制,chroot)