修改适用于ARM平台上的Ubuntu rootfs(根文件系统)

时间:2022-08-04 16:29:19

0、背景

 本文在RK3399开发板上的Ubuntu rootfs(根文件系统)基础上进行用户自定义软件,并生成可以进行烧录的统一固件。

1、获得Ubuntu rootfs

Ubuntu rootfs镜像压缩包
将ubuntu-rootfs.img.tar.bz2里面的ubuntu-rootfs.img手动解压出来,用于后面的镜像挂载。
创建一个目录,我们接下来在这个目录中构建目标rootfs

mkdir ~/ubuntu-rootfs
cd ubuntu-rootfs

将ubuntu-rootfs.img拷贝到ubuntu-rootfs里面

2、挂载ubuntu-rootfs.img

sudo mount -o loop ubuntu-rootfs.img ~/ubuntu-rootfs

//将ubuntu-rootfs.img挂载到刚才建的目录(~/ubuntu-rootfs)里

3、下载qemu static解释器

由于我们要chroot,所以需要能够在chroot环境执行armhf版本的binary,所以我们要接触linux的binfmt机制和qemu static解释器

sudo apt-get install qemu-user-statica
sudo cp /usr/bin/qemu-arm-static /home/cjn/ubuntu-rootfs/usr/bin/

4、进入chroot环境

sudo chroot /home/cjn/ubuntu-rootfs/
sudo apt-get update

5、 添加自己的软件,此时进行的所有操作和改变,都是在根文件系统中进行的

6、退出chroot环境

exit

7、卸载ubuntu-rootfs.img镜像

sudo umount /home/cjn/ubuntu-rootfs

大功告成