DevKit8600 FAQ

From eLinux.org
Revision as of 03:22, 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; #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