I have BeOS installed on my second hard drive on the primary IDE bus in the first partition. bootman resides in the MBR on that drive. I am using the NT bootloader to select WinXP, Win98 or Linux and would like to add BeOS to the NT bootloader.
In linux, installing lilo or grub and using 'dd' (dd if=/dev/hdb4 of=/mnt/win-c/bootsect.lnx bs=512 count=1) and adding a line to BOOT.INI (C:\BOOTSECT.LNX="Gentoo Linux") does the trick. When I try this for my BeOS partition, I get "Error Loading OS, press any key. . ." message from bootman. In order to get bootman to install on my second disk, I temporarily removed my primary drive and booted to BeOS to keep my primary disk MBR in tact. After reconnecting my primary drive, I can select my second HD in my BIOS boot options as the boot device and all boots normally.
I have tried dumping the boot sector in both Linux and BeOS with the same results. I also tried both 512 and 1024 as the sector size.
Is it possible bootman can't handle being chained?
Have you got any other OSes on the hard drive with BeOS on it? I don't think you need a bootmanager on the second partition.
I don't quite see what you have tried on your BeOS partition that results in the "Error loading...." thing - do you mean you were trying the same dd command to add linux to bootman? Because that very definately won't work.
AFAIK, all you should need is one bootmanager on the boot drive, and have that bootmanager set up to start all of the OSes, no matter what their partition or drive is - therefore, I think it is an issue to do with setting up the NT bootmanager. I've never really used the NT bootmanager, so I can't help much there.
BeOS only resides on my Be partition (first partition on the second drive). The 'dd' command was issued in both Linux and BeOS. I copied the resulting sector image file to my Windows C: drive for use by the NT bootloader in WindowsXP (C:\BOOTSECT.BE="BeOS R5" line in boot.ini). This is the method I currently use for Linux. I have a line in boot.ini (C:\BOOTSECT.LNX="Gentoo Linux") to match the sector image I created for my linux partition where LILO resides. bootman is installed on the first partition on the second drive, so issuing the command 'dd if=/dev/path/to/beos/partition of=foo.bar bs=512 count=1' should produce a file called 'foo.bar' containing the first sector of my beos partition, which should be the MBR, which contains bootman. In fact it does create such a file. But, unlike the Linux sector, when I try to pass this image file to the NT bootloader, I get an error (from bootman) "Error Loading OS, press any key. . ." I'm sure it is bootman, because I find this same string in the MBR of my BeOS partition. My reason for not using bootman as my primary bootloader has more to do with Windows preference toward "restoring" your MBR any time reinstallation is necessary, rendering your current bootloader impotent. If OpenBeOS were more mature, I would use bootman. As for having more than one bootloader, this is how NT bootloader, LILO and Grub work. They "chain" to another bootloader. Unless you have a bootable partition (a.k.a. boot loader in your MBR, or in the case of Linux, a bootstrap pointing to the superblock containing LILO or Grub in your Linux partition), you can't boot from that partition. Unfortunately, NT bootloader is not intelligent enough to boot a foreign kernel. In fact, the Linux boot config is an undocumented "workaround" for NT Loader limitations. I was hoping to find that a similar approach was possible for BeOS.
I've typed this once already, then sourceforge forgot I was logged in... grrr....
If BeOS is the only OS on the whole drive, then get rid of bootman and stick the default MBR back on. You might want to also try other sector sizes (I think BFS is usually 2048, but not sure).
There might also be some interesting commands to experiment with in a terminal (writembr, makebootable, and installbootsector sound possibly helpful): http://wiki.bebits.com/page/BeosTerminal has some information on them.
Otherwise you could try to get a bootloader that you know is chainable set up on the BeOS drive.
I suggest asking on BeShare - there's a lot of knowledgable people there who have probably tried the same thing at some point. There's also the beosjournal and begroovy forums which are both a lot more active than here.
Thank you, I will try eliminating bootman first. The url was very informative.
On the BeUserTalk mailing list I just found the post that is appended below. Perhaps this will be helpful to you.
I have set up a homepage with instructions how to add a "BeOS" entrance to the Windows XP/2000 NTLDR boot manager.
You can view them here:
In short, it implies modifying your boot.ini and adding two files to the harddrive / partition NTLDR resides upon.
Hopefully the topic wasn't discussed before. I've searched the Net' a bit but couldn't find about this. It's been tested so far only with my setup, so if it works / doesn't work for anybody else, I'd love to hear from you at the adress down in this e-mail.
This method worked for me. Perhaps OBOS should consider including someting like this on the installation CD. Maybe kinda like BeOS Win95 installer with an option to create a bootsector image and add a line to boot.ini By the time OBOS ships, most prospective users will be running WinNT variants, so this could be an added value.