基于rk平台快速移植ubuntu系统
一、资料准备:
1、rk linux sdk
2、Ubuntu镜像源吗
二、sdk获取
Rk官方拉取,或者网上搜一下,看有没有人分享,如有需要可私。官方源码一般是比较大的,因为repo管理了整个工程,所有记录都有。
三、ubuntu镜像源码获取
官方路径:http://cdimage.ubuntu.com/ubuntu-base/releases/
进入该网站,可以下载自己需要的版本
版本源码说明,官方源码是一个基础源码,基本功能是有了,需要定制组件,以及添加rk的硬件支持,才能正常运行工作。具体细节可以好好探索。
四、系统镜像构建
在移植之前,可以进行一次构建,添加相关基础组件,因为组件需要在网上下载,把固定的先编译出来,避免重复编译消耗过多时间,这样可以节省我们的开发时间。基本的构建框架和指令如下:
五、如何添加rk硬件支持
以下图片为rk官方适配第三方平台所需要适配的。
上述代码基本上已经包含了rk的硬件加速,在重新构建系统就可以
六、如何添加进源码中
在获取了基础镜像系统之后,可按照以下步骤添加进系统:
1、根目录下找到debian,把镜像系统放到目录下
2、做两个编译脚本mk-base-ubuntu.sh、mk-ubuntu-rootfs.sh,这两个编译脚本对应第四、第五点,具体脚本可以参考debian系统构建脚本mk-base-debian.sh、mk-rootfs-bullseye.sh
七、编译
准备好了上述步骤之后,加上以下patch,就可以使用原来的编译指令执行一键编译
可能有人会有疑问,不可以单独整个文件系统烧录吗?答案是可以的,但是可能会有问题,导致系统起不来,因为在上述构建之后还会加上wifi的补丁,这是在源码编译的时候打进去的。
按照上述方法去做,应该会得到一个完整的镜像,初次接触可能调试过程还是会有点问题,自己细心找一下就可以了。
一、资料准备:
1、rk linux sdk
2、Ubuntu镜像源吗
二、sdk获取
Rk官方拉取,或者网上搜一下,看有没有人分享,如有需要可私。官方源码一般是比较大的,因为repo管理了整个工程,所有记录都有。
三、ubuntu镜像源码获取
官方路径:http://cdimage.ubuntu.com/ubuntu-base/releases/
进入该网站,可以下载自己需要的版本
版本源码说明,官方源码是一个基础源码,基本功能是有了,需要定制组件,以及添加rk的硬件支持,才能正常运行工作。具体细节可以好好探索。
四、系统镜像构建
在移植之前,可以进行一次构建,添加相关基础组件,因为组件需要在网上下载,把固定的先编译出来,避免重复编译消耗过多时间,这样可以节省我们的开发时间。基本的构建框架和指令如下:
经过上述流程,可以构建出ubuntu-base-xfce-full-arm64-20240906.tar.gz格式的文件,该文件已经包含了你自己需要的组件,接下来我们在这个基础上去构建就可以。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
五、如何添加rk硬件支持
以下图片为rk官方适配第三方平台所需要适配的。

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,就可以使用原来的编译指令执行一键编译
可能有人会有疑问,不可以单独整个文件系统烧录吗?答案是可以的,但是可能会有问题,导致系统起不来,因为在上述构建之后还会加上wifi的补丁,这是在源码编译的时候打进去的。按照上述方法去做,应该会得到一个完整的镜像,初次接触可能调试过程还是会有点问题,自己细心找一下就可以了。
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。
举报投诉
-
移植
+关注
关注
1文章
417浏览量
29534 -
源码
+关注
关注
8文章
689浏览量
31512 -
Ubuntu
+关注
关注
5文章
617浏览量
33670
发布评论请先 登录
相关推荐
热点推荐
干货分享 | RK3588 Ubuntu系统Docker容器使用指南
前言:在瑞芯微RK3588高性能AIoT平台上运行Ubuntu系统时,Docker容器技术能极大提升开发部署效率。通过轻量级虚拟化实现环境隔离与快速
RK3399如何选择系统 Android/debian/ubuntu/buildroot
,可移植性高。 2. Fedora 优点: 桌面操作系统,大部分人很熟悉,容易上手。源丰富,开源库可以rpm直接安装,不需要重新移植。也支持python。 缺点: 官方对ARM支持并不友好,对硬件
发表于 02-17 10:13
如何在Firefly-RK3399上编译和移植Linux内核和Ubuntu16.04 rootfs?
Firefly-RK3399移植Ubuntu16.04的过程是怎样的?如何在Firefly-RK3399上编译和移植Linux内核和
发表于 03-07 07:13
移植Ubuntu16.04系统到ROC-RK3308-CC板子上记录
的轻量级的Linux操作系统。笔者这里小试了下,移植Ubuntu16.04系统到ROC-RK3308-CC板子上,并记录在此。首先,更新SD
发表于 06-09 16:58
RK3399开发板在Ubuntu系统下实现双屏显示及异触
本文以飞凌嵌入式RK3399开发板为基础讲解,主要介绍了Ubuntu系统下双屏显示及异触,其它RK3399平台请参考使用!
发表于 03-30 14:01
•2271次阅读
rk3288移植ubuntu
rk3288是一款由瑞芯微推出的高性能ARM处理器,被广泛应用于嵌入式设备和单板计算机中。本文将介绍如何将Ubuntu操作系统移植到rk32
系统适配 | RK3588适配Ubuntu20.04发布预告
前言:为了满足广大开发者与嵌入式爱好者的需求!眺望电子正式宣布,已完成基于瑞芯微RK3588的开发板对Ubuntu20.04LTS操作系统的深度适配与优化。此次适配不仅成功移植了
系统适配 | RK3576适配Ubuntu20.04正式发布
前言:为了满足广大开发者与嵌入式爱好者的需求!眺望电子正式宣布,已完成基于瑞芯微RK3576的开发板对Ubuntu20.04LTS操作系统的深度适配与优化。此次适配不仅成功移植了
系统适配 | RK3588 Ubuntu22.04正式发布
前言:为了满足广大开发者与嵌入式爱好者的需求!眺望电子正式宣布,已完成基于瑞芯微RK3588的开发板对Ubuntu22.04LTS操作系统的深度适配与优化。此次适配不仅成功移植了
Ubuntu 25升级全解析!即将移植RK系列芯片,技术实践抢先预告
性能、开发工具等维度实现了全方位突破。更重磅的是 —— 我已启动将 Ubuntu 25 移植到 RK 系列芯片的计划,后续会持续分享实践细节,各位敬请期待!
基于rk平台快速移植ubuntu系统
评论