[openbeos] x86 boot loader milestone

  • From: "Axel Dörfler" <axeld@xxxxxxxxxxxxxxxx>
  • To: "OpenBeOS Kernel" <open-beos-kernel-devel@xxxxxxxxxxxxxxxxxxxxx>,"Open BeOS" <openbeos@xxxxxxxxxxxxx>
  • Date: Wed, 21 Apr 2004 13:15:28 +0200 CEST

Hi there,

The IA32 boot loader bindings are now mature enough to boot OpenBeOS 
from a hard drive if the BIOS supports LBA access (which should be 
supported by every BIOS for some years now).

The kernel itself doesn't have hard drive access yet, so it will panic 
soon after (which is the intended behaviour at this point).

Since our build system still builds a kernel using the old style boot 
process, here is a short description of how to check, if the boot 
process is working on your system as well:

1) choose a spare hard drive partition; if it's a BeOS installation, 
you will render it useless by following the steps below!!!
The partition must be bootable, that is, it must contain a valid BFS 
boot block, and you have to be able to choose that partition to boot 
from (i.e. in the installed boot manager).
2) build the boot loader:
$ cd <path-to-open-beos-repository>/current/
$ jam boot_loader
3) build the kernel:
$ jam kernel
4) create zbeos:
$ objcopy -O binary objects/x86.R1/kernel/boot_loader zbeos
5) copy the files to your spare disk:
$ mkdir -p /my-openbeos-disk/beos/system
$ cp zbeos /my-openbeos-disk/beos/system/
$ cp objects/x86.R1/kernel/kernel /my-openbeos-disk/beos/system/
6) done. Reboot your system and select this partition to boot from. The 
last line you read on the screen should be something like:
        kernel entry at x
(if you have a serial connected terminal, you will find yourself in the 
kernel debugger because there could not be found any "bootdir" )

You can also install it on a BFS image containing a valid boot block, 
and boot it using Bochs. Just make sure that you reboot after you've 
copied the files and unmounted the image, and before using Bochs to 
avoid a bug in the BeOS cache.

Note, this is probably only for experienced users as you may damage 
your BeOS system easily!


Other related posts: