Okay, there was a problem, the boot loader (yaboot) that gets shipped with OpenSUSE isn’t complete. So, I had to download the latest yaboot from http://penguinppc.org/bootloaders/yaboot/ and compile it on my new OpenSUSE system.
Installing and configuring yaboot is very easy, and all I had to do to dual-boot my GNU/Linux and Mac OS X is to add the following lines (there are many lines in my yaboot.conf, I’m not posting all of them here):
image=/boot/vmlinux
root=/dev/hda4
label=Linux
read-only
## Dual boot with Mac OS X
macosx=hd:6
since my pdisk -l /dev/hda displays something like:
4: Apple_UNIX_SVR2 'root ' 30468751 @ 1984441 ( 14.5G)
6: Apple_HFS 'Apple_HFS_Untitled_3' 41847984 @ 36317360 ( 20.0G)
I tried to boot the new system, it failed - hey wait, I didn’t have XFS support built into my kernel, but my root partition is of type XFS.
Damn! Okay, I placed the OpenSUSE boot CD and booted into my root partition, recompiled a new kernel with XFS support and tried booting again!
This time, I got a different error from yaboot (Read failed). Digging through groups revealed that my kernel image might have holes in it that’s causing yaboot to fail.
I checked with “xfs_bmap /boot/vmlinux”, yes indeed there was a hole. I fixed it by removing the file and re-copying it using “cat /usr/src/linux/vmlinux >/boot/vmlinux” and re-confirmed that my kernel image is perfect now.
I tried again to boot my new GNU/Linux system, and voila! it worked!
technorati tags: opensuse, boot, linux
RSS Feed