Opened 16 years ago

Closed 16 years ago

#2591 closed bug (fixed)

haiku fail to boot load

Reported by: rvndrk32 Owned by: axeld
Priority: normal Milestone: R1
Component: - General Version: R1/pre-alpha1
Keywords: Cc:
Blocked By: Blocking:
Platform: x86

Description

'Either you use a version of BeOS to do the setup with DriveSetup or mkbfs or you use Haiku itself with the Installer or DriveSetup. Once you've created and initialized the target partition you can mount the image (using tools like Mount Image or through the Terminal) and copy over all the files. If you are under Haiku, you can just as well use the Installer to make a duplicate of your currently booted installation.'

no.try again.doesn't work.formats okay.not bootable.

'If you for example copy such an image directly to a USB drive starting from 0, overwriting the MBR (destoying all partitions already there), then this will boot.'

like the dd command or the russian software that does this? dont think so, tried and failed.

' To make sure a partition boot record is there and it contains the right partition offset, you can use the tool "makebootable". Makebootable will do both, write the partition boot code to the beginning of the partition and detect and write the partition offset to where it is needed. You can use the makebootable from BeOS if you have a BeOS installation that has access to the partition in question.'

not quite.its SUPPOSED to do this.it doesn't. ive used VBox and qemu, no luck. i believe the images (JPEGs)i still have of the process, may have taken them down from the net.

you have to use grub and/or makebootable from within linux. its the only way i haven't tried yet.


Michael Lotz wrote:

Hi Richard

only issue with that is it doesnt boot.thus the need for grub loader.

I think you are missing some bits and pieces here. Haiku can very well be booted on real hardware since a long time. I have it seen running on many machines, rest assured, and configured booted through various means (BeOS bootman, GRUB, directly from the partition boot code). It also boots fine from USB sticks. In fact I have written an article about this topic this very day to explain parts involved and what is compatible with what. You can find it at http://www.haiku-os.org/documents/user/how_to_get_haiku_booted. Hope this helps.

Regards Michael

Change History (6)

comment:1 by mmlr, 16 years ago

Ok, now this is not helpful. The article describes how everything works together. It's the sum of all the steps that gets it bootable, not each single step alone. If you only format and copy you're obviously still missing the part about the partition...

Please describe the exact steps you take here. What drives/partitions are involved? When you boot through emulation, what drives do you map/what commands do you use?

What method of installation and what bootloader are you using? How is the bootloader configured?

For most of us makebootable works just fine, if it doesn't in your case please provide more details. What does it output? What should it output (i.e. what offset does the partition in fact have)?

Otherwise this is really very hard to pinpoint.

comment:2 by rvndrk32, 16 years ago

my bad.lemme explain:

made a new image (qcow) with qemu.i think 250mb. used haiku to format with driveUtil.formats fine, show as 250mb drive.

do the same on a hard disk attached as emu disk with -hdb=/dev/yyy and the size is misreported.(2TB on a 112GB drive as i recall...)

Not only that, makebootable, when run from within Haiku at this point, does work on both.

[zero offset for emu drive, non-zero for actual drive.you have to give makebootable the partition number on the phys. disk, as trying it normally hangs the process.(or either leave the disk still unbootable, i forget its been over a few weeks.)]

during this process you must use: makebootable /dev/ata/0/disk/<partnum> (pulled from DiskUtil)for the phys. disk to be 'made' bootable, else returns the offset of zero, but wont work.

you cant 'makebootable' the phys. disk as a whole drive, nor can you 'format' it that way.it has to be done as a partition.this is what haiku already does if you use a cleared hard disk thru qemu and try to format it or 'make' it 'BEOS'.

the emu disk does not have this limitation.

NOTE: copying the FS over is not necessary to reproduce this error, however it still occurs after a full copy with 'cp -R / <destination>'.

However, the only BOOTABLE volume is the emulated one.(the file you made)

hence the bug.

comment:3 by rvndrk32, 16 years ago

the 'null' utility and haiku image put on the usb stick doesn't work either.only clone i have gotten successful to boot is ZETA cd.uses simlar method to what a boot image and haiku image put on disc would do.

comment:4 by mmlr, 16 years ago

made a new image (qcow) with qemu.i think 250mb. used haiku to format with driveUtil.formats fine, show as 250mb drive.

do the same on a hard disk attached as emu disk with -hdb=/dev/yyy and the size is misreported.(2TB on a 112GB drive as i recall...)

That's a strong indication of something really not working with the disk drivers / controller drivers / partitioning modules / filesystem modules. It's not surprising that after this it doesn't boot. Please include detailed information as to what command you used to do that so we can look further.

[zero offset for emu drive, non-zero for actual drive.you have to give makebootable the partition number on the phys. disk, as trying it normally hangs the process.(or either leave the disk still unbootable, i forget its been over a few weeks.)]

If you have an empty emulated image without partition, a zero offset is expected as your filesystem actually starts at 0.

during this process you must use: makebootable /dev/ata/0/disk/<partnum> (pulled from DiskUtil)for the phys. disk to be 'made' bootable, else returns the offset of zero, but wont work.

you cant 'makebootable' the phys. disk as a whole drive, nor can you 'format' it that way.it has to be done as a partition.this is what haiku already does if you use a cleared hard disk thru qemu and try to format it or 'make' it 'BEOS'.

Yes you can't and you shouldn't. Makebootable is not supposed to install a boot manager. It is installing a partition boot record to the start of the target partition. So you have to instruct it what partition is the target. If you need a boot manager, you have to install a boot manager. If you don't need a boot manager, you still need a boot manager, because you always need some kind of boot manager, even if it is only chainloading the partition boot record of the "active" partition afterwards. That's what an fdisk does install for example.

comment:5 by rvndrk32, 16 years ago

gotya so far, but everything I read says: Haiku must write to the root of the drive to boot.(boot sector)

bootman from Haiku wont work, as clearly dictated in german in ZETA.'there is no room near begining of drive', even on a blank drive.same responce in Haiku.

isnt the latter the whole reason we need grub? yet you refuse to endorse it,saying you want your own. :-P.

I used DiskUtil on the blank drive followed by 'makebootable <drive/and/partition>' I pulled the info for the drive from Haiku's DiskUtil under qemu, as it was the phys.disk.even with three hard drives, it still showed up.

drive 1 was base image(vmware image) drive 2 was phys. drive(over usb) drive 3 was new haiku drive (empty file)

followed by a 'cp -R / <second disk>' to copy over the contents. * use the info for the bigger of the drives listed.i used a 120gb external, YMMV.It could not be attached to my IDE bus as my optical drive was taking up the other connection. i think it was atttached as /dev/disk4, as I was using (Kalyway Intel) Leopard at the time.

disks 2 and 3 were part of a sata raid system. even such, ubuntu should yield similar.qemu's options are the same.qemu's responce is the same. mount commands are the same.i didnt do anything out of the ordinary.

comment:6 by stippi, 16 years ago

Resolution: fixed
Status: newclosed

This one should be fixed, makebootable can now make mounted partitions bootable, which was the original problem when using the Installer to install Haiku to a partition.

Note: See TracTickets for help on using tickets.