赞
踩
一、rk3588支持buildroot和ubuntu作为rootfs。
如果我们使用ubuntu作为rootfs,
1、选择官网下载ubuntu rootfs,以下为下载路径。
此ubuntu roofs,是在ubuntu20,04基础上增加相应rk的库文件移植所得(如:VPU GPU,多媒体等硬件支持功能)
创建 Ubuntu 根文件系统 — Firefly Wiki
2、由于yocto的工具链和ubuntu使用的工具链有一定差异,主要是glibc的不同,导致编译出来依赖不一致,故如果使用ubuntu作为rootfs,那么必须使用ubuntu的编译工具进行编译。参考以下链接:
将rootfs.img先进行挂载,在进行chroot 使用qemu切换环境编译后,此时即可以进行编译,也就是此可以在开发板上编译的,可能在x86桌面ubuntu上进行编译,
sudo apt-get install qemu-user-static
sudo cp /usr/bin/qemu-aarch64-static temp/usr/bin/
sudo cp -b /etc/resolv.conf temp/etc/resolv.conf
定制适用于ARM平台的Ubuntu rootfs(根文件系统)_szembed的博客-CSDN博客
ch-mount.sh
- #!/bin/bash
- function mnt() {
- echo "MOUNTING"
- sudo mount -t proc /proc ${2}proc
- sudo mount -t sysfs /sys ${2}sys
- sudo mount -o bind /dev ${2}dev
- sudo mount -o bind /dev/pts ${2}dev/pts
- sudo chroot ${2}
- }
- function umnt(){
- echo "UNMOUNTING"
- sudo umount ${2}proc
- sudo umount ${2}sys
- sudo umount ${2}dev/pts
- sudo umount ${2}dev
- }
- if ["$1" == "-m" ] && [ -n "$2" ] ;
- then
- mnt $1 $2
- elif ["$1" == "-u" ] && [ -n "$2" ];
- then
- umnt $1 $2
- else
- echo ""
- echo "Either 1'st, 2'nd or bothparameters were missing"
- echo ""
- echo "1'st parameter can be one ofthese: -m(mount) OR -u(umount)"
- echo "2'nd parameter is the full pathof rootfs directory(with trailing '/')"
- echo ""
- echo "For example: ch-mount -m/media/sdcard/"
- echo ""
- echo 1st parameter : ${1}
- echo 2nd parameter : ${2}
- fi
- mount rootfs.img tmp_ubuntufs
-
- ./ch-mount.sh -m tmp_ubuntufs
-
- 1、此时将进入qemu的ubuntu文件系统,此时在此界面可以进行编译或者修改文件系统,增加ros等功能。
-
- 2、修改后,使用exit 退出此文件系统。
-
- ./ch-mount.sh -u tmp_ubuntufs #卸载挂载信息
-
- umount mp_ubuntufs #卸载文件系统
此时即可以进行ubuntu文件系统的修改
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。