- Create and NFS-export two directories on the linux server
mkdir /nb-jaguar
mkdir /nb-jaguar-private
echo '/nb-jaguar ibook(insecure,rw,no_root_squash)' >> /etc/exports
echo '/nb-jaguar-private ibook(insecure,rw,no_root_squash)' >> /etc/exports
exportfs -a
- Mount the directories on a mac
mkdir /Volumes/nb-jag
mount master:/nb-jaguar /Volumes/nb-jag
mkdir /Volumes/nb-jag-priv
mount master:/nb-jaguar /Volumes/nb-jag-priv
- Copy the software from the install-cd (in this case a dmg of it)
The next step must be done as root, or the ownership of files will be wrong, and OSX will not boot!
Note that i have not gotten this to work. I am guessing
the HFS+ to XFS copy does not work particularly well. I need something
like nfswatch to figure this out
sudo attach MacOSX-install.dmg -nomount
mkdir /Volumes/osxinst
mount_hfs /Volumes/osxinst /Volumes/osxinst
cd /Volumes/osxinst
tar cf - ._* * | (cd ../nb-jaguar ; tar xf -)
- Get dhcp-2.0pl5 and patch it with the Ridell patch
wget http://frank.gwc.org.uk/~ali/nb/dhcp-2.0+macnb.0.1.diff
wget ftp://ftp.isc.org/isc/dhcp/dhcp-2.0pl5.tar.gz
tar xvzf dhcpd-2.0pl5.tar.gz
cd dhcpd-2.0pl5
patch -p1 < ../dhcp-2.0+macnb.0.1.diff
./configure
make
make install
There will be compilation errors in the dhcp client, but don't worry about
those.
- Configure dhcp and test it
My dhcpd.conf:
#Standard dhcpd options
default-lease-time 600;
max-lease-time 7200;
option subnet-mask 255.255.255.0;
option broadcast-address 192.168.1.255;
option routers 192.168.1.1;
#You should obviously change these two
option domain-name "nowhere.se";
option domain-name-servers 195.54.122.200, 195.54.122.204;
allow bootp;
not authoritative;
# the subnet from which dhcp requests will come
subnet 192.168.1.0 netmask 255.255.255.0 {
# the host we want to boot
host foo-001 {
hardware ethernet 00:03:93:93:54:18;
fixed-address 192.168.1.2;
# the boot file
filename "BootX";
# servers to get other files from
server-name "192.168.1.1";
# don't know if this one is absolutely necessary
next-server 192.168.1.1;
option mac-version 0:0:0:0;
# the rest i just borrowed from Michael Egan's cgi form. I don't
# think it is important since OSX uses rpc.bootparamd to get the
# information it needs
#Username uused to authenticate against the AFP/IP Server
option mac-user-name "Mac NC #1";
# with specialized settings for this client's booting hard disk.
option mac-machine-name "Mac NC #1";
#Password for use with the Usernaame above when authenticating against
# AFP/IP server for 3 images in 234, 235, and 238
option mac-password "PassWooD";
#Used to grab initial BOOT HD Image from server over AFP/IP for mounting
option mac-nb-img c0:a8:1:2:2:24:8:4D:4F:53:39:5F:4E:42:53:0:0:0:0:2:1b:53:68:61:72:65:64:49:6D:61:67:65:73:0:4E:65:74:42:6F:6F:74:20:48:44:2E:69:6D:67;
#Used to grab Applications HD Image from server over AFP/IP for mounting
option mac-apps-img c0:a8:1:2:2:24:8:4D:4F:53:39:5F:4E:42:53:0:0:0:0:2:20:53:68:61:72:65:64:49:6D:61:67:65:73:0:41:70:70:6C:69:63:61:74:69:6F:6E:73:20:48:44:2E:69:6D:67;
#Used to grab Special Client HD Image from server over AFP/IP for
# mounting
option mac-client-nb-img c0:a8:1:2:2:24:8:4D:4F:53:39:5F:4E:42:53:0:0:0:0:2:27:43:6C:69:65:6E:74:49:6D:61:67:65:73:0:4D:61:63:20:4E:43:20:23:31:0:4E:65:74:42:6F:6F:74:20:48:44:2E:69:6D:67:5F:73;
}
}
Start the dhcp server, dhcpd -d eth0
If you plug the mac in now and tell it to use dhcp through Network
Preferences, it should get an ip from this dhcp server
- Configure tftpd. Hint: /etc/services, /etc/inetd.conf and /etc/hosts.allow
Assume you tell tftpd to use /tftproot as its directory:
cp /nb-jaguar/System/Library/CoreServices/BootX /tftproot
cp /nb-jaguar/mach_kernel /tftproot/mach.macosx
cp /nb-jabuar/System/Library/Extensions.mkext /tftproot/mach.macosx.mkext
Now test that tftp works by doing (on the mac)
cd /tmp
tftp 192.168.1.1
tftp> get BootX
- Configure bootparams:
# This is my /etc/bootprams
ibook root=192.168.1.1:/nb-jaguar private=192.168.1.1:/nb-jaguar-private
- Make sure rpc.bootparamd, dhcpd and the nfs daemons are running, and
preferrably start a tcpdump on the interface for 192.168.1.1, it's time to
netboot "ibook"
- Boot the mac. Immediately after the chime, press and hold the N key
until you see the square with the animated globe.
- ...