Patch needed for dhcp3-server for booting powerpc

Bill Moseley moseley at hank.org
Wed Nov 7 04:30:58 GMT 2007


[Sorry about these long posts -- they are not so long if you consider the
number of hours involved...]

On Tue, Nov 06, 2007 at 01:07:08PM -0800, Bill Moseley wrote:
> Maybe the patch didn't apply so cleanly after all.

Goggle sometimes finds old things you don't want.

Using the following page I was able to finally get the client to
pull files via TFTP without patching dhcpd.

    http://www.afp548.com/article.php?story=20061220102102611

I'll include my current dhcpd.conf below.

The client now loads via TFTP:

    /ltsp/powerpc/yaboot,
    /ltps/powerpc/yaboot.conf
    /ltsp/powerpc/vmlinux
    /ltsp/powerpc.initrd.img

but, (and there's always a but) it then hangs.  I edited yaboot.conf and
removed the "quiet splash" options and was able to see this:

    Begin: Running /scripts/init-bottom ...
    Done.
    [  ]  request_module: runaway loop modpropbe binfmt-4c46
    [  ]  request_module: runaway loop modpropbe binfmt-4c46
    [  ]  request_module: runaway loop modpropbe binfmt-4c46
    [  ]  request_module: runaway loop modpropbe binfmt-4c46
    [  ]  request_module: runaway loop modpropbe binfmt-4c46

Goggling once again:

    http://lists.arm.linux.org.uk/pipermail/linux-arm/2003-April/005185.html

    Modprobe and insmod MUST be executable without loading any
    modules. Your modprobe is in ELF format but ELF is not linked into
    the kernel (wants to load binfmt-4c46).

    You MUST have at least ELF or a.out linked in the kernel (not
    modules) and modprobe MUST be in that format. Since a.out is
    obsolete reconfigure the kernel to link in ELF support.

Well, I'm booting on the same iBook I used to create the thin client
environment.

Hum, shooting in the dark once again:

    $ fgrep ELF /var/lib/tftpboot/ltsp/powerpc/config-2.6.22-14-powerpc
    CONFIG_BINFMT_ELF=y
    # CONFIG_DEBUG_LOCKING_API_SELFTESTS is not set
    CONFIG_ELF_CORE=y

Seems to be compiled in.

    ~$ file /opt/ltsp/powerpc/sbin/insmod 
    /opt/ltsp/powerpc/sbin/insmod: ELF 32-bit MSB executable, PowerPC or cisco 4500, version 1 (SYSV), for GNU/Linux 2.6.8, dynamically linked (uses shared libs), stripped

    $ file /opt/ltsp/powerpc/sbin/modprobe
    /opt/ltsp/powerpc/sbin/modprobe: ELF 32-bit MSB executable, PowerPC or cisco 4500, version 1 (SYSV), for GNU/Linux 2.6.8, dynamically linked (uses shared libs), stripped

I sure hope someone can offer a clue.


So close I can *taste* it.



-- 
Bill Moseley
moseley at hank.org




ddns-updates off;           # Don't attempt to do any DNS updates (default is on)
ignore client-updates;      # Default is to allow
authoritative;

# Deal with broken mac clients.
option option-128 code 128 = string;
option option-129 code 129 = text;
option dhcp-parameter-request-list 1,3,6,15,17,43,44,46,60;

# Define a class for Apple Powerpc
# http://www.afp548.com/article.php?story=20061220102102611

class "AppleNBI-ppc" {
    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;

    # The Apple Boot Loader binary image. This file will in turn TFTP the
    # kernel image and extension cache.
    filename "/ltsp/powerpc/yaboot";


    option vendor-class-identifier "AAPLBSDPC";  # now sure what this does

    if (option dhcp-message-type = 1) {     # DHCP Discover
        option vendor-encapsulated-options 08:04:81:00:00:09;
    }

    elsif (option dhcp-message-type = 8) {  # DHCP Inform
        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;
    }


    option root-path "192.168.0.254:/opt/ltsp/powerpc";
}


class "PC-i386" {
    match if substring( option vendor-class-identifier, 0, 9 ) = "PXEClient";

    filename "/ltsp/i386/pxelinux.0";
}




subnet 192.168.0.0 netmask 255.255.255.0 {
    range 192.168.0.20 192.168.0.250;
    option broadcast-address 192.168.0.255;
    option subnet-mask 255.255.255.0;


    # LAN config
    option domain-name "hank.org";
    option domain-name-servers 192.168.1.1;
    option routers 192.168.0.254;

}





More information about the edubuntu-users mailing list