Subject: Re: XServe autoboot explained
To: Emmanuel Dreyfus <manu@netbsd.org>
From: Bill Studenmund <wrstuden@netbsd.org>
List: port-macppc
Date: 07/17/2003 10:50:14
On Thu, 17 Jul 2003, Emmanuel Dreyfus wrote:

> Hello everybody
>
> Apple's XServe runs NetBSD quite well. There are a few caveats that are not
> covered by our documentation:
>
> - In order to get default I/O to the serial console, remove the video board.
>
> - Serial console runs at 56.7k in OF, not 38.4k. The install kernel runs with
> a 38.4k serial console, therefore we must change the serial console settings
> after booting from OF and before running sysinst.
>
> GENERIC kernel seems to run the console at OF speed, that is, 56.7k.
>
> - It's quite tricky to get the machine to auto-boot. Matt Thomas gave me
> some tricks I was not able to find in the documentation. Maybe this applies to
> more OF3 machines than just the XServe:

Note: This will also DESTROY ANY HFS PARTITIONING!!!

It's fine to do, just this change needs to be made BLINDINGLY CLEAR. :-)

> 1) install NetBSD, keeping an unused 2880 blocks partition at offset 0. Give
> that partition letter d, g, or whatever, but not a.
>
> 2) Create an ISO image with just ofwboot.xcf:
> # mkisofs -o isoboot.fs ofwboot.xcf
> Note that vnconfig seems unable to configure to use that image (too small),
> so you won't be able to check if the image is okay from NetBSD. Is it a bug?
>
> 3) backup your disklabel
> # disklabel wd0 > disklabel.wd0
>
> 4) copy the ISO image to partition zero (let's say you named it g)
> # dd if=isoboot.iso of=/dev/wd0g
>
> 5) Doing point 4, you just erased wd0's disklabel. If you reboot now,
> you'll have to reinstall NetBSD from scratch (except if you saved your
> disklabel on another disk).  Reinstall the disklabel, using the backup
> you just made as the template:
> # disklabel -I -e wd0
>
> Label partition zero (we said it was g) as ISO9660, because this is what
> it is now. The disklabel gets reinstalled over the ISO image, but
> it seems to be okay: the image does not get corrupted (I assume things
> are set up so that it's safe)
>
> 6) Reboot. In OF, You can check that the ISO image is okay:
> > dir hd:\
>
> You should see the ISO image content. I don't know why, but on my image,
> the file turned to be OFWBOOT.XCF;1
>
> On the XServe, first hard disk is hd, change this according to your OF
> devalias.
>
>
> 7) Set the boot-device
> > setenv boot-device hd:\OFWBOOT.XCF;1
> Of course, OFWBOOT.XCF;1 is the name you got from dir hd:\ The ;1 here
> is not a magic OF trick, it's part of the file name.
>
> 8) Set the boot-file
> > setenv boot-file hd:0
> This is used by ofwboot.xcf. I assume the 0 here stands for first partition
> in the disklabel (ie: partition a), but I'm not sure.
>
> 9) Set the boot-command
> > setenv boot-command boot netbsd
> You can also set boot-file to hd:0,/netbsd and boot-command to just boot,
> the result is the same.
>
> 10) Set auto-boot
> > setenv auto-boot? true
>
> 11) You are done, rest the beast and look it auto-booting:
> > reset-all
>
> Last question: you do we stop the machine from auto-booting when using the
> serial console? Do we need to attach a keyboard and press cmd-opt-O-F?
>
> --
> Emmanuel Dreyfus
> manu@netbsd.org
>