DevKit8600 FAQ

From eLinux.org
Revision as of 03:27, 6 November 2012 by Timll (talk | contribs)
Jump to: navigation, search

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; <nowiki>#mkdir /mnt/loop #mount –o loop ramdisk /mnt/loop</nowiki> #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)

  1. 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;

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

or

  1. 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