[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Updated installer images



Hi,

On 09/12/2017 09:29 AM, Christoph Biedl wrote:
[...]
I believe the Debian Wheezy installation manual gives hints about how to
configure DHCP and TFTP servers for netboot, see e.g. [1].

[1]: https://www.debian.org/releases/wheezy/powerpc/ch04s05.html.en

While I think I managed that step, just a note: I cannot find the
mentioned tftpboot.img listed anywhere in
<http://http.us.debian.org/debian/dists/wheezy/main/installer-powerpc/current/images/MANIFEST>
The important bit is to ship the yaboot file AFAICT.

It looks like the mentioned documentation is indeed wrong in this regard, maybe it was copied from another architecture and not adapted in full. But at the bottom the relevant files are listed and these are available (e.g from [1]).

[1]: http://http.us.debian.org/debian/dists/wheezy/main/installer-powerpc/current/images/powerpc64/netboot/


[...]
* After a lot of trickery, the installer's vmlinux now gets loaded. At a
   whopping 6 kbyte/sec (yes: six kilobytes). Just to remind you, kernel
   and initrd take some 35 megabytes, and the G5 has already turned to
   airplane mode. My neighbors will love me.

I don't see that slow loading of kernel and initrd you describe on my
POWER5, but haven't yet tested this on my G5 Cluster Node.

This is a PowerMac G5 Dual Core (11,2).

I checked this now also for my Xserve G5 and my recently purchased Power Macintosh G5 (also of type 11,2) with the adapted FS used for my POWER5 system and I measured the time for downloading kernel and initrd. Size devided by this time results in about 650 KiB/s. Definitely slower than what is possible on my home network, but a hundred times faster than in your case. I'm using the ISC DHCP server and HPA's TFTP server on a Raspberry Pi 1 B. Maybe you have a problem in your network configuration.

[...]
After another long night where I was supposed to sleep I assume the core
reason for the nightmare is the TFTP client, and I'm not sure whether
this is yaboot or the OpenFirmware - I haven't studied the architecture
of yaboot yet.

In either way, not only TFTP is horribly slow, but also any provided
filename to download is ignored.

Except for the slow TFTP downloading, this is also correct for my case, but I assume this is due to Apple's proprietary network booting "features" (NetBoot, BSDP). You can either provide the name of the file to boot in the boot command (e.g. `boot enet:0,<FILE>`) or use a specific DHCP/BOOTP configuration (it's then sufficient to use `boot enet:0`). For the ISC DHCP server I use the following config:

```
[...]
class "AppleNBI-ppc" {
        match hardware;
match if substring (option vendor-class-identifier, 0, 13) = "AAPLBSDPC/ppc";
        option dhcp-parameter-request-list 1,3,6,12,15,17,43,53,54,60;

        option vendor-class-identifier "AAPLBSDPC";

        if (option dhcp-message-type = 1) {
                option vendor-encapsulated-options 08:04:81:00:00:09;
        }
        elsif (option dhcp-message-type = 8) {
option vendor-encapsulated-options 01:01:02:08:04:81:00:00:09;
        }
        else {
                option vendor-encapsulated-options 00:01:02:03:04:05:06:07;
        }
}
subclass "AppleNBI-ppc" 1:00:14:51:11:22:33 {
        filename "/AC100264";
}
[...]
host powermac-g5 {
        fixed-address powermac-g5.domain.tld;
        hardware ethernet 00:14:51:11:22:33;
        option root-path "/srv/nfs/powermac-g5/root";
        next-server nfs4.domain.tld;
        option host-name "powermac-g5";
}
```

The subclassing is important, as the Power Macs don't seem to accept the filename if provided in the host definition (only), though the IP address from there is accepted. The rest of the information in the host part is still needed by the automatic IP address configuration of kernel or initrd. You can have a subclass part for each Power Mac or Ethernet MAC address you want to use.

Usually I have separate machines for DHCP, DNS and TFTP, NFS, but up until now I couldn't get my Power Macs to download the boot loader from another server than the one that answers the BOOTP requests. Hence I have an additional TFTP server running on the Raspberry Pi which serves yaboot, its configuration file*, the kernel and the initrd.

*) In contrast to POWER5 systems where yaboot configuration files are expected below `/etc` on the TFTP server, yaboot on Power Macs seems to expect its configuration files in the root level of the directory served by the TFTP server or at the same level from where it was downloaded.

[...]
* Configure the DHCP server so it tells the G5 to download the yaboot
   file. If it's in the TFTP server's root, basically 'filename "yaboot";'
   in dhcpd.conf does the trick. (The yaboot file is in the install/
   directory of the CD image.)

How did you manage that? I needed the above Apple specific config and the subclassing to make the boot loader file configurable from the DHCP server. What DHCP server and configuration did you use?

[...]
* Trigger netboot by "boot enet:" (or "enet0:"?)

According to [2], `boot enet:` was used before Open Firmware 3 and `boot enet:0` since Open Firmware 3. But I assume the first will also work in Open Firmware 3.

[2]: https://www.netbsd.org/docs/network/netboot/intro.macppc.html

   Gotchas: If the OpenFirmware complains about a missing (ethernet)
   link, put an el-cheapo ethernet switch between your G5 and the actual
switch.

This sounds like a delay due to Spanning Tree Protocol.

Cheers,
Frank


Reply to: