help-grub
[Top][All Lists]
Advanced

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

Re: boot freedos partition


From: Felix Miata
Subject: Re: boot freedos partition
Date: Mon, 12 Apr 2010 03:15:51 -0400
User-agent: Mozilla/5.0 (OS/2; U; Warp 4.5; en-US; rv:1.8.1.24) Gecko/20100403 SeaMonkey/1.1.19

On 2010/04/11 21:56 (GMT+0200) Bernhard Kuemel composed:

> In order to upgrade my mainboard BIOS I need to execute a DOS program. I
> don't want to waste a CD on this and even though I have a floppy drive
> and floppies I want to run freedos from a hard disk partition. Be it
> because hard disks are more reliable or just because some day I might
> not have any other choice. I read about methods involving disk images,
> but I think just using a FAT partition should be the easiest and most
> natural way.

I put a single "cylinder" DOS primary partition on most of my HDs in part for
this reason, in part because DOS programs other that BIOS updaters are
sometimes necessary.

> So I formatted a 7 GB partition with mkfs.msdos which created a FAT32
> partition. Not sure if freedos is compatible with 7 GB FAT32 partitions.

No problem with 7G. It's probably more wasteful than FAT16 if you actually
meant 7M. FAT16 cannot be used on a partition of more than 2G.

> I copied these files from
> http://www.fdos.org/bootdisks/autogen/FDOEM.144.gz to the partition:

> autoexec.bat
> command.com
> config.sys
> install.bat
> KERNEL.SYS
> sys.com
> wsys.exe

> http://diddy.boot-land.net/grub4dos/files/boot.htm#dos says:

> "FreeDOS can be booted by either chainloading the partition boot sector
> of the relevant partition, or directly chainloading the file kernel.sys -

> title Boot FreeDOS
> root (hd0,0)
> chainloader /kernel.sys
> "

That doesn't look like anything I've ever seen work.

> Great, I couldn't find a way to install a boot sector with linux
> anyways.

I don't know if it's possible.

> I changed that to:

> menuentry "FreeDOS" {
> set root=(hd0,6)
> chainloader /kernel.sys
> }

> Is this the correct?

It would work the same as chainloading Windows if you had a valid DOS boot
sector installed to a first primary, with Grub 1 simply:

title FreeDOS
        chainloader (hd0,0)+1

> When I boot "FreeDOS" I get the error: "invalid signature".

Invalid is a generic term. No boot signature at all, which is what you have
now, will cause it to display.

> Grub does display a list of files when I hit tab and completes 'k' to
> 'kernel.sys' so it seems to be able to read from the partition.

> Should I capitalize kernel.sys?

Doesn't matter.

> Should I mark the partition bootable?

Not it you want an existing Grub installation to a primary to continue to
work. If Grub is on the MBR, it's irrlevant.

> Does it need to be a primary partition?

I don't remember ever seeing that it's possible to boot FreeDOS from anywhere
else but a primary, though it is more flexible that PC DOS & M$ DOS.

> Shall I use FAT16?

If the partition is more than 16M and less than about 500M, it's more
efficient. For 16M or smaller go FAT12. For more than 500M, or if you need
_proper_ longname support go FAT32.

If you have a FreeDOS bootable floppy with SYS.COM and/or FDISK on it, then
you can:

1-set only the DOS partition visible (if currently hidden)
2-make active exists on only zero or one primary (if Grub is not installed on
MBR)
3-boot the floppy
4a-SYS the DOS partition (valid formatting already done), or
4B-FORMAT /S the DOS partition

After that's done you can boot the DOS partition via simple chainloading from
Grub.

I may have over simplified, but getting precise is hard without knowing all
about your partitioning and Grub installation.
-- 
"Suppos [sic] a nation in some distant region, should
take the Bible for their only law book, and every member
should regulate his conduct by the precepts there
exhibited. . . . What a Eutopa, What a paradise would
this region be!"            John Adams, 2nd US President

 Team OS/2 ** Reg. Linux User #211409

Felix Miata  ***  http://fm.no-ip.com/




reply via email to

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