| PowerPC Support
Overview
The installation of PowerPC nodes Using LUI is similar to the installation of
non-PowerPC nodes, but there are a few notable differences.
Those differences will be outlined in these sections. It may be useful to refer
to the corresponding sections in the LUI documentatation for more information.
There is a problem installing a couple of SuSE rpms, so a workaround has
been provided in the clone script to enable rpm installation.
Because of the way LUI creates the common filesystem that the client's use
when they network boot, at this time the server must be the same architecture
as the clients.
More information on Linux PowerPC support can be found at the
IBM PowerPC Linux website.
Required Services
To install a PowerPC node you will need NFS (nfsserver is needed on the LUI
server), inetd, tftp, and a choice of dhcpd or bootp. To test, bootp was used. In the SuSE distribution, bootp can be found in the nkitb package. Sample
lines from the /etc/inetd.conf file to enable tftp and bootp are:
tftp dgram udp wait root /usr/sbin/tcpd in.tftpd -s /
bootps dgram udp wait root /usr/sbin/bootpd bootpd -c /
Export /usr and /tftpboot from you server in /etc/exports, such as:
/tftpboot (rw,no_root_squash)
/usr (ro,no_root_squash)
Neither syslinux nor pxe are used for PowerPC installation.
Choosing a Client Installation Method
Network booting a PowerPC machine is accomplished by setting boot parameters
of the machine, then powering the machine on, so pxe and etherboot are not
required. You could also
create boot diskettes , if desired.
You need to choose between tarball and rpm installation of your clients.
Sample scripts have been provided for both methods.
The other installation decision
to make is bootp vs. dhcp. With the SuSE distribution, dhcpd did not work,
so bootp was used. The PowerPC node was sucessfully booted from from a dhcpd
server on a RedHat node, however. Feel free to debug this and report your fix
to the mailing list.
Getting to PowerPC Configuration Menus
In order to set up the PowerPC to network boot for installation, the bootlist
and other parameters must be set through PowerPC configuration menus. There
are some differences in menus depending upon the microcode level of the
machine. Also, if you are using a serial connection for the console, the menus
will be in text, whereas if you are connected via graphics display, the menus
will have icons. Navigation on text menus is accomplished by selecting numbers,
whereas navigation on graphics displays is done by using arrow keys to select
icons and pressing enter when the correct icon is selected. Navigation
instructions will be given in here for graphical based menus.
To boot to either text or graphical menus:
- Power on a machine that is in a powered off state (or do a shutdown/reboot).
- When the machine beeps, it will begin to test various hardware components,
displaying either the words or icons representing the components. At this point,
press the number "1" key (not F1). Instead of booting, the machine will stop
in the System Management Services menus.
On many systems there is a fast path to the System Management Services (SMS)
menu. When the machine is powered off and the "OK" prompt appears in the
LED window, there is a service processor menu. This menu may have a selection
to get to the SMS menu.
MAC Address Collection
Navigation instructions will be given in here for graphical based menus.
- Boot to the SMS menu (see previous section). If you end up in the
Multiboot menu, you can get to the SMS menu selecting the "Exit" icon.
- From the SMS menu, select the "Config" icon.
- Under "Integrated Ethernet", copy down the hardware address shown after
"addr=".
- Also make note of the harddisk ids for the integrated SCSI harddrives,
since you may need them later for setting the boot list back to the harddrive.
They look like:
4512 MB Harddisk id, lun=4,0
Setting PowerPC Boot Parameters
To set the PowerPC for ethernet boot:
- After getting the MAC address id above, exit out of the Config menu, back to
the SMS menu.
- Select the Multiboot icon.
- (Optional)You can select the icon to set the boot sequence, select ethernet
by typing a 1 on the line next to that selection, select "Save" then Exit. If
you do this, you are not done, since a boot parameter "boot-file" must still
be set before booting.
- Exit to the "OK" prompt by selecting the "OK" icon.
- Find out the address of the internal PCI bus by typing "ls" at the OK
prompt. You will get a list of the hardware on the system. The PCI bus will
have an address that looks like:
/pci@fef00000
Also note the address of the ethernet and scsi devices indented below the
PCI address. They will look like:
/ethernet@c
/scsi@10
These addresses will be used further examples, but they are
likely to be different on another machine, so substitute the values you find.
- There are some environment variables set up in the microcode that you
can display by issuing:
printenv
If you set the boot sequence in the step above, and you issue:
printenv boot-device
the boot-device should be set to the ethernet device at the address you
found.
- If the boot device is not set to the ethernet address, issue a command
like:
setenv boot-device /pci@fef00000/ethernet@c
substituting the values you found for the PCI and ethernet addresses.
- Set the options to pass to the kernel as boot-file parameters:
- If you are using a serial console:
boot-file console=ttyS0,9600 root=/dev/nfs
- If you are not using a serial console:
boot-file root=/dev/nfs
If dhcp is used to boot the machine, the boot-file options can be placed
in the "append=" line in the dhcp stanza instead.
- To start the boot, type:
boot
Alternatively, you could leave the boot-device and boot-file as they are
and issue the boot all in one command:
boot /pci@fef00000/ethernet@10 console=ttyS0,9600 root=/dev/nfs
Since boot-file does not work on 170's, the longhand method will need to
be used on those machines.
If the longhand boot method is used, you can leave the boot sequence set to
the scsi you are installing and you won't need to reset the boot sequence
when the install is finished.
To set the PowerPC to boot from harddisk:
After the node is installed, the boot sequence must be set back to boot
from the harddisk you installed on.
- If you used the longhand boot method and left the boot sequence set to
the harddisk, you are all set.
- If your boot-device is set to ethernet, get back into the SMS menu, exit
to the OK prompt, set your boot-device to scsi, and unset your boot-file:
setenv boot-device /pci@fef00000/scsi@10/sd@4
setenv boot-file
Remember to substitute the values for your PCI, scsi and disk address above.
The "sd@4" address came from the "lun=4" for the harddisk address that was
found previously. If you have multiple hardddisks on your system, linux will
assign /dev/sda, dev/sdb, etc. in the order their addresses are found.
Machine and Resource Definition and Allocation
Machines and resources are defined and allocated the same for PowerPC machines
as for other architectures. The /boot file resource is not needed for
PowerPC installation, however.
Step-by-Step Installation
This is intended to be a quick cook book approach to getting the installation services started for a PowerPC installation.
- Begin on your server, assuming you have installed SuSE 7.1 PowerPC edition.
- Install the inetd RPM (e.g rpm -Uvh inetd*rpm, or use yast).
- Install the nfs rpm (nfsutils), create the /etc/export entries for LUI, and start nfsserver.
- Download LUI, install it using rpm -ivh {rpm file name} (LUI will install in /usr/local/lui-{version}, by default).
- Create the /tftpboot directory (if it does not exist).
- Install the nkitb rpm.
- Enable tftp and bootp in /etc/inetd.conf (see Required Services above).
- SuSE network setup is done using rc.config. When you create a client machine with mklimm, rc.config for the client will be automatically edited to use the ip address and hostname specified for the client. There are many other options specified in rc.config. If you want the same rc.config options for your client as on the LUI server (except for different ip and hostname), skip this step. If you want to change any of the rc.config settings for your client nodes, copy /etc/rc.config to /usr/local/lui-{version}/templates/suse.rc.config, and edit the suse.rc.config. If .../templates/suse.rc.config is found, LUI will use that one.
- Copy a boot kernel to tftpboot as zImage.ppc. You will need a different boot kernel for CHRP and POWER3 machines since CHRP is a 32 bit machine and POWER3 is 64 bit.
LUI provides a tool, mkluikernel, to build a suitable kernel for most users, it is in the samples directory. If you find the kernel created is not acceptable,
create your own using the .config file distributed with LUI as a starting point.
- LUI is set up for clients with serial links. If your clients have graphics
consoles attached instead, edit the templates/yaboot.conf file, setting:
append=""
- You are now ready to start running LUI commands to define servers, clients and resources. The most simple way to define your machines and resources is to try the graphical user interface to LUI, aka, 'glui'. Just enter 'glui' from the command line, and it's pretty straightforward from there. Remember to define a single server machine, one or more client machines, and a set of installation resources. A typical minimal installation will have a file system resource for root (/), a kernel resource, a kernel map resource, and a disk resource that describes the layout of the disk partition table. Define resource & machine groups to make the job easier.
Note that a -f option was added to the mklimr command for a file resource
to make a tarfile of the entire root filesystem. This still needs to be added
to the glui, so use the mklimr command for now.
There are sample scripts provided with LUI that show examples of the command line interface. Use sample.script.ppc.tarball as a guide for PowerPC tarball
installation. Use sample.script.ppc.rpm as a guide for PowerPC rpm installation.
Refer to sample.disktable4 for an example of how to create a disktable for a PowerPC machine. Note that there is a new format for ppcboot for PowerPC. See README.disk for documentation of the disktable formats.
- Once the server, client and resources are defined, and the resources allocated to the client, setup the network boot parameters on the PowerPC machine, and boot the node. (See Setting PowerPC Boot Parameters above.)
|