Hi guys, nice topic :-)
So Quentin wants to make a 256MB SanDisk Cruzer Micro or a
128MB Shikatronics bootable with FreeDOS, but got at most
as far as the "FreeDOS" message. That means that the boot
sector got installed but did not know the right partition
properties like geometry (CHS case) or partition offset
- I'm using an Intel D865GBF motherboard
Methods I have tried:
- HP USB Disk Storage Format Tool
- MBRTool from memorykeytools
- Bart's MKBT using Weehet's method
- Jacopo Lazzari's method, editing the partition table using Beeblebrox
- The FlashBoot Wizard
Wow, long list :-). I myself use my own Perl script which plugs
a dynamically selected FreeDOS boot sector into a partition or
diskimage of your choice. Boot sectors are taken from some version
of our SYS and are in NASM source code form, so you will also have
to have NASM (and Perl of course) to use my script.
I do see that 256M Cruzer's can now be purchased for a mere 30 bucks...
Actually the 512M one is 40 Euros now, even better :-). My own Cruzer
Micro did boot FreeDOS including Windows 3.1 eventually, but there
was some trickery involved. First, the stick came preformatted like
a harddisk with one FAT32 partition on it. So the geometry and stuff
were already stored okay (which is usually NOT the case if you format
with mkdosfs of dosfstools, so you better format with Windows or DOS).
Next, the BIOS of the test computer had several boot style options:
ZIP disk, virtual floppy, virtual CD-ROM, harddisk, I do not remember
what exactly the choices were. I think that for some of those modes
your memory stick is supposed to start with a diskette image or ISO
image in raw form. Anyway. In my case I finally selected a mode which
treated the partition like a HUGE DISKETTE. It got the drive number
for A:, it kept the geometry of the partition, but DOS only saw the
partition, not the partition TABLE / MBR of the stick after booting.
And it seems that the BIOS patched all necessary boot sector fields
about the partition properties during boot :-).
This is one general issue: BIOSes vary a lot in their abilities,
flexibility and quality when it comes to USB boot support.
When in doubt, try the SYSLINUX family of boot loaders and use
that to boot a diskette image which you store on a file on the
stick, using MEMDISK of the SYSLINUX family. Should work well.
Do you have a Cruzer then? I've got a 1GB version...
I've got a 256 MB version, FreeDOS booting works... But I am
not sure how much I had to manually disk-edit the geometry.
I only remember that I did use Linux fdisk to mark the FAT32
partition on the stick as a bootable one.
Nice... So Michael has a 256 MB Lexar JumpDrive, you (Quentin)
have the same SanDisk Cruzer as I do, Bernd has a bigger SanDisk...
Time to grow the USB FreeDOS booting community :-).
Oh, before I forget that, you can get my script (including Perl
sources and NASM boot sector sources taken from FreeDOS SYS) at:
Note that the CHS <-> LBA autoselection might be broken or the
use of LBA might be blocked for A: style drives with some versions
of FreeDOS SYS (the bootsectors in it, that is). Trying various
versions of SYS in FreeDOS might be yet another way to get things
done, completely WITHOUT external boot tools like HP / MBRTool /
MKBT / makebootfat / Beeblebrox / FlashBoot / my Perl thing.
Of course you will then need a DOS USB driver first before you
can run SYS on the drive... I recommend USBASPI4 and ASPIDISK
which you should be able to find on the net. ASPIDISK is the "create
a drive letter for some ASPI disk" part of the Adaptec SCSI drivers
for DOS, available from Adaptec, and USBASPI4 is a driver which
gives ASPI access to USB disks in DOS.
Enjoy :-). Eric
This SF.Net email is sponsored by the JBoss Inc. Get Certified Today
Register for a JBoss Training Course. Free Certification Exam
for All Training Attendees Through End of 2005. For more info visit:
Freedos-user mailing list