本文档主要介绍在没有编译环境的情况下,如何修改和文件系统方法,如在文件系统中添加文件、修改目录等文件操作,在文件系统中,安装软件库、工具、扩大文件系统空间等等操作。
1.文件系统
1.1此操作可在虚拟机中完成,首先需要创建一个文件夹
/
1.2然后将文件系统镜像-.img挂载到文件夹
-./
1.3进入就可以看到文件系统的结构了
这时可以对文件系统进行文件操作,修改完成后取消挂载即可
1.4如果需要安装一些软件库或者某些工具则需要依赖qemu工具,先在本地环境安装qemu-user-工具
–user-
1.5然后需要将安装的qemu工具复制到固件挂载的对应目录下,这样是为了在宿主机上模拟ARM架构时,可以确保在模拟环境中运行的程序能够找到并使用这个工具,从而保持环境的一致性。
/usr/bin/qemu—mount/usr/bin/
这里的代表是ARM架构的64位版本
1.6然后再使用ch-mount.sh脚本进入到固件内部
#!/bin/bash
IP=””
NUM=3
()
ping$IP-c$NUM>ping.txt
echo””
echo””
echo””
if[!-z”`grep””ping.txt`”];then
echo”———————————-“
echo””
echo”!.”
echo””
echo”———————————-“
.txt
exit
fi
echo”.”
.txt
(){
echo””
echo”,press’ctrl+d'”
-tproc/proc${2}/proc
-/sys${2}/sys
-obind/dev${2}/dev
${2}
(){
echo””
${2}/proc
${2}/sys
${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”‘st,2′”
echo””
echo”1′:-m(mount)OR-u()”
echo”2’y(‘/’)”
echo””
echo”:ch-mount-m/media//”
echo””
:${1}
:${2}
fi
如果使用脚本挂载报错,则很有可能是qemu–工具没有复制到对应目录下
如果模拟挂载成功,就能看到文件系统内部,这时就可以在文件系统内部中使用apt工具,安装所需要的版本库和对应工具,安装完成后按下“ctrl+d”可以保存推出挂载。
1.7如果在固件内部安装工具时,发现空间不足,则需要使用到qemu-kvm工具来修改镜像大小,首先要在本地环境安装qemu-kvm工具
–kvm
1.8修改固件镜像大小需要对挂载目录进行权限修改
–./
1.9这时候就可以对文件系统大小进行修改,修改大小“+”后面的单位有K、M、G
—.img+1G
2.0然后需要取消挂载再使用工具调整文件系统的大小
/work/bsp///
–.img
打印这些信息就说明文件系统修改成功,可以再使用ch-mount.sh挂载进去查看df-h查看是否修改成功
2.文件系统
文件系统我们提供的标准固件没有apt工具,所以并不能通过qemu工具模拟ARM架构,来apt安装工具,如果需要,则还是用工具源码交叉编译后手动移植到文件系统中。
文件系统可以直接挂载进去来对文件或者目录进行操作,取消挂载即可保存。
———END———
限 时 特 惠: 本站每日持续更新海量各大内部创业教程,永久会员只需109元,全站资源免费下载 点击查看详情
站 长 微 信: nanadh666