Difference between revisions of "DevKit8600 FAQ"
(Created page with "一、如何对已有的根文件系统进行修改? 假设已有一个名为ramdisk.gz的文件系统压缩文件,可以通过以下步骤实现对该文件系统的修...") |
|||
Line 1: | Line 1: | ||
− | |||
− | + | == How to create ramdisk under Linux == | |
+ | Q1: How to alter an existing Root File System? | ||
− | 1. | + | Let’s assume there is a compressed file system named ramdisk.gz. We could realize alteration on it by the following steps: |
+ | |||
+ | 1. Uncompress the file into an image file; | ||
#cd ramdisk.gz | #cd ramdisk.gz | ||
Line 9: | Line 11: | ||
#gunzip ramdisk.gz | #gunzip ramdisk.gz | ||
− | 2. | + | 2. Mount the uncompressed image file to realize alteration; |
#mkdir /mnt/loop | #mkdir /mnt/loop | ||
Line 17: | Line 19: | ||
#cd /mnt/loop | #cd /mnt/loop | ||
− | + | Now the contents of the file system can be added, removed, or modified as required. | |
− | 3. | + | 3. Unmount the image file; |
#cd ramdisk | #cd ramdisk | ||
Line 25: | Line 27: | ||
#umount /mnt/loop | #umount /mnt/loop | ||
− | 4. | + | 4. Create a compressed file by using the altered file system; |
− | #gzip –v9 ramdisk | + | #gzip –v9 ramdisk |
− | + | Q2: How to create a new Root File System? | |
− | + | (Approach one) | |
− | 1. | + | 1. Create a temporary mounting point for loop devices; |
#mkdir /mnt/loop | #mkdir /mnt/loop | ||
− | 2. | + | 2. Create a 15M temporary file; |
#dd if=/dev/zero of=/tmp/loop_tmp bs=1k count=15360 | #dd if=/dev/zero of=/tmp/loop_tmp bs=1k count=15360 | ||
− | + | The size of the temporary file could be changed by adjusting the value of the parameter count; | |
− | 3. | + | 3. Associate device file with the temporary file; |
#losetup /dev/loop0 /tmp/loop_tmp | #losetup /dev/loop0 /tmp/loop_tmp | ||
− | + | If a message ‘ioctl:LOOP_SET_FD: device is busy’ appears, it indicates that the device /dev/loop0 is still associated with another file. Command losetup /dev/loop0 can be used to view the device, and remove it with parameter -d; | |
− | 4. | + | 4. Format /dev/loop0 as ext2 file system; |
#mke2fs –m 0 /dev/loop0 | #mke2fs –m 0 /dev/loop0 | ||
− | 5. | + | 5. Mount the virtual disk on the mounting point /mnt/loop; |
#mount –t ext2 /dev/loop0 /mnt/loop; | #mount –t ext2 /dev/loop0 /mnt/loop; | ||
− | 6. | + | 6. Copy all the required files to the virtual disk by the command cp -af; |
− | 7. | + | 7. Move from current directory /mnt/loop to another directory by the command cd, and then unmount the file system; |
− | #cd /xx | + | #cd /xx (xx means any directories except /mnt/loop) |
#umount /mnt/loop | #umount /mnt/loop | ||
− | + | The file at /tmp/loop_tmp is the image of file system. | |
− | 8. | + | 8. Compress the image file to create a file system; |
#gzip –v9 /tmp/loop_tmp >/tftpboot/ramdisk.gz | #gzip –v9 /tmp/loop_tmp >/tftpboot/ramdisk.gz | ||
− | + | or | |
+ | #gzip –v9 /tmp/loop_tmp | ||
− | + | (Approach two) | |
− | 1. | + | 1. Create a temporary mounting point for loop devices; |
#mkdir /mnt/loop | #mkdir /mnt/loop | ||
− | 2. | + | 2. Create a 15M temporary file; |
#dd if=/dev/zero of=/tmp/loop_tmp bs=1k count=15360 | #dd if=/dev/zero of=/tmp/loop_tmp bs=1k count=15360 | ||
− | 3. | + | 3. Format loop_tmp as ext2 file system; |
mke2fs –F –v –m 0 /tmp/loop_tmp | mke2fs –F –v –m 0 /tmp/loop_tmp | ||
− | 4. | + | 4. Mount the formatted temporary file; |
#munt –o loop /tmp/loop_tmp /mnt/loop | #munt –o loop /tmp/loop_tmp /mnt/loop | ||
− | 5. | + | 5. Copy all the required files to the temporary file by the command cp –af to create an image file; |
− | 6. | + | 6. Unmount the created image file; |
− | #umount /mnt/loop | + | #umount /mnt/loop |
− | 7. | + | 7. Compress the image file to create a file system; |
#gzip –v9 /tmp/loop_tmp | #gzip –v9 /tmp/loop_tmp |
Revision as of 03:09, 6 November 2012
How to create ramdisk under Linux
Q1: How to alter an existing Root File System?
Let’s assume there is a compressed file system named ramdisk.gz. We could realize alteration on it by the following steps:
1. Uncompress the file into an image file;
- cd ramdisk.gz
- gunzip ramdisk.gz
2. Mount the uncompressed image file to realize alteration;
- mkdir /mnt/loop
- mount –o loop ramdisk /mnt/loop
- cd /mnt/loop
Now the contents of the file system can be added, removed, or modified as required.
3. Unmount the image file;
- cd ramdisk
- umount /mnt/loop
4. Create a compressed file by using the altered file system;
- gzip –v9 ramdisk
Q2: How to create a new Root File System?
(Approach one)
1. Create a temporary mounting point for loop devices;
- mkdir /mnt/loop
2. Create a 15M temporary file;
- dd if=/dev/zero of=/tmp/loop_tmp bs=1k count=15360
The size of the temporary file could be changed by adjusting the value of the parameter count;
3. Associate device file with the temporary file;
- losetup /dev/loop0 /tmp/loop_tmp
If a message ‘ioctl:LOOP_SET_FD: device is busy’ appears, it indicates that the device /dev/loop0 is still associated with another file. Command losetup /dev/loop0 can be used to view the device, and remove it with parameter -d;
4. Format /dev/loop0 as ext2 file system;
- mke2fs –m 0 /dev/loop0
5. Mount the virtual disk on the mounting point /mnt/loop;
- mount –t ext2 /dev/loop0 /mnt/loop;
6. Copy all the required files to the virtual disk by the command cp -af;
7. Move from current directory /mnt/loop to another directory by the command cd, and then unmount the file system;
- cd /xx (xx means any directories except /mnt/loop)
- umount /mnt/loop
The file at /tmp/loop_tmp is the image of file system.
8. Compress the image file to create a file system;
- gzip –v9 /tmp/loop_tmp >/tftpboot/ramdisk.gz
or
- gzip –v9 /tmp/loop_tmp
(Approach two)
1. Create a temporary mounting point for loop devices;
- mkdir /mnt/loop
2. Create a 15M temporary file;
- dd if=/dev/zero of=/tmp/loop_tmp bs=1k count=15360
3. Format loop_tmp as ext2 file system;
mke2fs –F –v –m 0 /tmp/loop_tmp
4. Mount the formatted temporary file;
- munt –o loop /tmp/loop_tmp /mnt/loop
5. Copy all the required files to the temporary file by the command cp –af to create an image file;
6. Unmount the created image file;
- umount /mnt/loop
7. Compress the image file to create a file system;
- gzip –v9 /tmp/loop_tmp