Haiku raw image install: "No boot volume found"

Forum thread started by mr_a500 on Mon, 2009-02-16 20:31

Background:
I did a "dd" of the latest Haiku image to the first partition of my harddrive (other partitions contain Linux). In GRUB, I added Haiku entry to the menu.lst. I then booted from BeOS on a second harddrive, mounted the Haiku partition and ran "makebootable /Haiku". When I boot and select Haiku, it goes into the text Haiku boot loader menu (meaning no problem with GRUB entry).

The problem:
No boot volume shows up in the Haiku boot loader. If I scan for volumes, I get "no boot volume found".

What could I be doing wrong? From BeOS, you can see all the files on the Haiku volume. I ran some programs and they work fine. Any ideas?

Comments

Re: Haiku raw image install: "No boot volume found"

This used to happen to me on revisions from earlier this month but I believe it's been fixed. I just made a new haiku-loaded flash drive and booted it up no problem. Try a newer image.

Re: Haiku raw image install: "No boot volume found"

There is no newer image. This is with the very latest: haiku-pre-alpha-r29227-raw.zip. I got the same thing with the previous image: haiku-pre-alpha-r29186-raw.zip.

A while ago, I installed a Haiku image on its own drive and had no problems booting. I'd do that now, but I don't have a spare drive to dedicate to Haiku at the moment. It seems there is a problem if you write Haiku to a partition instead of whole drive.

Has anybody else installed Haiku on just one partition? Did it work?

Re: Haiku raw image install: "No boot volume found"

mr_a500 wrote:

Has anybody else installed Haiku on just one partition? Did it work?

I install it on partitions all the time with no issue, the difference being I don't mess with pre-built images or dd - but rather I build them onto the partition directly from linux.

I do this from many machines, and very rarely have an issue.

Now, an important question: where is the start of your Haiku partition? Is it by any chance beyond 137gb on that disk? I ask because I wouldn't be surprised if the bootloader fails to handle that still...

Re: Haiku raw image install: "No boot volume found"

AFAIK, the target for the dd command should be a drive and not a partition for Haiku to be able to boot.

Re: Haiku raw image install: "No boot volume found"

koki wrote:

AFAIK, the target for the dd command should be a drive and not a partition for Haiku to be able to boot.

It doesn't have to be - as long as one runs makebootable on it afterward.

Ultimately no matter what you do, dd'ing an image to a partition limits the available size of the filesystem still, it won't magically fill the whole partition...so using this method is a crutch at best to getting a usable system on native hardware, it's certainly less than optimal.

Re: Haiku raw image install: "No boot volume found"

Quote:

Now, an important question: where is the start of your Haiku partition? Is it by any chance beyond 137gb on that disk? I ask because I wouldn't be surprised if the bootloader fails to handle that still...

My Haiku partition is the first one on the drive. I did originally have a problem with BeOS seeing the Haiku partition (BeOS on second drive, used for makebootable) when I had it at the end of my drive (only 40Gb though). I had to move a Linux partition and make a Haiku partition at the beginning before BeOS would detect it. Makebootable had no problem, so I don't know what's wrong with it now.

Re: Haiku raw image install: "No boot volume found"

So, you moved the partition?

This may have left your partition map out of order and may be confusing haiku - there's an fdisk option in Linux to reorder the partitions after moving or inserting partitions.

Note, it may break a grub menu.lst if you fix the order :)

Re: Haiku raw image install: "No boot volume found"

Quote:

So, you moved the partition?

This may have left your partition map out of order and may be confusing haiku - there's an fdisk option in Linux to reorder the partitions after moving or inserting partitions.

Yes, I thought maybe this would be a problem. (I actually mentioned it in my last post, but deleted it.)

Which fdisk option can reorder the partitions? I can't see that option.

