|
| Kernel Options Needed to Build/Read initrd.gz files |
|
| RamDisk and Loop Howto Examples |
|
| Creating a Loop Device ( ramdisk ) |
- Use a variable size /dev/loop device when /dev/ram is too small
- First create an empty 8MB loopback device in memory
dd if=/dev/zero of=/tmp/initrd.img bs=1k count=8192
count=1024 --> 1MB device
count=4096 --> 4MB device
count=8192 --> 8MB device
count=16384 --> 16MB device
- Create a formattable loop device
losetup /dev/loop0 /tmp/initrd.img
- Format it as usual ( ext2, ext3, reiserfs, vfat etc )
mke2fs -b 1024 -j -m 1 -F /tmp/initrd.img 8192 ( ext3 )
- Mount the loopback device ( allows larger ramdisks )
insmod loop ( modprobe loop )
mount -t ext3 -o loop /tmp/file.img /mnt/loop
- Add/modify the contents as needed
rm -f /mnt/loop/lost+found
ls -la /mnt/loop
[ create/edit/delete the files ]
- Umount the loopback device
losetup -d /dev/loop0 ( not needed if was mountedw with: "mount -o loop" )
umount /mnt/loop
- Create initrd.gz
gzip -c -9 /tmp/file.img > /boot/initrd.gz
- Free up the memory
|
| Loop Howto Examples |
fedanken.demo.co.uk Loopback Root Filesystem HOWTO
mkdir /tmp/initrd
dd if=/dev/zero of=initrd.img bs=1k count=1024
mke2fs -i 1024 -b 1024 -m 5 -F -v initrd.img
mount initrd.img /tmp/initrd -t ext2 -o loop
cd /tmp/initrd
[create the files]
cd ..
umount /tmp/initrd
gzip -c -9 initrd.img > initrdgz.img
Linux-Universe.com loop
dd if=/dev/zero of=~/file-inird count=2500 bs=1024
losetup /dev/loop0 ~/file-inird
mke2fs /dev/loop0
mkdir ~/mnt
mount /dev/loop0 ~/mnt
cp -a initrd/* ~/mnt
umount ~/mnt
losetup -d /dev/loop0
|