saxonww n00b
Joined: 28 Oct 2008 Posts: 1
|
Posted: Tue Oct 28, 2008 4:51 am Post subject: Trying to boot xfs with external log |
|
|
I'm trying to boot from an XFS filesystem residing on a compactflash card. I've located the xfs log on a separate device. I believe that it's not possible to use any filesystem as a root filesystem if it uses an external log device, so I am trying to set up an initrd using mkinitrd.
My boot partition is /dev/sda1, and my desired root partition is /dev/sda2. The log device is /dev/sdb2 and I would typically mount /dev/sda2 like this:
Code: | mount -o logdev=/dev/sdb2 /dev/sda2 /mountpoint |
This works if I boot using a livecd and test it by hand.
I created a stripped down fstab with the desired mount options (logdev=/dev/sdb2,noatime) for / and created an initrd using mkinitrd:
Code: | mkinitrd --fstab=/path/to/fstab /boot/initrd.gz 2.6.27-gentoo-r1 |
This created the initrd.gz file as expected. I am using extlinux as my bootloader, so I set up the extlinux.cfg to append 'initrd=/boot/initrd.gz root=/dev/ram0' to the boot parameters.
If I boot with this configuration, I see that the initrd is loaded as expected. However, I get a kernel panic when the boot process tries to mount the root device. I get output similiar to this:
Code: | RAMDISK: Compressed image found at block 0
UDF-fs: no VRS found
List of all partitions:
0800 2000880 sda driver: sd
0801 20128 sda1
0802 1980720 sda2
0810 244198584 sdb driver: sd
0811 ### sdb1
0812 ### sdb2
0813 ### sdb3
0814 ### sdb4
No filesystem could mount root, tried: reiserfs ext2 msdos vfat iso9660 udf xfs
kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(8,2) |
I've tried swapping /dev/ram0 with /dev/ram and also /dev/sda2, with practically identical results.
I see if i peek inside the initrd image that there should be some status messages echoed to the screen. None are. It kind of looks like the initrd init script is not even being run.
I selected CONFIG_BLK_DEV_INITRD and CONFIG_BLK_DEV_RAM, so I believe i have the proper kernel support for this. I also have the filesystem drivers listed above all compiled into the kernel. My initrd image does not load any modules at all. It's sole purpose is to mount the xfs root filesystem using the external log device.
Does anyone know what I have missed or how to make this work? I don't care if I have to do this a completely different way, the goal is just to boot and use a journaled root filesystem with an external log/journal, since I'm using a small compact flash card and do not want to have the journal on there. I've tried just using ext2 and it works great, until the machine locks up and the filesystem gets trashed. |
|