DevKit8600 FAQ

From eLinux.org
Revision as of 10:06, 6 November 2012 by Timll (Talk | contribs) (Created page with "一、如何对已有的根文件系统进行修改? 假设已有一个名为ramdisk.gz的文件系统压缩文件,可以通过以下步骤实现对该文件系统的修...")

(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search

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

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

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

  1. cd ramdisk.gz
  1. gunzip ramdisk.gz

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

  1. mkdir /mnt/loop
  1. mount –o loop ramdisk /mnt/loop
  1. cd /mnt/loop

这时可以根据需要增加、删减或是修改文件系统的内容。

3. 卸装镜像文件;

  1. cd ramdisk
  1. umount /mnt/loop

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

  1. gzip –v9 ramdisk

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

(方法一)

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

  1. mkdir /mnt/loop

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

  1. dd if=/dev/zero of=/tmp/loop_tmp bs=1k count=15360

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

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

  1. losetup /dev/loop0 /tmp/loop_tmp

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

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

  1. mke2fs –m 0 /dev/loop0

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

  1. mount –t ext2 /dev/loop0 /mnt/loop;

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

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

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

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

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

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

或#gzip –v9 /tmp/loop_tmp

(方法二)

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

  1. mkdir /mnt/loop

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

  1. dd if=/dev/zero of=/tmp/loop_tmp bs=1k count=15360

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

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

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

  1. munt –o loop /tmp/loop_tmp /mnt/loop

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

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

  1. umount /mnt/loop

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

  1. gzip –v9 /tmp/loop_tmp