Living 20 minutes into the future. Eccentric weirdo. Virtual Adept. Time traveler. Thelemite. Technomage. Hacker on main. APT 3319. Not human. 30% software and implants. H+ - 0.4 on the Berram-7 scale. Furry adjacent. Pan/poly. Burnout.

I try to post as sincerely as possible.

  • 0 Posts
  • 4 Comments
Joined 1 year ago
cake
Cake day: June 10th, 2023

help-circle
  • There has to be a way of getting FreeDOS onto the SD card. Way back when, there used to be ways of getting a floppy disk (and hard drive, I did it a few times) bootable with the SYS command to write the boot files to the right places. That was MS-DOS, though.

    Hmm.

    This article seems like it could be helpful.. It’s for creating a disk image, not a drive, but the commands should work if you substitute in the SD card you want to use.

    Please note that I haven’t actually tried any of this. I’m at work and trying to pull together what scraps of knowledge I still have from my DOS days into something that seems coherent. This might not work, so please treat it as kicking some ideas around over coffee right now!

    ms-sys basically does the same thing that format /s and sys a: used to do back in the days of DOS. That makes a drive bootable. So, you’d partition and format your SD card as VFAT or FAT32 from your box (I don’t know if you have a Linux box or a Windows machine, or what). I’m guessing it’d be something like this:

    sudo fdisk /dev/mmcblk0
    
    # New DOS disk label
    o
    
    # New partition.
    n
    p
    1
    
    
    t
    c
    a
    1
    w
    

    Format the partition on the SD card:

    sudo mkfs.vfat -c -v -F32 /dev/mmcblk0p1
    

    Then use ms-sys to write the MBR to the SD card.

    sudo ms-sys --mbrdos /dev/mmcblk0p1
    

    Mount the SD card. Download FreeDOS and uncompress it. I think that would be FD13-FullUSB.zip. There doesn’t seem to be a downloadable archive of “Here’s all the stuff that’s in the disk image,” just the disk image. Some gymnastics do seem to be required to mount it:

    sudo losetup /dev/loop0 FD13FULL.img
    sudo fdisk -l /dev/loop0
    
    Disk /dev/loop0: 512 MiB, 536870912 bytes, 1048576 sectors
    Units: sectors of 1 * 512 = 512 bytes
    Sector size (logical/physical): 512 bytes / 512 bytes
    I/O size (minimum/optimal): 512 bytes / 512 bytes
    Disklabel type: dos
    Disk identifier: 0x00000000
    
    Device       Boot Start     End Sectors   Size Id Type
    /dev/loop0p1 *       63 1048319 1048257 511.8M  e W95 FAT16 (LBA)
    

    The gymnastics in question have to do with mounting a partition of the disk image, because you can’t just set up the disk image and manipulate it like a disk device. In this case, it’s calculating where to mount the FreeDOS partition: sector size * first sector == 512 * 63 == 32256

    sudo losetup -d /dev/loop0
    sudo losetup -o 32256 /dev/loop0 FD13FULL.img
    sudo mount /dev/loop0 /mnt
    

    From there, it looks like you’ll have to look at /mnt/setup.bat to figure out how to do a manual setup of FreeDOS on the SD card. There is also a /mnt/FDOS-x86/SETUP.BAT file that I think will have to be read through to get the process figured out.

    Again, this is all theoretical. I’ve no idea if it’ll work without tinkering with it on real hardware. It’s as close to figuring out how to do a manual installation as I have time for right now.


  • Have you tried a smaller card? 32GB was pretty well unheard of, even in the DOS 6.22 days.

    It’s been a very long time since I’ve thought about stuff like this. It reminds me of when I was trying to get a 1GB drive working on a 486 when I was in college. The drive wasn’t seen (just like you’re seeing). What I had to do was install the manufacturer’s backwards compatibility software (it was for systems that were too old to have BIOSes that recognized drives that big) so that the BIOS, when it probed the hard drive would somehow load a TSR that added support for large hard drives.

    Looking up the card in question, it loads the XTIDE BIOS, and the card has “Select XT-CF(PIO) Mode/Base IO 300h” silkscreened on the back. Zooming in on the front of the card, it doesn’t look like you can set that on the DIP switch block for some reason. I don’t see any documentation for download from the site. Did any docs come with the card?