Hi Bernd, Andre,
>> I was going to install FreeDOS 1.1 on a USB drive within qemu 1.1.1 on
>> Opensuse 12.2 32 bit. After selecting the language in the FreeDOS
>> installer, my notebook was busy during the next hour with thousands of
>> thousands of messages like "Run chkdsk: Bad FAT I/O: 0x...".
The kernel produces that message when "getblock" fails. Bernd,
the message is printed by "clusterMessage" and "getblock" is a
macro for "getblk" (x, y, FALSE) which apparently is, more or
less, a wrapper for "dskxfer" to let BUFFERS do their work...
Probably something tried to access the drive as if it already
was formatted while it was not, maybe failed to set a flag to
mark the drive as unformatted in some internal processing...
> I've seen this as well, usually with a drive C: (primary active FAT32
> partition) that didn't have a filesystem on it yet (done by FORMAT) Some
> installation tools check drive C: to see if it's present.
That might fit the above, yes. Is it specific to USB drives?
>> Here is exactly what I did:
>> - plugged in a USB drive
>> - erased all partition data with "dd if=/dev/zero of=/dev/sdb bs=1M count=16"
>> - created a new FAT16 partition with fdisk (1 GB, partition label 6),
>> set this to active
>> - created the filesystem with "mkfs -t vfat -n FreeDOS /dev/sdb1"
You should reboot between the last 2 steps if it were DOS,
but apparently you used Linux. When you create DOS drives
in Linux, you might accidentally mismatch CHS, LBA, FAT32
and FAT16 at some point, although I am not sure if there
is a risk to do so during the steps described above. Also,
at least with older mkdosfs (from dosfstools) it happened
that the partition offset and/or geometry were not nicely
set in the boot sector, causing extra work for my boot
sector installing Perl script sys-freedos-linux. I think
that using SYS in DOS itself had no problems, though, at
least when you booted via any non-virtual way first :-)
> You could try providing this USB Flash Device to QEMU without first
> assigning a partition and filesystem. FreeDOS is able to do it by itself
> using the FDISK program to create a partition, and FORMAT program (after
> rebooting QEMU once FDISK has finished). FORMAT C: /Q should do the
> trick. Afterwards run SYS C:
Actually you should NOT use FORMAT /Q in this case: That
would try to backup some details to support later UNFORMAT
which does not make much sense on a freshly partitioned
drive. You can use FORMAT /Q /U to avoid the saving of
unformat data if speed is an issue, or just use FORMAT
without /Q option to get a non-quick format process :-)
If you use /U without /Q, the whole drive contents will
be wiped which can take a very long time in DOS.
>> After that, I started qemu with "qemu-system-i386 -hda /dev/sdb -cdrom
>> fd11src.iso -boot d". The FreeDOS installer started, I begun the
>> installation with "1". It let me choose my language, and after this
>> the enormous amount of error messages. About an hour later, the
>> installer finally asked me where to install - I chose C: (the
>> installer showed me mysteriously only 255 MB). Then it asked me if I
>> want to format the drive with FAT32 - which I accepted. However, now
>> it showed me the following error message:
>> Invalid Drive! Aborting.
>> [Error 61]
>> FORMAT status: 4
>> Could not format your hard disk
The main.c source code of FORMAT suggests that this will
happen if your drive is neither remote nor SUBST-ed but
still you cannot get a truename of X:\ where X is the
drive letter of the drive in question... Truename here
is used to check for ASSIGN, JOIN or SUBST, but as it
fails to check this at all, the drive is probably not
even registered for DOS yet... Maybe rebooting between
the FDISK and the FORMAT step would help here - in the
QEMU case virtually rebooting is of course enough :-)
> Is your USB stick more emulator-friendly if performing the partitioning
> with Gparted or something?
I would also suggest that. GPARTED makes it very easy
to partition and format a drive with a few mouse clicks
and as you have QEMU, you apparently already have Linux.
If not, there are also a number of nice ISOs to make a
bootable CD or DVD with GPARTED, or make a boot stick.
> Standard reference procedure should be something like detailed in:
Good point. We already have that howto for VirtualBox,
somebody could make a howto for Qemu based on that :-)
Everyone hates slow websites. So do we.
Make your web apps faster with AppDynamics
Download AppDynamics Lite for free today:
Freedos-user mailing list