Also, fdisk is telling me that the number of cylinders is set to 4998 (don't know how the hell that happened) and that it could cause problems with software that runs at boot time. Maybe this is also a problem. I assume I can't change the cylinders without wiping the whole damn disk, right?

Re: Haiku raw image install: "No boot volume found"

To reorder partitions, in Linux fdisk you switch to Expert mode first - use "x". Then press "f" key.

You can also change the partition ID to eb for BeOS partitions.

Messing with cylinders, head and/or secs/track could mess up your hard drive. Don't play with them.

Here is output of my 80GB drive for comparison (Debian Linux).
Disk /dev/sdb: 80.0 GB, 80026361856 bytes
255 heads, 63 sectors/track, 9729 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Disk identifier: 0x2d382d37

Device Boot Start End Blocks Id System
/dev/sdb1 * 1 1307 10498446 eb BeOS fs
/dev/sdb2 1308 2615 10506510 eb BeOS fs
/dev/sdb3 2616 3665 8434125 eb BeOS fs
/dev/sdb4 3666 9729 48709080 5 Extended
/dev/sdb5 3666 5630 15783831 eb BeOS fs
/dev/sdb6 5631 7598 15807928+ 83 Linux
/dev/sdb7 7599 7720 979933+ 82 Linux swap / Solaris
/dev/sdb8 7721 9729 16137261 83 Linux

Using dd is bad idea because limits size of partition. I & most others install doing it through Linux build. In the past, I used BeOS to install. I would download Haiku image in BeOS. Mount the image. Format Haiku partition with DriveSetup & mount it. Copy files from mounted image over to Haiku partition and then run makebootable for /Haiku.

Re: Haiku raw image install: "No boot volume found"

Thanks. I reordered my partitions (then fixed my menu.lst) and rebooted. Unfortunately, I still have the same problem (...but thankfully, it's no worse ;). It gets to the text Haiku boot loader menu and it can't find any bootable volumes.

Edit: I'll try installing from BeOS instead of dd.

Re: Haiku raw image install: "No boot volume found"

Possibly not related, but I wasn't able to get it to boot off my Intel 440BX chipset PC's primary IDE slave drive (got to the text boot menu, tried no DMA and no SMP and debug output, it semi-booted (found but couldn't use the boot partition - maybe confusing the master/slave drives?)). Got it to work with a partition on the primary master drive, and DMA/SMP turned off (dual processors).

Did you try the no DMA option?

Re: Haiku raw image install: "No boot volume found"

I partitioned and installed the latest Haiku using BeOS (no dd), but I get exactly the same result. It's starting to get annoying.

Quote:

Did you try the no DMA option?

Not yet. I didn't think that would affect it. I'll test.

On a semi-related topic (boot problem with different computer), can somebody tell me the options for bootman? (It's not even listed in the BeOS Bible!) Bootman keeps writing to the slave drive when I want to write it to the master. There has to be an option somewhere to tell it what drive to write to.

Re: Haiku raw image install: "No boot volume found"

Always a good idea to try out all the safe mode options to see if these help. Turn them all on & see if that works, then you can cycle through and figure out which worked.

Turning off DMA helps with Intel BX & older chipsets. These motherboards support UDMA33 but people would buy & install newer UDMA66/100 drives which causes data corruption. Software was made available from drive manufacturers to lower UDMA to 33MB/s on certain drives which provides a better fix to turning off DMA.

I also have 2 drives in my system. I use a separate boot manager for each drive. I go into the BIOS & change the boot order between the two drives when I need to and this works well for me. Sounded like you use 1 boot manager to handle both drives which could be an issue?

Re: Haiku raw image install: "No boot volume found"

I think bootman always writes to the drive the OS is booted from.

Re: Haiku raw image install: "No boot volume found"

Quote:

I think bootman always writes to the drive the OS is booted from.

It might if there's no existing boot menu. If there is one, I think it detects it and always writes to that drive - regardless of which one booted. My problem is that the first time I booted with these two drives, I didn't notice that I booted from the wrong one. After that, I needed the second drive just to get the menu to boot into BeOS on the first drive. I couldn't force it to write the boot menu to the first drive.

Anyway, it ended up totally screwing me. After many times of removing and reinstalling the boot menu (while testing the undocumented options), somehow it wrote the wrong backup MBR to my main drive, totally f!#$ing it up. After much screaming (and profanities loud enough to set off car alarms), I found TestDisk, which detected my partitions and restored everything (whew!). I could then boot without the second drive and write a new boot menu. So now that problem is solved. (I still wish bootman could select which drive to write to)

However, that problem is completely unrelated to my original problem (on a different computer). I still can't boot into Haiku.

Re: Haiku raw image install: "No boot volume found"

I then booted from BeOS on a second harddrive, mounted the Haiku partition and ran "makebootable /Haiku".

This indicates that you have a BeOS install that can initialize the partiton.

1) Boot to BeOS

2) Initialize the haiku partition.

3) Run makebootable from BeOS to make the haiku partition bootable.

4) Mount the haiku image file.

use Mount Image ... http://www.bebits.com/app/3576 or ImageMounter http://www.bebits.com/app/2932

5) Copy the haiku files from the image file to the haiku disk partition

