2009-03-04

Boot SUSE Linux on POWER

Booting SUSE Linux On IBM POWER

SUSE has automated necessary configuration step to LILO for PPC. Here is the information how it works.

The firmware of IBM POWER, which is named OPENFIRMWARE, will look for the boot device according to a bootlist. The bootlist could be changed from the Linux. OPENFIRMWARE could be configured either to look for a PREP partition of SCSI disks, or a bootable file on the 1st primary partition which could be formatted as FAT16. SUSE uses the 2nd way to do the booting.

Steps LILO performs,
Create the partition, and formatted to FAT16. The partition should be the 1st partition of the disk.
Create a yaboot.cnf according to /etc/lilo.conf.
Copy "yaboot", "yaboot.cnf", kernel image and initrd to this partion.
Modify bootlist of the FIRMWARE to look for file "yaboot" instead of the whole partition.

+++++++
+ sda1 + <--- The boot partion, FAT16.
+++++++
+ sda2 + <--- Other partition or partitions
+++++++

Below is an example of how the system is configured,

/*+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

# fdisk -l /dev/sda

Disk /dev/sda: 214.7 GB, 214748364800 bytes
255 heads, 63 sectors/track, 26108 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes

Device Boot Start End Blocks Id System
/dev/sda1 * 1 4 32098+ 6 FAT16
/dev/sda2 5 19264 154705950 fd Linux raid autodetect
/dev/sda3 19265 20439 9438187+ fd Linux raid autodetect
#
# mount /dev/sda1 /mnt/sda1
# ls /mnt/sda1
initrd.001 initrd.002 ppc vmlinux.001 vmlinux.002 yaboot yaboot.cnf
#
# show_of_path.sh /dev/sda
/vdevice/v-scsi@3000001a/disk@8100000000000000
# show_of_path.sh /dev/sdb
/vdevice/v-scsi@3000002e/disk@8100000000000000
#
# bootlist -m normal -r
/vdevice/v-scsi@3000001a/disk@8100000000000000:1,yaboot
/vdevice/v-scsi@3000002e/disk@8100000000000000:1,yaboot
/vdevice/l-lan@3000000b:speed=auto,duplex=auto,000.000.000.000,,000.000.000.000,000.000.000.000,5,5,000.000.000.000,512
#

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/

The manpage of "show_of_path.sh" and "bootlist" will tell more information about these two commands.

Because LILO for PPC will handle all these works, all an adminsitrator need do is to modify the /etc/lilo.conf to reflect the right boot partition and kernel name, and run /sbin/lilo to update the change to boot partition. The only exception is when you have multiple booting partition. There is an entry in /etc/lilo.conf, named "boot = xxxx", which will be used by LILO to decide which partition to update. Like the case above, there are two boot partition, sda1 and sdb1, so administrator should run lilo twice with boot=sda1 and boot=sdb1 seperately.


Reference:

1. http://www.ibm.com/developerworks/systems/library/es-conf-swraid/
2. Chapter 9 and 13 of http://www.linux.org/docs/ldp/howto/IBM7248-HOWTO/index.html
3. http://www.ibm.com/developerworks/systems/library/es-SW_RAID_LINUX.html

No comments: