2000-12-02 19:43:52

by Wolfgang Spraul

[permalink] [raw]
Subject: 2.4.0-test11: arch/i386/boot/bootsect.S incompatible with Vaio C1VE (Crusoe) floppy

2.4.0-test11, arch/i386/boot/bootsect.S has a probe_loop: to determine the
number of sectors that can be read at once (i.e. in one track).

This routine does not work with the Sony UDF5 USB floppy disk, mapped as an
Int13 device by the Vaio C1VE (Crusoe) BIOS.
Therefore, a bzdisk floppy will not be bootable.

I solved the problem for me by changing "disksizes: .byte 36, 18, 15, 9" to
"disksizes: .byte 18, 18, 18, 18", but I think someone should do it right.
I will assist debugging if needed.

Regards,
Wolfgang


2000-12-02 19:54:07

by Jeff Garzik

[permalink] [raw]
Subject: Re: 2.4.0-test11: arch/i386/boot/bootsect.S incompatible with Vaio C1VE (Crusoe) floppy

On Sat, 2 Dec 2000, Wolfgang Spraul wrote:
> 2.4.0-test11, arch/i386/boot/bootsect.S has a probe_loop: to determine the
> number of sectors that can be read at once (i.e. in one track).
>
> This routine does not work with the Sony UDF5 USB floppy disk, mapped as an
> Int13 device by the Vaio C1VE (Crusoe) BIOS.
> Therefore, a bzdisk floppy will not be bootable.

The bzdisk code is used so infrequently compared to the normal
bootloaders, lilo, grub, and syslinux, that I'm not surprised it has
problems with many edge cases.

Although I imagine this is an unpopular opinion, I think that we
should remove all bzdisk-type code from X86... syslinux and other
boot loaders handle weird BIOS quirks much better, simply because
they are used in far more situations than bzdisk.

syslinux especially is quite nice for loading kernels from floppy.
It's very small, and "syslinux -s" adds in some wonderfully-paranoid
sanity checks which make boot loading works on many a quirky BIOS.
(don't use '-s' unless you need it, of course, it slows things down...)

Jeff



2000-12-03 08:01:19

by H. Peter Anvin

[permalink] [raw]
Subject: Re: 2.4.0-test11: arch/i386/boot/bootsect.S incompatible with Vaio C1VE (Crusoe) floppy

Followup to: <Pine.LNX.3.96.1001202131716.1450C-100000@mandrakesoft.mandrakesoft.com>
By author: Jeff Garzik <[email protected]>
In newsgroup: linux.dev.kernel
>
> On Sat, 2 Dec 2000, Wolfgang Spraul wrote:
> > 2.4.0-test11, arch/i386/boot/bootsect.S has a probe_loop: to determine the
> > number of sectors that can be read at once (i.e. in one track).
> >
> > This routine does not work with the Sony UDF5 USB floppy disk, mapped as an
> > Int13 device by the Vaio C1VE (Crusoe) BIOS.
> > Therefore, a bzdisk floppy will not be bootable.
>
> The bzdisk code is used so infrequently compared to the normal
> bootloaders, lilo, grub, and syslinux, that I'm not surprised it has
> problems with many edge cases.
>
> Although I imagine this is an unpopular opinion, I think that we
> should remove all bzdisk-type code from X86... syslinux and other
> boot loaders handle weird BIOS quirks much better, simply because
> they are used in far more situations than bzdisk.
>
> syslinux especially is quite nice for loading kernels from floppy.
> It's very small, and "syslinux -s" adds in some wonderfully-paranoid
> sanity checks which make boot loading works on many a quirky BIOS.
> (don't use '-s' unless you need it, of course, it slows things down...)
>

I concur, but I'm biased :)

-hpa
--
<[email protected]> at work, <[email protected]> in private!
"Unix gives you enough rope to shoot yourself in the foot."
http://www.zytor.com/~hpa/puzzle.txt