6) Boot Haiku from the hard disk.

Re: Haiku raw image install: "No boot volume found"

Quote:

I then booted from BeOS on a second harddrive, mounted the Haiku partition and ran "makebootable /Haiku".

This indicates that you have a BeOS install that can initialize the partiton.

1) Boot to BeOS

2) Initialize the haiku partition.

3) Run makebootable from BeOS to make the haiku partition bootable.

4) Mount the haiku image file.

use Mount Image ... http://www.bebits.com/app/3576 or ImageMounter http://www.bebits.com/app/2932

5) Copy the haiku files from the image file to the haiku disk partition

6) Boot Haiku from the hard disk.

Thanks for the nice clear instructions, but as I said a couple of posts up, "I partitioned and installed the latest Haiku using BeOS (no dd), but I get exactly the same result."

I already did exactly what you describe but it doesn't boot.

Re: Haiku raw image install: "No boot volume found"

I pulled out an older system to play with this weekend. This may help you out or be of interest to you.

It has 4 drives installed ( 3x6GB, 1x10GB ).
hda, hdb & hdd for RAID 0 - data
hdc1=BeOS, hdc2=Linux ( both working )

I created hdc3 & hdc4 which I wanted to use for Haiku but neither partition would work.

hdc3 caused the system to reboot. hdc4 would say missing boot sector.

I tried two different install methods:
1) build off Linux and jam to partition
2) mount Haiku image in BeOS and copy over

I tried makebootable & initialize in BeOS. I even ran/jammed makebootable from Linux on each partition, etc.

I tried bootman & GRUB boot managers. Still same issues. Yet I have no issue what so ever on my main System ( BeOS + 2 Haiku partitions working ).

At first I used DriveSetup in BeOS to partition the drive but when I checked in Linux fdisk it gave some wacky values. I believe heads ( or cylinders ) was like 64 Thou. DriveSetup caused fdisk to show some crazy numbers for drive geometry so I repartitioned in Linux to get normal values - like 255-63-1245.

So, if you still can't get it to work then you are left with two options:
1) try using the very 1st partition starting at cylinder 1.
2) remove ALL partitions and use BeOS to partition the drive and hopefully it works afterwards.

I decided to remove my RAID 0 array and use those drives instead because I didn't feel like copying off BeOS & Linux from the 10 Giger to test my theory out. I'm an expert at installing Haiku from BeOS & Linux but I couldn't figure out what was going on especially since makebootable, jamming and everything else worked without errors. I realize your issue is slightly different than mine but maybe something similar is happening to you - only explanation I can offer you.

Re: Haiku raw image install: "No boot volume found"

I've done some more testing. If I install BeOS on that first partition (initialize, makebootable, copy files manually from other drive using Terminal), BeOS has no problem booting. If I install Haiku in the exact same way, I get the error. If I install Haiku over a working BeOS installation, I get the error.

Re: Haiku raw image install: "No boot volume found"

I found the same result.

I wiped out the 10GB drive. BeOS was working on it in the 1st partition. I tried to install Haiku to the 1st partition. Wouldn't boot. Tried through BeOS & Linux install methods. Very sure that I was able to mount the Haiku partition in BeOS though, just not boot from it.

In the end, the only solution was to use a 6GB drive with 2 partitions. Was able to get gcc4 & gcc2 Haiku on them.

I'd say this is a bug. You'd have to search if others have reported it and if not, then submit it.
http://dev.haiku-os.org

Must not like the drive geometry or maybe UDMA issue? I'm using a BX chipset board ( UDMA33 ) with UDMA100 drive.

Re: Haiku raw image install: "No boot volume found"

HURRAY. I found and fixed my issue. I can now run Haiku off my 10GB drive.

I downloaded and ran a utility to set/fix the UDMA to Mode 2 ( UDMA 33 ). The drive must have been trying to use UDMA/100 which was causing me issues.

