I had a small talk with Axel D?rfler last night and he gave me some info on the progress he's been making concerning the OBOS bootloader. He is planning a demo at the next BeGeistert, as he said: "I want to have the PPC version booting 'til BeGeistert".

Click on "Read more..." for the rest of what Axel said about this subject. The boot loader is a platform independent loader, it's main purpose is to a) setup some system stuff (like MMU), b) load all modules needed for booting and the kernel, c) load all driver settings structures, so that the drivers have access to them during boot (before the kernel can access the hard disk) and d) jump into the kernel and give control to it.

Right now, I've done the OpenFirmware bindings for the boot loader. That means, you can put it on any OpenFirmware machine (like the Pegasos, or say, a G4 Mac), and it'll work.

It now understands Intel, Amiga, and Apple partitioning systems, and can read from BFS (little endian & big endian), and AmigaFFS disks.

It provides a Posix-like environment. You have printf(), puts(), open(), close(), malloc(), etc. That made the userland bindings for it easy to do.

Right now, it will scan all partitions, and will print out the root directory (and volume name) of every supported disk. AmigaFFS is "needed" because that's one file system I can read/write access on the Pegasos. So I don't need to copy over whole partitions or something, but can just replace one file.

But you can also print out your UAE ADF's using it, ADF's being the floppy disk images you use to play old Amiga games in UAE. I used one of the install disks of Amiga OS 3.0 to develop the driver :)


And what's next for the bootloader?

Next part will be loading the actual kernel and modules, and everything that the system needs for booting, like the IDE controller driver and the PCI bus manager.

So there you go folks, a nice status update from Axel himself. And you were wondering why he's mostly closed up in the basement... Thanks for the talk Axel, interesting as always.