Re: Bootable CD idea
John Bradford (john@grabjohn.com)
Wed, 30 Apr 2003 20:21:42 +0100 (BST)
> > > > [1] I originally thought that the 2.4 kernel's in-built floppy
> > > > bootloader used BIOS calls to access the disk, and that a 2.4 kernel
> > > > image as the El-Torito boot image would work, as the kernel would be
> > > > accessing the emulated disk, but it didn't seem to when I tried it
> > > > just now - it failed with an error saying something along the lines of
> > > > it had run out of data to decompress.
> > > 
> > > when you did "make bzImage", are you sure you didn't get the message about 
> > > the kernel being too big for floppy booting?
> > 
> > No, I've just checked - the same kernel image boots fine from a real floppy.
> > 
> 
> The boot sector bootloader is broken for anything but genuine legacy
> floppies, because it relies on getting the proper sector not found in
> order to determine the geometry.  Most LBA<->CHS conversions -- and
> that includes El Torito, IDE floppies, USB floppies, and just about
> anything else that isn't a classical legacy floppy -- simply spill
> into the next track, confusing bootsect.S.  This is part of why
> bootsect.S is gone in 2.5.
Ah, it makes more sense now :-).  So, could I bodge 2.4 in to working
by modifying bootsect.S with something like this?
        movw    $disksizes+1, %si         # Force 18 sectors/track
probe_loop:
        lodsb
        cbtw                            # extend to word
        xchgw   %cx, %ax                # %cx = track and sector
        xorw    %dx, %dx                # drive 0, head 0
        movw    $0x0200, %bx            # address = 512, in INITSEG (%es = %cs)
        movw    $0x0201, %ax            # service 2, 1 sector
        int     $0x13
        movb    $0x03, %ah              # read cursor pos
        xorb    %bh, %bh
John.
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/