To not confuse anyone, I moved the 10GB drive to hda from hdc. I shrank hda1 and left Linux on it. I created a new hda2 partition and jammed Haiku onto it. Edited my menu.lst. Booted and now Haiku works on the 10 Giger.

So, very likely you have UDMA issue too.

PS: Linux sets UDMA to 33MB/s on older hardware. BeOS only supported UDMA/33 ( no 66, 100 or 133 ). The reason why these OSes work. You'll have to run a utility to set the drive to UDMA/33 to get Haiku working on it.

Re: Haiku raw image install: "No boot volume found"

I solved my problem too, but only by putting Haiku on its own drive. I took BeOS off that drive and put it on the multi-partition drive - the same partition that wouldn't work for Haiku, but it works for BeOS (so not UDMA problem - apparently, it was a Haiku bug all along).

Whew, so now I have a quad-boot system with Haiku, BeOS and 2 versions of Linux. (but man, Linux is really starting to piss me off.. what a buggy, unstable pile of crap! "Rock solid" my ass! ...but I'll save that rant for a Linux forum...;) )

The main problem now is that Haiku networking doesn't work, sound doesn't work, and for some reason Haiku is missing the Screen Refresh Rate setting and defaults to something like 60Hz - flickering badly. I had assumed that Haiku would support the same hardware that BeOS did. Hmm.. would I be able to take files off Be and use them in Haiku to get my hardware working?

Re: Haiku raw image install: "No boot volume found"

First of all I apologize for my not so much fluent english writing.
I've "resurrected" a very old Toshiba Equium 3200M (Pentium III/450Mhz, 256Mb RAM, HD Fujitsu 6.4Gb, Nvidia AGP 8Mb RAM)only for install (and test) Haiku alone... I've used a CD with a Haiku ISO image (toasted in Linux with "Brasero").
It installs w/out hassles, but when starts for first time from HD, don't work with "DISK BOOT FAILURE" msg...
Using bootmanager from CD, after have selected start from HD it's same thing, always starts from CD...
In this machine I've only Haiku as OS, installed in HD and the install CD... It's posible to make bootable this machine, in these circumstances?
THX in advance for your time and cooperation.

Re: Haiku raw image install: "No boot volume found"

multiusos wrote:

It installs w/out hassles, but when starts for first time from HD, don't work with "DISK BOOT FAILURE" msg...
Using bootmanager from CD, after have selected start from HD it's same thing, always starts from CD...

Hi, from the info in your post I figure you have read the installation guide:
http://www.haiku-os.org/get-haiku/installation-guide

This error message you get, it occurs before Haiku tries to load, right? You can't even press the space bar to get into safe mode options, right? If that's the case...

I believe that your HD install doesn't boot because there is nothing in the MBR (master boot record - first sector of your hard drive) that tells the computer where to look for the OS. The installation program doesn't install anything to the MBR in the Alpha version.

But I thought it should work when you select the HD after booting from the CD. So you're saying that when you select the Haiku entry from the CD boot options (after pressing the space bar during boot) it ignores your selection and boots the live CD instead? Sounds like a bug to me. It should boot properly from the HD or give you the same error that you first described.

You should try to install the default Haiku boot manager which is called bootman. You run it by opening the Terminal application and type bootman and press enter. If you don't have any other system or data than Haiku on this computer you don't have to worry about things not working.

Another option could be to chainload the Haiku partition from GRUB or the Windows boot system. In the worst case (if using bootman doesn't work) you could install a small Linux like Puppy Linux just to get GRUB onto the system.

(Oh, I think you should have posted your problem in a new thread, as this thread is old and is probably not related to your problem. Perhaps a moderator can move it to a new topic?)

Re: Haiku raw image install: "No boot volume found"

You may repare your MBR : the 440 first byte of the mbr should contain a boot loader

Make a backup of a valid standard MBR code area ( a windows formatted disk is convenient) :

dd if=/dev/YourSourceDiskDevice of=mbr.bin bs=440 count=1

important : do not exceed 440 bytes
If it helps you, my mbr is here : mbr.bin

Install it on your disk :

dd if=mbr.bin of=/dev/disk/ata/master/0/raw  bs=440 count=1

Check your disk device name. /dev/disk/ata/master/0/raw may be different on your system (especially under linux)

dd is available in Haiku but also in linux

after that, your system will boot on the active partition