grub-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: grub2 boot freedos kernel.sys


From: Lennart Sorensen
Subject: Re: grub2 boot freedos kernel.sys
Date: Wed, 28 Aug 2013 10:43:42 -0400
User-agent: Mutt/1.5.20 (2009-06-14)

On Wed, Aug 28, 2013 at 12:04:31PM +0300, Beeblebrox wrote:
> I would like to know if the following is possible:
> 
> * USB thumb drive has grub-1.98 on hd(0,1) gpt layout (boot-bios is hd0,2)
> * hd(0,1)/boot/freedos has files
> autoexec.bat, command.com, config.sys, kernel.sys, sys.com
> Un-tarred from freedos FDOEM.144 and copied into folder
> * Boot into USB drive's grub2 boot menu and try to boot freedos by:
> menuentry "DOS kernel" {
>    root=UUID=8D40-EC8D
>    chainloader --ebx=0x0180 (hd0,1)/boot/freedos/kernel.sys
>    boot  }
> gives err msg: "wrong signature". Probably expected, since files being
> booted are for a "virtual floppy", but I also tried it with the files from
> ke386f32 .zip as well.
> 
> Q: Is what I'm trying to do possible?
> I don't want to boot into a ram-limited 1.44 or 2.88 virtual floppy. My
> purpose for this is to be able to make mobo BIOS-updates (place BIOS
> dosflash.exe + bios.rom files on USB drive, boot into grub2 -> chainload to
> dos, mount thumbdrive in dos to make files visible, run dosflash.exe)
> 
> I asked this question on the freedos mail list, but they could not help
> much because of insufficient grub2 expertise. The feasibility of the
> concept is described here:
> http://www.novell.com/coolsolutions/feature/3612.html
> I would appreciate some help on how to get this done, or if someone has
> ideas on how to flash the BIOS using the grub2 menu, that would also work.
> Regards.

I don't see how that describes any such thing.  It is perfectly known
how to boot linux kernel and a ramdisk of arbitrary size.  linux was
designed to allow exactly that.  DOS was NOT designed to have ramdisks
loaded along with the OS.  DOS doesn't even have much of a clue about
devices without the BIOS doing all the work unless you add device drivers
to help it.

I think the most practical thing to do would be to make a bootable USB
key and use that along with the USBASPI.SYS driver to get access to the
rest of the USB key after booting DOS.  That should work, and I see
no practical difference from what you were proposing in terms of what
it accomplishes.  Sure you boot to a virtual floppy but then the virtual
floppy can load the USB driver and mount the rest of the USB drive as
a harddisk to access the BIOS file.

You are trying to make it way too complicated.  DOS doesn't like
complicated.

Remember DOS needs access to config.sys and autoexec.bat using primitive
BIOS disk access calls.  That is why the BIOS emulates a floppy drive
while booting from USB.  DOS has no idea how to access a USB drive
normally.  now if you could have the BIOS emulate a harddisk using the
USB key, DOS could boot from that too and use it directly I suspect, but
that would involve the BIOS booting the USB drive directly, not using
grub as far as I know, since the BIOS has to setup the disk emulation
so that the BIOS calls needed by DOS to access the disk are present.

I doubt grub can ask the BIOS to setup such emulation, and grub does
not stick around in memory after loading the OS to provide such access.

-- 
Len Sorensen



reply via email to

[Prev in Thread] Current Thread [Next in Thread]