Opened 11 years ago

Closed 11 years ago

#3132 closed bug (fixed)

zbeos too large for floppy/cd image

Reported by: kvdman Owned by: axeld
Priority: normal Milestone: R1
Component: System/Boot Loader Version: R1/pre-alpha1
Keywords: Cc:
Blocked By: Blocking:
Has a Patch: no Platform: All


I bothered mmu_man about the boot image tonight because I noticed scsi_cd and scsi_disk weren't linking properly.

He applied some fixes hrev28653 and hrev28654 which resolved the above, but the bootloader still faults.

He figured out that zbeos should be <192k where it's 280k now.

this location will contain the length of the boot loader as written by the "makeflop" command in 512 0x180 is the allowed maximum, as the kernel and the boot module might start at offset 192 kB

Attachments (1)

ImageRules.diff (366 bytes ) - added by haiqu 11 years ago.
Fix for ImageRules to make a CD boot track.

Download all attachments as: .zip

Change History (10)

comment:1 by kvdman, 11 years ago

As of hrev28657 the floppy image works again, although when jamming the boot-cd, the iso doesn't get created anymore...

comment:2 by kvdman, 11 years ago

I believe this is the error:

BuildCDBootImage1 generated/haiku-boot-cd.iso I: -input-charset not specified, using utf-8 (detected in locale settings)

comment:3 by kvdman, 11 years ago

Sorry for the confusion, it does indeed build the ISO. I guess the ticket should be left open though to remind that zbeos needs to be reduced.

comment:4 by haiqu, 11 years ago

I've been getting a different error trying to generate a boot image for CD:

1167653 bytes (1.2 MB) copied, 0.019491 s, 59.9 MB/s
BuildCDBootImage1 generated/haiku-boot-cd.iso 
Size of boot image is 2884 sectors -> mkisofs: Error - boot image 'generated/haiku-boot-floppy.image' has not an allowable size.

rm -f generated/haiku-boot-cd.iso
mkisofs -b haiku-boot-floppy.image -r -J -V bootimg -o generated/haiku-boot-cd.iso generated/haiku-boot-floppy.image data/boot_cd/README.html

...failed BuildCDBootImage1 generated/haiku-boot-cd.iso ...
...removing generated/haiku-boot-cd.iso
...failed updating 1 target(s)...
...updated 52 target(s)...

The solution is to tell mkisofs that you're not trying to emulate a real floppy by using the -no-emul-boot option, and then floppy image size becomes irrelevant.

Diff attached.

This still doesn't fix the problem of haiku_loader (previously zbeos) being more than twice the size of a 1.44 Mb floppy. Maybe we'll just have to accept that no-one in their right mind uses them any more. :]

by haiqu, 11 years ago

Attachment: ImageRules.diff added

Fix for ImageRules to make a CD boot track.

comment:5 by stippi, 11 years ago

Could it be that this fix applies to the last BeOS version of mkisofs only?

comment:6 by haiqu, 11 years ago

I don't have cdrecord/mkisofs for BeOS.

I'm using this with mkisofs built on Haiku from cdrtools-2.01.01a59-pre2.tar.gz which is the latest source distribution available. Still haven't managed to get a bootable CD but I suspect the problem lies elsewhere, possibly related to the directory reshuffle.

Can send you a copy if you need it.

comment:7 by mmlr, 11 years ago

You don't want to use -no-emul-boot. It certainly makes the image size irelevant, but it also renders the CD unbootable. The way to go (besides making the floppy boot archive smaller) is to emulate a 2.88 floppy. Since this is done based on the image size, and I made it always use the larger size some revisions ago, building bootable CDs works again out of the box (with the haiku-cd target). Note that the original bug report has a different reason and doesn't apply anymore either.

comment:8 by stippi, 11 years ago

BTW, one of my systems boots from CD again with your new ATA bus_manager, Yay!. The other system, my laptop, also starts booting from CD but then drops into the boot menu and doesn't offer the CD as one of the possible volumes. You said something that my BIOS may not like the CD because of the non-regular boot floppy size. So this seems to be definitely something we want to fix. At the moment, I am working on some changes to isvolume. In the end I want to popup an alert which offers to continue a regular boot or launches the Installer. Then the Installer and DriveSetup will also need some changes, I wanted to look into those next. So if you want to try to slim down the floppy image, that would be cool!

comment:9 by axeld, 11 years ago

Resolution: fixed
Status: newclosed

This problem has been fixed in the mean time.

Note: See TracTickets for help on using tickets.