ubuntu文件系统修改( for arm)
2017-10-17 19:14
441 查看
系统:ubuntu14.04
镜像:ubuntu-rootfs.img for aarch64
创建一个文件夹 ubuntu-mount
将ubuntu-rootfs.img镜像挂载到ubuntu-mount
进入ubunt-mount就可以看到文件系统的结构了。
安装模拟处理器 qemu,这是一个可以模拟多种cpu构架平台的模拟器,类似于虚拟机。
详细情况可以参考官网网站https://www.qemu.org/
复制关键文件到文件夹,根据自己系统的平台复制一份到虚拟文件系统下。
下面需要把根目录改变到ubuntu-mount上去,如果直接使用chroot的话,会存在proc已经dev下的文件无法检测到的问题,所以可以直接使用脚本 ch-mount.sh
返回上一级目录,直接使用ch-mount.sh改变当前的根目录
这个时候遇到了这个问题,就是挂载的文件系统的运行空间是按照镜像的大小来,所以无法再添加新的内容。由下图可知系统占用已满。
所以在当时在安装新的软件包的时候遇到以下的错误:
“ You don’t have enough free space in /var/cache/apt/archives/. ”
尝试使用 apt-get autoclean 和 apt-get clean都没有作用。
在这里需要重新修改镜像大小,然后重新挂载发现就可以解决问题了。
修改镜像大小需要用到工具 qemu-img
安装成功之后就可以使用qemu-img工具了,执行指令
修改完大小之后,重新挂载之后检查存储设备的使用情况,发现已经有多余的空间了,接下来就可以对改文件系统进行适当的修改了。
可以自由地安装软件包
参考文献:
https://gnu-linux.org/building-ubuntu-rootfs-for-arm.html
镜像:ubuntu-rootfs.img for aarch64
创建一个文件夹 ubuntu-mount
mkdir ubuntu-mount
将ubuntu-rootfs.img镜像挂载到ubuntu-mount
mount ubuntu-rootfs.img ubuntu-mount
进入ubunt-mount就可以看到文件系统的结构了。
cd ubuntu-mount
安装模拟处理器 qemu,这是一个可以模拟多种cpu构架平台的模拟器,类似于虚拟机。
详细情况可以参考官网网站https://www.qemu.org/
apt-get install qemu
复制关键文件到文件夹,根据自己系统的平台复制一份到虚拟文件系统下。
#this is for 32 bit arm system cp /usr/bin/qemu-arm-static usr/bin/
#this is for 64 bit arm system cp /usr/bin/qemu-aarch64-static usr/bin/
下面需要把根目录改变到ubuntu-mount上去,如果直接使用chroot的话,会存在proc已经dev下的文件无法检测到的问题,所以可以直接使用脚本 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 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 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
返回上一级目录,直接使用ch-mount.sh改变当前的根目录
./ch-mount.sh -m ubuntu-mount/
这个时候遇到了这个问题,就是挂载的文件系统的运行空间是按照镜像的大小来,所以无法再添加新的内容。由下图可知系统占用已满。
df -h
所以在当时在安装新的软件包的时候遇到以下的错误:
“ You don’t have enough free space in /var/cache/apt/archives/. ”
尝试使用 apt-get autoclean 和 apt-get clean都没有作用。
在这里需要重新修改镜像大小,然后重新挂载发现就可以解决问题了。
#退出当前虚拟环境 exit #将挂载的目录取消挂载,不进行此操作会影响后续操作 ./ch-mount -u ubuntu-mount umount ubuntu-mount
修改镜像大小需要用到工具 qemu-img
apt-get install qemu-kvm
安装成功之后就可以使用qemu-img工具了,执行指令
qemu-img resize ubuntu-rootfs.img +5G
resize2fs -f ubuntu-rootfs.img
修改完大小之后,重新挂载之后检查存储设备的使用情况,发现已经有多余的空间了,接下来就可以对改文件系统进行适当的修改了。
可以自由地安装软件包
参考文献:
https://gnu-linux.org/building-ubuntu-rootfs-for-arm.html
相关文章推荐
- Ubuntu下U盘只读文件系统,图标上锁,提示无法修改
- Ubuntu系统恢复修改的.bashrc文件
- Ubuntu在恢复模式下无法修改系统文件解决办法
- Ubuntu修改etc/environment文件后无法登陆系统的问题解决办法
- VS-RK3399 ARM版本的ubuntu系统镜像文件官方下载分享
- ubuntu chmod 无法更改 文件夹权限 系统提示“不允许的操作 2、linux 如何修改只读文件 3、ubuntu安装
- ubuntu(12.04+14.04)下通过网络文件系统NFS将执行文件下载到开发板运行(再修改)
- JFFS2 文件系统及新特性介绍 分类: arm-linux-Ubuntu 2013-07-22 16:30 269人阅读 评论(0) 收藏
- ubuntu 12 64位系统 装arm-linux-gcc 4.3.2 找不到文件
- 对于UBUNTU系统中修改了某个文件无法进入到系统界面的解决步骤演示
- Ubuntu中的由于修改/etc/profile文件而进入不了系统
- 制作文件系统for arm at91sam9260
- sed指令修改arm-Linux系统的开发板网络配置文件 eth0-setting。
- hi3531 SDK已编译文件系统制作jffs2文件系统镜像并解决问题 . 分类: arm-linux-Ubuntu HI3531 2014-06-18 08:45 951人阅读 评论(0) 收藏
- Ubuntu下U盘只读文件系统,图标上锁,提示无法修改
- ubuntu下修改yaffs2文件系统镜像文件
- ubuntu修改系统环境变量文件导致起不来
- ubuntu12修改系统最大打开文件数
- 嵌入式成长轨迹61 【智能家居项目】【ARM 飞凌ok6410】【在虚拟机Ubuntu下NFS网络文件系统建立】
- ubuntu11.04启动 及虚拟文件系统 分类: arm-linux-Ubuntu 2013-07-22 16:28 369人阅读 评论(0) 收藏