Dave,
Here is how I changed my XBMC 8.10 Live installed to HDD from booting with syslinux to booting with grub. Let me know if there are any mistakes, or parts that need clarification. All feedbacks are welcome.
1) Install XBMC 8.10 Live to the sacrificial HDD. Boot from that HDD and make sure X is working and XBMC loads.
2) Use Gparted from your Mythbuntu installation to create an ext3 partition on the HDD that will ultimately boot XBMC. Enable the boot flag for that
partition. Format the partition, and label it "XBMC."
3) Mount the XBMC partition with the following commands:
sudo mkdir /media/XBMC
sudo mount -t ext3 /dev/disk/by-label/XBMC /media/XBMC
4) Copy the /boot directory from your Mythbuntu installation to the XBMC partition using the following commands:
sudo cp -rp /boot /media/XBMC
This will copy a lot of extra kernels and initrds which can be deleted with the following command:
sudo rm -f /media/XBMC/boot/*generic
5) Enter the grub shell using the following command:
sudo grub
6) Find the grub files using the following command:
find /boot/grub/stage1
You should see at least 2 locations, one from your Mythbuntu installation, and another from the /boot/grub directory we copied to the XBMC partition in step 4.
7) Install grub using the following commands:
root (hdx,y)
setup (hdx)
where x and y are from the result of step 6.
8) Exit the grub shell using the following command:
quit
9) Boot off the XBMC 8.10 Live installed to the sacrificial HDD, with the HDD containing the XBMC partition we prepared in the previous steps attached.
10) Mount the XBMC partition using the following commands:
sudo mkdir /media/XBMC
sudo mount -t ext3 /dev/disk/by-label/XBMC /media/XBMC
11) Find the vfat partition containing the XBMC install with the following command:
mount
Look for the vfat partition and note its mount point.
12) Mount rootfs.img from the above vfat partition, and copy its contents to the XBMC partition using the following commands:
sudo mkdir /media/rootfs
sudo mount -o loop /media/xxxx/rootfs.img /media/rootfs
sudo cp -rp /media/rootfs/* /media/XBMC
where xxxx is the vfat partition from step 11.
13) Mount ext3fs.img from the above vfat partition, and copy its contents to the XBMC partition using the following commands:
sudo mkdir /media/ext3fs
sudo mount -o loop /media/xxxx/ext3fs.img /media/ext3fs
sudo cp -rp /media/ext3fs/* /media/XBMC
where xxxx is the vfat partition from step 11.
14) Mount the restricted driver image of your choice (nvidia for me) from the above vfat partition, and copy its contents to the XBMC partition using the following commands:
sudo mkdir /media/nvidia
sudo mount -o loop /media/xxxx/restrictedDrivers.nvidia.img /media/nvidia
sudo cp -rp /media/nvidia/* /media/XBMC
where xxxx is the vfat partition from step 11.
15) Copy /home to the XBMC partition using the following command:
sudo cp -rp /home /media/XBMC
16) Copy the kernel and initrd to the XBMC partition using the following commands:
sudo cp /media/xxxx/initrd0.img /media/XBMC/boot/initrd.img-2.6.24-19-generic
sudo cp /media/xxxx/vmlinuz /media/XBMC/boot/vmlinuz-2.6.24-19-generic
where xxxx is the vfat partition from step 11.
17) Edit /etc/fstab in the XBMC partition using the following commands:
sudo vi /media/XBMC/etc/fstab
Delete the entry for your /home and replace
unionfs / unionfs defaults 0 0
With
LABEL=XBMC / ext3 relatime,errors=remount-ro 0 1
18) Open syslinux.cfg from the vfat partition using the following command:
more /media/xxxx/syslinux.cfg
where xxxx is the vfat partition from step 11.
19) Edit /boot/grub/menu.lst in the XBMC partition using the following commands:
sudo vi /media/XBMC/boot/grub/menu.lst
For example the #nVidia option in syslinux.cfg
# nVidia
label 1
kernel vmlinuz
append root=/dev/sda1 initrd=initrd0.img boot=disk quiet splash xbmc=nvidia
becomes the following in grub
title XBMC
root (hd0,0)
kernel /vmlinuz root=LABEL=XBMC ro quiet splash xbmc=nvidia
initrd /initrd.img
boot
I also added the following for debugging:
title XBMC (debug)
root (hd0,0)
kernel /vmlinuz root=LABEL=XBMC ro debugging
initrd /initrd.img
boot
Delete all the other entries except for memtest86+. This may come in handy some day.
20) Shutdown XBMC and disconnect the sacrificial HDD. Boot using the new XBMC partition.