根文件系统相关操作

来源:互联网 发布:js confirm 样式 编辑:程序博客网 时间:2024/06/06 15:40

一、如何对已有的根文件系统进行修改

假设已有一个名为ramdisk.gz的文件系统压缩文件,可以通过以下步骤实现对该文件系统的修改:

1. 将文件系统的压缩文件解压成映像文件;

进入ramdisk.gz所在目录:

#cd …

解压ramdisk.gz:

#gunzip ramdisk.gz

2. 挂载解压后的映像文件来实现修改;

创建挂载目录:

#sudo mkdir /mnt/loop

将ramdisk.gz挂载:

#sudo mount –o loop ramdisk /mnt/loop

进入挂载目录:(这时可以根据需要增加、删减或是修改文件系统的内容)

#cd /mnt/loop

修改开发板启动文件(DevKit8500D):

 #sudo gedit /mnt/loop/etc/init.d/rc

3. 卸装镜像文件;

进入ramdisk.gz所在目录:

#cd …

卸载目录

#sudo umount /mnt/loop

4. 将修改后的文件系统制作成压缩文件;

#gzip –v9 ramdisk

 

二、如何建立新的根文件系统

(方法一)

1. 建立loop设备的临时挂载点;

#mkdir /mnt/loop

2. 建立一个大小为15M的临时文件;

#dd if=/dev/zero of=/tmp/loop_tmpbs=1k count=15360

临时文件的大小可根据自己的需要对参数count进行调整即可;

3. 将设备文件与临时文件联系起来;

#losetup /dev/loop0 /tmp/loop_tmp

 

如果出现“ioctl:LOOP_SET_FD:设备或资源忙”,说明/dev/loop0设备还和一文件联系,可用losetup /dev/loop0查看地,并可用-d 删除;

4. 将/dev/loop0格式化为ext2文件系统;

#mke2fs –m 0 /dev/loop0

5. 把虚拟盘挂在节点/mnt/loop上;

#mount –t ext2 /dev/loop0/mnt/loop;

6. 用cp –af命令将所需要的文件拷贝到虚拟盘上;

7. 通过cd命令切换到除/mnt/loop目录以外的其他目录,然后卸载文件系统;

#cd /xx (xx表示除/mnt/loop以外的其他目录)

#umount /mnt/loop

得到的/tmp/loop_tmp就是文件系统映象

8. 压缩映象文件生成文件系统;

#gzip –v9 /tmp/loop_tmp>/tftpboot/ramdisk.gz

或#gzip –v9 /tmp/loop_tmp

 

(方法二)

1. 建立loop设备的临时挂载点;

#mkdir /mnt/loop

2. 建立一个大小为15M的临时文件;

#dd if=/dev/zero of=/tmp/loop_tmpbs=1k count=15360

3. 将loop_tmp格式化为ext2文件系统;

mke2fs –F –v –m 0 /tmp/loop_tmp

4. 挂载格式化后的临时文件;

#munt –o loop /tmp/loop_tmp/mnt/loop

5. 用cp –af命令将所需要的文件拷贝到临时文件中从而生成映像文件;

6. 卸载生成的映象文件;

#umount /mnt/loop

7. 压缩映象文件生成文件系统;

#gzip –v9 /tmp/loop_tmp


--------------------------分割线---------------------------------

此方法可以修改系统启动设置,设置启动项。

测试软硬件平台:

宿主机:Ubuntu 12.04LTS

目标版:Devkit8500D,Linux2.6.32




 

0 0