[openbeos] Re: x86 boot loader milestone

  • From: "Commander Sozo" <CommdrSozo@xxxxxxxxxxxxxxx>
  • To: openbeos@xxxxxxxxxxxxx
  • Date: Wed, 21 Apr 2004 11:39:41 -0500 CDT

Will this bootloader be able to reside on a different drive than the OS 
installation?  To clarify, I am working on booting BeOS from a compact 
flash card, then transferring control to the installation on the hard 
drive once everything is booted.  Would doing this sort of thing 
require changes to the bootloader?  (I apologize if this seems like a 
dumb\obvious question, I have mainly been working on the hardware side)  
Thanks for all your work Axel (and others)!


Commander Sozo

> 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!
> Bye,
>    Axel.

Other related posts: