本文档主要介绍在没有编译环境的情况下,如何修改buildroot和debian文件系统方法,如在buildroot文件系统中添加文件、修改目录等文件操作,在debian文件系统中,安装软件库、工具、扩大文件系统空间等等操作。
1.Debian文件系统
1.1此操作可在虚拟机中完成,首先需要创建一个文件夹
sudo mkdir debian/
1.2 然后将文件系统镜像 linaro-rootfs.img挂载到debian文件夹
sudo mount linaro-rootfs.img debian/
1.3 进入debian就可以看到文件系统的结构了
这时可以对文件系统进行文件操作,修改完成后取消挂载即可
1.4 如果需要安装一些软件库或者某些工具则需要依赖qemu工具,先在本地环境安装qemu-user-static工具
sudoaptupdate sudo apt-getinstallqemu-user-static
1.5 然后需要将安装的qemu工具复制到固件挂载的对应目录下,这样是为了在宿主机上模拟ARM架构时,可以确保在模拟环境中运行的程序能够找到并使用这个工具,从而保持环境的一致性。
sudo cp /usr/bin/qemu-aarch64-static debian-mount/usr/bin/
这里的aarch64代表是ARM架构的64位版本
1.6 然后再使用ch-mount.sh脚本进入到固件内部
#!/bin/bash IP="www.baidu.com" NUM=3 func_ping() { ping $IP -c $NUM > ping.txt echo "" echo "" echo "" if [ ! -z "`grep "reachable" ping.txt`" ]; then echo "----------------------------------" echo " " echo " Now is unreachable! Please check whether the computer has Internet access." echo " " echo "----------------------------------" rm ping.txt exit fi echo "Internet is OK." rm ping.txt }
function mnt() { echo "MOUNTING" echo "To exit, press 'ctrl + d'" sudo mount -t proc /proc ${2}/proc sudo mount -t sysfs /sys ${2}/sys sudo mount -o bind /dev ${2}/dev sudo chroot ${2} } function umnt() { echo "UNMOUNTING" sudo umount ${2}/proc sudo umount ${2}/sys sudo umount ${2}/dev } if [ "$1" == "-m" ] && [ -n "$2" ] ; then mnt $1 $2 umnt $1 $2 elif [ "$1" == "-u" ] && [ -n "$2" ]; then umnt $1 $2 else echo "" echo "Either 1'st, 2'nd or both parameters were missing" echo "" echo "1'st parameter can be one of these: -m(mount) OR -u(umount)" echo "2'nd parameter is the full path of rootfs directory(with trailing '/')" echo "" echo "For example: ch-mount -m /media/sdcard/" echo "" echo 1st parameter : ${1} echo 2nd parameter : ${2} fi
如果使用脚本挂载报错,则很有可能是qemu-aarch64-static工具没有复制到对应目录下
如果模拟挂载成功,就能看到文件系统内部,这时就可以在文件系统内部中使用apt工具,安装所需要的版本库和对应工具,安装完成后按下“ctrl + d”可以保存推出挂载。
1.7 如果在固件内部安装工具时,发现空间不足,则需要使用到qemu-kvm工具来修改镜像大小,首先要在本地环境安装qemu-kvm工具
sudo apt-get install qemu-kvm
1.8 修改固件镜像大小需要对debian挂载目录进行权限修改
sudo mount -o remount linaro-rootfs.img debian/
1.9 这时候就可以对文件系统大小进行修改,修改大小“+”后面的单位有K、M、G
sudo qemu-img resize -f raw linaro-rootfs.img +1G
2.0 然后需要取消挂载再使用resize2fs工具调整文件系统的大小
sudo umount /work/bsp/rk356x_bsp/rockdev/debian sudo resize2fs-f linaro-rootfs.img
打印这些信息就说明文件系统修改成功,可以再使用ch-mount.sh挂载进去查看df -h查看是否修改成功
2.Buildroot文件系统
Buildroot文件系统我们提供的标准固件没有apt工具,所以并不能通过qemu工具模拟ARM架构,来apt安装工具,如果需要,则还是用工具源码交叉编译后手动移植到文件系统中。
Buildroot文件系统可以直接挂载进去来对文件或者目录进行操作,取消挂载即可保存。
-
文件系统
+关注
关注
0文章
278浏览量
19814 -
虚拟机
+关注
关注
1文章
884浏览量
27768 -
Buildroot
+关注
关注
1文章
48浏览量
1332 -
Debian
+关注
关注
0文章
74浏览量
1083
原文标题:如何快速修改Buildroot及Debian文件系统?
文章出处:【微信号:万象奥科,微信公众号:万象奥科】欢迎添加关注!文章转载请注明出处。
发布评论请先 登录
相关推荐
基于Buildroot的Linux系统构建之根文件系统
STM32MP157D使用buildroot生成根文件系统时就无法正常显示,为什么?
怎样使用buildroot构建根文件系统
buildroot构建根文件系统报错是什么原因
Firefly Debian根文件系统使用手册指南
使用Buildroot构建根文件系统的方法简析
如何定制Buildroot文件系统-基于TQT507开发板
Linux文件系统课程
debian安装zfs文件系统
![<b class='flag-5'>debian</b>安装zfs<b class='flag-5'>文件系统</b>](https://file.elecfans.com/web1/M00/45/FF/o4YBAFqBVLGAIzz6AAQEiA4fDHg489.png)
Debian可以从F2FS根文件系统运行了
嵌入式Linux学习之旅(10)— 使用buildroot构建根文件系统
![嵌入式Linux学习之旅(10)— 使用<b class='flag-5'>buildroot</b>构建根<b class='flag-5'>文件系统</b>](https://file.elecfans.com/web1/M00/D9/4E/pIYBAF_1ac2Ac0EEAABDkS1IP1s689.png)
从EVB3568开发板打包备份Debian文件系统的方法
技术分享 | RK3568开发板 buildroot编译配置
![技术分享 | RK3568开发板 <b class='flag-5'>buildroot</b>编译配置](https://file.elecfans.com/web2/M00/43/4A/poYBAGJ9sjaAPEhHAAAvI_7i-HA907.jpg)
评论