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).
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 /tftpbootNote 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 /tftpboottftp requires also root privilegs because it does a chroot.
files to boot:
vmlinux.coff
old pmacs can only handle coff
yaboot
new worlds can load the yaboot bootloader which loads its config
from the same place
vmlinux.pmac-elf
that is the plain kernel which is bootable without yaboot
yaboot can not boot that file.
zImage.rpep
that contains the bootloader and the kernel in one binary
there is a small bootloader that asks you for kernel args
zImage.chrp{,-rs6k}
thats a compressed vmlinux, IBM RS/6000 machine need
the addnote
utility which tweaks the elf file
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