[Top][All Lists]

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

Re: "freedos" Command HowTo?

From: Jake Thomas
Subject: Re: "freedos" Command HowTo?
Date: Sun, 24 Jun 2012 02:54:22 -0400

Hello everybody!

   I'm pleased to say that it _is_ as simple as doing "freedos
/KERNEL.SYS"! Yey! (Provided you've made the disk with DOS on it be
the first hard drive, which may require the drivemap command.)

   I think FreeDOS got better in at least two ways (or maybe Grub did, or both).

   One, FreeDOS didn't claim the MBR boot code area of the (virtual)
disk I was installing it to, which means that it at least won't kill
Grub anymore. (It seemed to crash before it could, but it gave options
about it, including leaving the MBR untouched, if I remember right.)
Before, FreeDOS did claim the MBR boot code area for itself. In
addition to that, I seem to remember it being very picky about the
partition it resided on, perhaps it needed the VBR to be just right,
or who knows.

   Secondly, I can do "freedos /KERNEL.SYS" and boot FreeDOS without
using any special FreeDOS bootloader. Yey! That makes it easy to just
throw DOS into the mix, with everything being booted by Grub. Before,
I threw everything I knew of at it to boot it, and only chainloading
an image of the MBR I made before installing Grub (while it still was
the way FreeDOS made it) could get FreeDOS to boot. Maybe I didn't
know about the freedos command yet, but I think I tried it.

  I installed FreeDOS to a hard drive image, and copied the files off
into a folder in my home folder. Now all I have to do to give
something DOS is make a partition, format it as FAT32, copy the files
on, and use Grub to boot the FreeDOS kernel. That easy! I don't have
to go through the slow FreeDOS installer again, I don't have to have
the FreeDOS installer format the partition just so, I don't have to
have the VBR and MBR all freedossy, just copy the files on and I'm
good! Yey!

  The partition that DOS is on doesn't even need to be set as bootable.

   Just remember to set the drive that FreeDOS is on as the first hard
disk with the drivemap command.

   And more good news for both volunatry and forced GPT users! By
doing a plain MBR/GPT hybrid (using partition table entries in the
GPT's protective MBR, which is normally a "dummy" MBR), you can boot
FreeDOS off a GPT hard disk with Grub easily. FreeDOS will boot if you
have only one protective (type 00xEE) partition entry (which usually
means part of the drive is left unprotected), as well as if there are
more than one protective entries.

   The good news is that hybrid MBR/GPT setups can rapidly and easily
be done and undone with gdisk. In my experience, Windows can't handle
hybrid MBR/GPT drives. If you have Linux installed on the hybrid
drive, and gdisk installed in that installation of Linux, you can make
a new protective MBR very quickly, then reboot into Windows and use
the drive in Windows. Then when you want to boot DOS off the drive,
you can boot into Linux, make the hybrid, then reboot into DOS. Also,
Grub has a gptsync command that can deal with some of this stuff, but
so far I am unfamiliar with it (I think that will change).

   I tried creating an EF01 partition in a GPT schemed disk and
treating that one partition as an entire MBR-schemed hard drive, and
installed FreeDOS into it as such. My intent was to chainload Grub4DOS
or something from Grub, and from that second bootloader create a new
drivemapping allowing DOS to use that partition as though it were an
entire hard drive. The incentive for this method is to be clean of any
hybrid MBR/GPT setups.

   Burg seemed promising for the above task, but I couldn't get it to
compile. Grub4DOS is GPT-unaware so I had to use a hybrid MBR/GPT with
it anyways, but, turns out, I couldn't even get Grub4DOS to make a
drivemapping for the partition.

   But the hybrid MBR/GPT method works well, especially if you keep
the hybrid part of it temporary and only throw the entry in when you
want to boot DOS, and then remember to put it back to a plain
protective MBR afterwards.


reply via email to

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