欢迎访问云渡桥财经网

基于rk平台快速移植ubuntu系统

频道:理财新闻 日期: 浏览:6584

基于rk平台快速移植ubuntu系统

一、资料准备:

1、rk linux sdk

2、Ubuntu镜像源吗

二、sdk获取

Rk官方拉取,或者网上搜一下,看有没有人分享,如有需要可私。官方源码一般是比较大的,因为repo管理了整个工程,所有记录都有。

三、ubuntu镜像源码获取

官方路径:http://cdimage.ubuntu.com/ubuntu-base/releases/

进入该网站,可以下载自己需要的版本

版本源码说明,官方源码是一个基础源码,基本功能是有了,需要定制组件,以及添加rk的硬件支持,才能正常运行工作。具体细节可以好好探索。

四、系统镜像构建

在移植之前,可以进行一次构建,添加相关基础组件,因为组件需要在网上下载,把固定的先编译出来,避免重复编译消耗过多时间,这样可以节省我们的开发时间。基本的构建框架和指令如下:

sudo tar -xzf ubuntu-base-20.04.5-base-arm64.tar.gz -C binary/cat<<EOF| sudo chroot $TARGET_ROOTFS_DIR/#再这里添加需要的组件EOFDATE=$(date+%Y%m%d)echo-e"�33[47;36m Run tar pack ubuntu-base-$TARGET-$ARCH-$DATE.tar.gz �33[0m"sudo tar zcf ubuntu-base-$TARGET-$ARCH-$DATE.tar.gz$TARGET_ROOTFS_DIR
经过上述流程,可以构建出ubuntu-base-xfce-full-arm64-20240906.tar.gz格式的文件,该文件已经包含了你自己需要的组件,接下来我们在这个基础上去构建就可以。

五、如何添加rk硬件支持

以下图片为rk官方适配第三方平台所需要适配的。 wKgZPGkanu2AbruOAAD9DEW_XAQ834.png

sudorm-rf$TARGET_ROOTFS_DIRsudo tar -xpf ubuntu-base-$TARGET-$ARCH-*.tar.gzsudomkdir-p$TARGET_ROOTFS_DIR/vendor/etc# packages foldersudo mkdir -p $TARGET_ROOTFS_DIR/packagessudo cp -rpf packages/$ARCH/* $TARGET_ROOTFS_DIR/packagesecho -e "�33[47;36m Extract image1 �33[0m"#GPU/CAMERA packages folderinstall_packagessudo mkdir -p $TARGET_ROOTFS_DIR/packages/install_packagessudo cp -rpf packages/$ARCH/libmali/libmali-*$MALI*-x11*.deb $TARGET_ROOTFS_DIR/packages/install_packages# sudo cp -rpf ../ubuntu/packages/$ARCH/${ISP5}/camera_engine_$ISP*.deb $TARGET_ROOTFS_DIR/packages/install_packagesecho -e "�33[47;36m Extract image2 �33[0m"# overlay foldersudo cp -rpf overlay/* $TARGET_ROOTFS_DIR/# sudo cp -rpf sources.list $TARGET_ROOTFS_DIR/etc/apt/# overlay-firmware foldersudo cp -rpf overlay-firmware/* $TARGET_ROOTFS_DIR/echo -e "�33[47;36m Extract image3 �33[0m"# overlay-debug folder# adb, video, camera test fileif ["$VERSION" == "debug" ];thensudo cp -rpf overlay-debug/* $TARGET_ROOTFS_DIR/fiID=$(stat --format %u $TARGET_ROOTFS_DIR)cat << EOF| sudo chroot $TARGET_ROOTFS_DIR#在这里构建自己的组件# Create Useruseradd -G sudo -m -s /bin/bash Linux1024passwd Linux1024 <
     xieshancaixieshancaiIEOFgpasswd -a Linux1024 videogpasswd -a Linux1024 audiopasswd root <
     xieshancaixieshancaiIEOFEOF

上述代码基本上已经包含了rk的硬件加速,在重新构建系统就可以

六、如何添加进源码中

在获取了基础镜像系统之后,可按照以下步骤添加进系统:

1、根目录下找到debian,把镜像系统放到目录下

2、做两个编译脚本mk-base-ubuntu.sh、mk-ubuntu-rootfs.sh,这两个编译脚本对应第四、第五点,具体脚本可以参考debian系统构建脚本mk-base-debian.sh、mk-rootfs-bullseye.sh   七、编译

准备好了上述步骤之后,加上以下patch,就可以使用原来的编译指令执行一键编译 wKgZPGkanu2AA-DUAAFgj_3sKxs994.png 可能有人会有疑问,不可以单独整个文件系统烧录吗?答案是可以的,但是可能会有问题,导致系统起不来,因为在上述构建之后还会加上wifi的补丁,这是在源码编译的时候打进去的。

按照上述方法去做,应该会得到一个完整的镜像,初次接触可能调试过程还是会有点问题,自己细心找一下就可以了。