Jump to content
5 posts in this topic

Recommended Posts

I used parted to partition the disk (1 = EFI, 2 = OS X, 3 = Linux, 4 = Linux swap), then installed the

MacBook firmware update. I proceeded to install Suse 10 on my MacBook without any problems, except for installing a boot loader. The install of grub complained about not being able to find the partition (hd0,2). So I decided to try and use lilo. I booted off the CD in rescue mode and constructed this /etc/lilo.conf file:

 

boot=/dev/sda3

ignore-table

prompt

timeout=50

default=Linux

lba32

 

image=/boot/vmlinuz

label=Linux

read-only

root=/dev/sda3

initrd=/boot/initrd

vga=ask

append="selinux=0 resume=/dev/sda4 splash=verbose showopts"

 

Running /sbin/lilo gave some complaints:

Warning: partition 3 on /dev/sda is not marked Active.

Warning: partition type 0x00 on device 0x0803 is a dangerous place for a boot sector.

 

I assume this is because I only have a GPT, with the compatibility MBR containing single GPT partition.

 

Rebooting using rEFIt 0.6 shows both the OS X and Linux paritions as boot candidates, but when

I select Linux, the screen briefly flashes and then says:

 

No bootable device -- insert boot disk and press any key.

 

At that point the text cursor flashes rapidly, but the system does nothing if any keys are pressed. Have to power off to regain control.

 

Any hints to getting either grub or lilo to work?

LILO and GRUB both only know about the MBR partition table. From the messages it appears you only have a GPT partition table on the disk. I'm afraid the only tool that can create the required hybrid MBR/GPT format is diskutil in Mac OS X. In your case, the procedure would look like this:

  • Partition the hard disk with a single HFS+ partition.
  • Install Mac OS X in that partition and update it to 10.4.6.
  • Run diskutil to shrink the HFS+ partiton and create the Linux partitions.
  • Install Linux.

If you want to install just Mac OS X and Linux, not Windows, you can put LILO in the MBR (boot=/dev/sda). Otherwise, you'll need to put some standard chainloading code in the MBR that loads the boot sector of the active partition. (Windows does this automatically, but since most modern Linux distros just install GRUB in the MBR by default, that has been neglected a bit in the Linux camp.)

I managed to get the MBR partitions created using sfdisk like so:

 

sfdisk -d /dev/sda > sda.orig

cp sda.orig sda.new

vi sda.new # edit the table to match the sector start/length printed by parted

sfdisk -f /dev/sda < sda.new

 

Then rEFIt will start lilo either in the MBR of sda or in the first block of sda3. The Suse 10 install

is continuing, but in text mode at the moment.

×
×
  • Create New...