I sunk many hours this weekend into experiments setting up a dual boot Linux system using the XFS filesystem. This will capture what I think I learned, in case anyone else is similarly tempted, or merely curious like me.
XFS is a high-performance journalling filesystem developed by Silicon Graphics - it is Open Source and GPL-licensed. It is one of the filesystem formats available in GParted. I was interested in it because of its 64-bit addressing capability, and (apparently) my irresistable impulse to push stuff until it breaks.
I want two Linux OS's bootable, mainly out of a strong belief in having a "Plan B" for all things on my computer. So, my main daily OS of choice is Kubuntu, and I'm presently running the Gutsy RC version (64-bit), and my backup system of choice is Elive, a very different Debian distribution, which is at 0.6.9 (unstable). I do have an indispensable Windows app, "The Master Genealogist" (a MS Visual FoxPro app), but that runs great in a VMWare Player machine on Kubuntu, so I don't need to boot Windows at all.
So, with my Maxtor IDE/PATA drive as /dev/hda, a WD SATA drive at /dev/sda, and 3 more WD SATA drives for data and whatnot, never mind an 8GB USB thumb drive, I was set to have some fun when I pulled out my GParted Live CD yesterday and commenced partitioning.
I'm going to describe the partitioning method that ultimately worked, and spare the reader and my fingers the several methods that did NOT work. In general, I will say that working with Grub and XFS has some real challenges, and those challenges are compounded when you are attempting to set up dual-boot capability.
The basic challenge is, to use the Grub bootloader, XFS requires that the "/boot" directory be on its own partition. It only needs to be 200MB in size, but it needs to be separated from "/". So, with some experience installing Kubuntu on SATA drives in the presence of an IDE drive in the system, I first pulled out my ancient Win 98 boot disk, and booted it up and FDISK'd the IDE drive, removing all partitions and "boot" flags, and leaving it a brainless spinning motor. With that done, I partitioned the first SATA drive into four partitions, "/", "/boot", "/home", and "swap". I set "/" and "/home" to be XFS format, and "/boot" to be ext3. Then I installed Kubuntu Gutsy RC (64-bit), using the Alternate Install CD, and guided the placement of mount points to my partitions, and directed that Grub place the bootloader on the MBR of that first SATA drive. Upon reboot ..... VOILA, Kubuntu Gutsy in all her glory!
Next, I partitioned the IDE drive into 4 similar partitions, and put my Elive Live CD into the CD ROM drive and let 'er rip. Again, I set "/" and "/home" to be XFS formatted, and "/boot" to be ext3. The installation proceeded without problems. I pointed the Grub bootloader to the root partition (not the MBR), as I wanted the Kubuntu Grub menu to be the one for the system.
The next challenge was to "connect" the newly-installed Elive system to the /boot/grub/menu.lst menu in the Kubuntu system. I will shorten the narrative -- I fell on my a$$. I put a lot of hours into trying to figure out why I could not get past Grub "Error 17 -- cannot boot the partition." I never did crack it. I think it probably can be done -- this article suggests as much:
http://www.mail-archive.com/bug-grub.../msg10770.html
But it's obviously very, very tricky, and I couldn't figure out the trick(s). With Sunday night approaching and me needing a functioning system, I backed off having my root filesystems formatted to XFS, and re-did the whole system, using reiserfs for both root filesystems, deleting the separate "/boot" partitions (which are only needed if you have the root filesystem formatted XFS), and left the "/home" filesystems (and a couple of my other drives) as XFS. With this approach, I was able to install both Kubuntu, with the Grub bootloader on the SATA drive where I wanted it, and Elive on the IDE drive, with its boot partition recognized in the Kubuntu boot menu, so I'm able to dual boot from a conventional Grub menu, as I wanted.
So, I'm running the Linux filesystems on reiserfs formatted partitions, but quite a bit of my data, including my two "/home" partitions, are on XFS formatted partitions, and I'm going to watch them to see if they are stable and reliable.
References:
http://oss.sgi.com/projects/xfs/
http://www.sgi.com/products/software/xfs/
http://www.debian-administration.org/articles/388
http://linux.wordpress.com/2006/09/2...it-default-fs/
http://linuxgazette.net/102/piszcz.html
http://linuxgazette.net/122/piszcz.html
EDIT: 16 OCT 2007
After contemplating my "lessons" from the first attempt, I gave it another shot today, and got dual-booting working perfectly, including a nice boot splash screen, with Kubuntu running on XFS (except for the little "/boot" partition which is ext3), and the Elive filesystem running on reiserfs, with a separate "/home" partition formatted XFS. Here's the setup that worked:
BIOS:
set the WD SATA drive as "first hard drive" in the boot sequence after CD/DVD drive
set the Maxtor IDE drive as "second" hdd
set the "boot" flag on the 6GB partition on the SATA drive, which became Kubuntu "/"
Partitions:
WD SATA drive (for Kubuntu 7.10)
6GB for "/", formatted XFS, boot flag on
0.25GB for "/boot", formatted ext3
balance of 143GB for "/home", formatted XFS
(0.5GB swap space is on a different SATA drive)
Maxtor IDE drive (for Elive 0.6.9)
5GB for "/", formatted reiserfs, no boot flag
0.5GB for swap
balance of 195GB for "/home", formatted XFS
Grub note:
To run a boot splash screen, you need to know that the "/boot" partition, which is mounted under the Kubuntu filesystem, is seen by grub as (hd0,1), which matches the "/boot" partition, but the path to the file does not include the "boot" directory. So, the splashimage path in the /boot/grub/menu.lst file is actually like this:
Works good -- now to make some "notes to self" so I can remember how I did it!
XFS is a high-performance journalling filesystem developed by Silicon Graphics - it is Open Source and GPL-licensed. It is one of the filesystem formats available in GParted. I was interested in it because of its 64-bit addressing capability, and (apparently) my irresistable impulse to push stuff until it breaks.
I want two Linux OS's bootable, mainly out of a strong belief in having a "Plan B" for all things on my computer. So, my main daily OS of choice is Kubuntu, and I'm presently running the Gutsy RC version (64-bit), and my backup system of choice is Elive, a very different Debian distribution, which is at 0.6.9 (unstable). I do have an indispensable Windows app, "The Master Genealogist" (a MS Visual FoxPro app), but that runs great in a VMWare Player machine on Kubuntu, so I don't need to boot Windows at all.
So, with my Maxtor IDE/PATA drive as /dev/hda, a WD SATA drive at /dev/sda, and 3 more WD SATA drives for data and whatnot, never mind an 8GB USB thumb drive, I was set to have some fun when I pulled out my GParted Live CD yesterday and commenced partitioning.
I'm going to describe the partitioning method that ultimately worked, and spare the reader and my fingers the several methods that did NOT work. In general, I will say that working with Grub and XFS has some real challenges, and those challenges are compounded when you are attempting to set up dual-boot capability.
The basic challenge is, to use the Grub bootloader, XFS requires that the "/boot" directory be on its own partition. It only needs to be 200MB in size, but it needs to be separated from "/". So, with some experience installing Kubuntu on SATA drives in the presence of an IDE drive in the system, I first pulled out my ancient Win 98 boot disk, and booted it up and FDISK'd the IDE drive, removing all partitions and "boot" flags, and leaving it a brainless spinning motor. With that done, I partitioned the first SATA drive into four partitions, "/", "/boot", "/home", and "swap". I set "/" and "/home" to be XFS format, and "/boot" to be ext3. Then I installed Kubuntu Gutsy RC (64-bit), using the Alternate Install CD, and guided the placement of mount points to my partitions, and directed that Grub place the bootloader on the MBR of that first SATA drive. Upon reboot ..... VOILA, Kubuntu Gutsy in all her glory!
Next, I partitioned the IDE drive into 4 similar partitions, and put my Elive Live CD into the CD ROM drive and let 'er rip. Again, I set "/" and "/home" to be XFS formatted, and "/boot" to be ext3. The installation proceeded without problems. I pointed the Grub bootloader to the root partition (not the MBR), as I wanted the Kubuntu Grub menu to be the one for the system.
The next challenge was to "connect" the newly-installed Elive system to the /boot/grub/menu.lst menu in the Kubuntu system. I will shorten the narrative -- I fell on my a$$. I put a lot of hours into trying to figure out why I could not get past Grub "Error 17 -- cannot boot the partition." I never did crack it. I think it probably can be done -- this article suggests as much:
http://www.mail-archive.com/bug-grub.../msg10770.html
But it's obviously very, very tricky, and I couldn't figure out the trick(s). With Sunday night approaching and me needing a functioning system, I backed off having my root filesystems formatted to XFS, and re-did the whole system, using reiserfs for both root filesystems, deleting the separate "/boot" partitions (which are only needed if you have the root filesystem formatted XFS), and left the "/home" filesystems (and a couple of my other drives) as XFS. With this approach, I was able to install both Kubuntu, with the Grub bootloader on the SATA drive where I wanted it, and Elive on the IDE drive, with its boot partition recognized in the Kubuntu boot menu, so I'm able to dual boot from a conventional Grub menu, as I wanted.
So, I'm running the Linux filesystems on reiserfs formatted partitions, but quite a bit of my data, including my two "/home" partitions, are on XFS formatted partitions, and I'm going to watch them to see if they are stable and reliable.
References:
http://oss.sgi.com/projects/xfs/
http://www.sgi.com/products/software/xfs/
http://www.debian-administration.org/articles/388
http://linux.wordpress.com/2006/09/2...it-default-fs/
http://linuxgazette.net/102/piszcz.html
http://linuxgazette.net/122/piszcz.html
EDIT: 16 OCT 2007
After contemplating my "lessons" from the first attempt, I gave it another shot today, and got dual-booting working perfectly, including a nice boot splash screen, with Kubuntu running on XFS (except for the little "/boot" partition which is ext3), and the Elive filesystem running on reiserfs, with a separate "/home" partition formatted XFS. Here's the setup that worked:
BIOS:
set the WD SATA drive as "first hard drive" in the boot sequence after CD/DVD drive
set the Maxtor IDE drive as "second" hdd
set the "boot" flag on the 6GB partition on the SATA drive, which became Kubuntu "/"
Partitions:
WD SATA drive (for Kubuntu 7.10)
6GB for "/", formatted XFS, boot flag on
0.25GB for "/boot", formatted ext3
balance of 143GB for "/home", formatted XFS
(0.5GB swap space is on a different SATA drive)
Maxtor IDE drive (for Elive 0.6.9)
5GB for "/", formatted reiserfs, no boot flag
0.5GB for swap
balance of 195GB for "/home", formatted XFS
Grub note:
To run a boot splash screen, you need to know that the "/boot" partition, which is mounted under the Kubuntu filesystem, is seen by grub as (hd0,1), which matches the "/boot" partition, but the path to the file does not include the "boot" directory. So, the splashimage path in the /boot/grub/menu.lst file is actually like this:
Code:
splashimage=(hd0,1)/grub/splashimages/myimage.xpm.gz
Comment