PPC: setup a netboot server and client

Support knowledgebase (olh_ppc_netboot)

Request:

netboot a ppc machine

Procedure:

Every power pc should be able to load the bootfile over the network via tftp.

It requires a bootpd to provide an IP address and some info which files to load and which server should be used.

The file /usr/sbin/bootpd handles that using /etc/bootptab That is a simple file which contains:

An entry could look like the following:

pear:hd=/:ha=0050e420f073:gw=10.10.0.8:ip=10.10.0.134:
see "man bootptab" for details, it logs requests to syslog, depending on the loglevel (-d N flag).
the hostname must be resolvable via /etc/hosts or DNS.

bootpd can be started via inetd.conf by the use of the command:

bootps dgram udp wait root /usr/sbin/bootpd bootpd -d 8 -c /tftpboot
Note that bootpd requires root privilegs, xinetd seems to have some problems with it.

Once the client knows the IP which should be used when it sends a query to the tftp server.
that is /usr/sbin/in.tftp and it is started also via inetd.conf:

tftp dgram udp wait root /usr/sbin/tcpd in.tftpd -s /tftpboot
tftp requires also root privilegs because it does a chroot.
see man in.tftpd

files to boot:

PowerMacs and RS/6000 machines have an OpenFirmware with a command line interpreter you can boot via network with:

oldworld:

boot enet root=/dev/.. console=...
newworld:
boot enet:0 root=/... 
Note that Macs from august 2000 and newer Macs have a "special" DCHP client implementation and can not load files from a bootp server.

chrp:

boot network root=/... console=...

in.tftpd can be found int n2/tftp.rpm
bootpd can be found in n2/nkita.rpm
tcpd (for inetd) can be found in n2/tcpd.rpm

The bootfiles can be found in linux/arch/ppc/boot/images/ starting with 2.4.5
Older kernels generate them in linux/arch/ppc/{,chrp,coff}boot/
You need a "make zImage" or "make zImage.initrd".
A ramdisk.image.gz must be either in linux/arch/ppc/{,chrp,coff}boot/ or linux/arch/ppc/boot/images/

yaboot can be used to load different kernels via the network. That works only on PowerMacs, it seems that the OF implementation in IBM RS/6000 machines can not access a special filename.

Put yaboot and yaboot.conf and the kernel/ramdisk into the /tftpboot folder.
the yaboot.conf should look like that:

default=71install
timeout=200

image=vmlinux
        label=71install
        initrd=ramdisk.image.gz
        append="root=/dev/sda8"

image=vmlinux-7.0
        label=70

Keywords: PPC, POWERPC, APPLE, IBM, NETBOOT, ENET

SDB-olh_ppc_netboot, Copyright SuSE Linux AG, Nürnberg, Germany - Version: 10. Jul 2001
SuSE Linux AG - Last generated: 01. Aug 2001 by olh (sdb_gen 1.40.0)