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

Re: hfs boot floppy versions




On Mon, Oct 31, 2005 at 03:00:39AM +0100, Christian Müller wrote:
That is beside the point. The miboot stuff wasn't included for legal reasons,
and i don't even understand why it was included in woody.

Yep, remember reading that somewhere - would it be possible to take the NetBSD code producing ofwboot.xcf, legal-wise or is it also unfree in the debian terms?


No idea of what that even is, could you describe it and provide a pointer to
it ?

The idea:
* http://ezine.daemonnews.org/200009/sb.html gives a technical oversight, pretty scsi-centric though - the boot stages netbsd uses are described thoroughly though - there's also a nice figure that illustrates things, but the image quality is horrible. They still work with a load-base of 4000, after SystemDisk patches are applied it's 600000. After all, the article is from 2000, things may have changed.

Other links of interest:
* ftp://ftp.netbsd.org/pub/NetBSD/NetBSD-2.0.2/macppc/INSTALL.html#Available%20Boot%20Media (explains "partition zero" boot approach which results in the 3stage process depicted above and a 2stage process where OpenFirmware looks itself for ofwboot.xcf on partitions it is capable of reading) * ftp://ftp.netbsd.org/pub/NetBSD/NetBSD-2.0.2/macppc/INSTALL.html#Open%20Firmware%20boot%20syntax
* http://www.netbsd.org/Ports/macppc/faq.html   (lengthy faq)
* http://netbsd.gw.com/cgi-bin/man-cgi?ofwboot+8.macppc+NetBSD-current (ofwboot manpage) * http://netbsd.gw.com/cgi-bin/man-cgi?installboot+8.macppc+NetBSD-current (installboot manpage)

The ofwboot manpage tells where 3-stage and 2-stage boot-process meet:

ofwboot *ofwboot* is installed via installboot(8) <http://netbsd.gw.com/cgi-bin/man-cgi?installboot+8.macppc+NetBSD-current> on systems with Open Firmware versions less than 3. It is not necessary to spec- ify this file name, as it is stored in a special location on
                the disk, partition ``zero''.  For example, the following
command might be used to boot from a SCSI device with ID 2:
                *0 >boot scsi-int/sd@2:0*.

ofwboot.xcf *ofwboot.xcf* is in XCOFF format. This file is used on all Open Firmware 3 systems, and on Open Firmware systems prior
                to 3 when the bootloader is not installed in partition
                ``zero'', such as from an ISO-9660 format CD-ROM.


* http://www.netbsd.org/Ports/macppc/SystemDisk-tutorial/ (NetBSD also messes with real-base, sure they will have their reasons, but it will make a dual boot machine to a classic mac os uncomfortable - though mac os boots with the tampered with real-base, but resets it to default. i've read about systems prior to the beige G3 that reset many more of the boot variables to defaults <- maybe hack a forth script into nvram named bootlinux/bootbsd that sets proper variables and afterwards does 0 bootr if there is space in nvram for own forth functions <- are they kept like varaibles I set??)

So in theory, I should be apple to boot it via OpenFirmware and ofwboot.xcf on a filesystem OF understands (2stage) or by putting it at load-base in partition zero (3stage).

I had trouble with the partition zero method, but I actually did manage with a 2.4 OpenFirmware to fetch ofwboot.xcf from a iso9660 style cd. It loads properly, greets with "NetBSD/macppc OpenFirmware Boot 1.10" - it then asks for a kernel to boot, that's where I got stuck again. Either I did not find the right format+path to tell him where to look for the kernel (doc says OpenFirmware-Style path, but with "/" as opposed to "\" to separate directories in a path) or it does not work at this point (speaking for the Beige G3 I'm testing with, of course). It might be that this is just unsupported for OFs < 3.

I *think* it is a size-issue that the NetBSD team uses ofwboot.xcf instead of using one big xcoff-kernel-image, speculating though. Somewhere I read a post saying that it might be possible to load a vmlinuz.xcoff directly via OpenFirmware command (which would render the extra ofwboot.xcf NetBSD uses pointless), I did not succeed in doing so. I tried it with boot-devie set to ide1/@0:,\INSTALL\POWERPC\VMLIN001.INI - if someone succeeded with something like this, please come forward =).

Just thinking aloud: How difficult would it be to prepare a floppy that would simply boot a cd? My understanding, might be wrong, is that this is the case with isolinux where the "boot-floppy" is fetched via el-torito into RAM and then goes from there to start a bloated system. Wouldn't it be possible to let :something: like isolinux boot from a real floppy on those oldworlds which is then responsible for getting a bootable cd up and running - ideally this :something: would really only just be enough to let cds boot which would have booted on macs with OF 3+ without any help. A helper disk based on miboot, so to speak. This way installer teams on all distributions just have to focus on providing OF3 bootable cds - if it were not for the legal problems of miboot and those macs that don't have a cd-drive =).

Doing it fool-proof "partition zero"-wise is also not easy to do. One is faced with different load-base settings, so you would have to know prior to loading the loader where to put it - work-around might be more than one entry-point for the code, at 4000, 600000, etc. But this is too much of hazzle for hardware that's, basically, obsolete *no-nag*.


So long,
Christian

ps: btw, sorry for the personal mails, they account to me being lazy and lame using the overly simple reply button :)



Reply to: