Skip to main content
Home▸ Forums▸ 68kMLA▸ BrickOven™ PizzaBox Hack revisited . . . — #38
Post #38 by bbraun
Source Forum68kMLA
Category68k
Post DateMon, 1 Apr 2013 - 05:32
Original URLhttps://68kmla.org/bb/threads/brickoventm-pizzabox-hack-revisited.24917/
Post
I've finally taken a look at mac68k netbsd.

Given what I've posted here, I'm 99% positive it's entirely feasible to create a MacOS-less booter for netbsd. Not that I'm volunteering for such a thing, just pointing out that it is possible. Then maybe the netbsd mac68k installation process could be a little less painful with a bootable iso or something.

A couple thoughts on how to accomplish this:

1) bootblocks with the right version let you execute arbitrary code right from the boot blocks. Best case, this would let you get away with no HFS partitions at all. Worst case, you have a MacOS-less HFS filesystem the bootloader loads from.

2) If the bootblocks approach fails, you can always fall back to creating a pseudo-System file, and the 'boot' resources will be executed by the ROM at boot. Do the booting here.

The NetBSD kernel is currently relying on the bootloader passing in a bunch of information, such as the address of the framebuffer, the amount of memory, and also relying on the ROM/MacOS's MMU setup. For instance, since NetBSD does no initialization of any mac memory controller, it is relying on RAM being contiguous and mapped at address 0 and whatever size the bootloader passed in. It would still be possible to preserve this model with MacOS-less booting, but it'd be nice to move away from that and initialize and map memory yourselves, so you can do useful things like use 128MB SIMMs on djMEMC based machines without needing custom ROMs.

Additionally, there's some pretty low hanging performance improvements (ok, not so much low hanging fruit as much as tripping over watermelons on the ground), particularly in the area of libc. You can probably get fairly substantial improvements in build times with some rather mundane changes to libc, just to improve executable launch time, reduce io and memory overhead.

Since I've finally got netbsd installed, I'll start poking around a bit more.