2012/11/9 Eric Auer <e.a...@jpberlin.de>: > > 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... >
Yesterday I tested a little bit more and I noticed that these messages ("Run chkdsk: Bad FAT I/O: 0x...") don't appear if I change only one small step in my way: If I use the partition label c (FAT32) instead of 6 (FAT16), all is fine. Maybe this helps you to further track down the errors? >> 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. > I will try it with gparted. >> Standard reference procedure should be something like detailed in: >> http://sourceforge.net/apps/mediawiki/freedos/index.php?title=VirtualBox > > Good point. We already have that howto for VirtualBox, > somebody could make a howto for Qemu based on that :-) > > Eric > Well, all of this problems would be much less annoying if there would be an image on the FreeDOS site which I can simply dd to an USB drive - all of these error prone steps would be unnecessary. > > ------------------------------------------------------------------------------ > Everyone hates slow websites. So do we. > Make your web apps faster with AppDynamics > Download AppDynamics Lite for free today: > http://p.sf.net/sfu/appdyn_d2d_nov > _______________________________________________ > Freedos-user mailing list > Freedos-user@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/freedos-user ------------------------------------------------------------------------------ Everyone hates slow websites. So do we. Make your web apps faster with AppDynamics Download AppDynamics Lite for free today: http://p.sf.net/sfu/appdyn_d2d_nov _______________________________________________ Freedos-user mailing list Freedos-user@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/freedos-user