F6K'S DOS JOURNAL, FIRST STEP: INSTALLATION OF DOS ON A FLASH DRIVE Aug. 22, 2026. The idea of the project is to run DOS on bare metal, not from the internal hard drive but from a flash drive (mainly an USB stick). There are pratical reasons for that choice but I will not enter the details today. The focus of this file is to get things done. I will cover here how I installed a fork of Liam Proven's usb-dos (https://github.com/lproven/usb-dos) which is based on SvarDOS. This fork is provided by Anna (http://agk.sdf.org/ware). While Proven's version is intended more for writers with specific tools (word processors, etc.), Anna's fork is clearly aimed to give children and teenagers access from basic to advanced computing using appropriate programs (educational softwares and games, but not only that). In the future, I also plan to cover how I installed FreeDOS on a USB drive from a relatively modern computer. However, since my process for doing it is more complex and time-consuming, I am saving it for an other entry of this journal. Installing usb-dos on an USB drive is easy and fast from a computer running a modern unix based system (and if you're reading this using a Microsoft Windows running computer, I think you can check and use the program named Rufus; unfortunately I'll not cover that since I don't use that operating system). But first note that whatever version you intend to use (Liam's or Anna's) the image size for both is just under than 4GB, so you'll need at least an USB drive of this size. Assuming the USB drive is located at /dev/sdc, simply use dd(1) to copy the image content to the drive. IMPORTANT: Beware, everything on that drive will be ERASED and LOST. So make sure to double-check that there is nothing critical on the drive and, above all, that you are absolutely certain of the /dev path for that specific drive (the fdisk command with the option '-l' (that is lowercase 'L') is much of help for that). From Anna's wares webpage given above, we retrieve the image archive (sdos_agk_0-1.7z at the time of writing) and decompress it with 7-zip. Copying the content of the image to the USB drive is as simple as: $ sudo dd if=sdos_agk_0-1.img of=/dev/sdc status=progress Depending of your drive and the USB speed on your machine, it will take just few minutes before having your system ready. You now have everything you need to launch this new system from a dedicated computer. For the sake of brevity, this will be dealt with in a separate file titled "Second step: booting DOS from a flash drive" (DOSJ003.TXT) which you should normally find not far from this very file in the near future. But before that, I would like to add few words in conclusion about how to access the data on this USB drive we've just created. You will likely want to access the drive and add content (programs, files, etc.) to it. The easiest way to do it is to simply plug the stick into your computer; the flash drive will then be mounted in your file system just like any other FAT-formatted USB drive, allowing you to add or remove whatever you like. However, you might also want to modify the image provided by Anna directly. This would allow you to create a custom version of her image--tailored to your preferences--which you could then copy with dd(1) onto other flash drives as you see fit. For achieving that you will need to mount this image in your file system. But as I said earlier, both Liam's and Anna's .img file are images of hard disk and not partitions. So just 'mount -o loop' them will result in an error ("wrong fs type, bad option, bad superblock on /dev/loop0, missing codepage or helper program, or other error"). So we need to find out at which place in the image the actual partitions begins to mount the said partitions (and not try to mount the entire hard drive). The interesting thing with Anna's version is that it contains two partitions. The first one for the system, and the second one for backup purposes (each one being aproximatively 2GB in size). We can see that with fdisk, and loop up for the offset we'll need to mount the system partition: $ fdisk -l sdos_agk_0.1.img Disk sdos_agk_0.1.img: 3.75 GiB, 4026531840 bytes, 7864320 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: 0x99b33cdf Device Boot Start End Sectors Size Id Type sdos_agk_0.1.img1 * 2048 4204887 4202840 2G b W95 FAT32 sdos_agk_0.1.img2 4204888 7864319 3659432 1.7G b W95 FAT32 We see that there's clearly two partitions here, and we can guess that the system is on the first one (plus we see that it is the one marked with an '*' for being bootable). And as of the output given by fdisk, the offset for the first partition is 2048. But passing that directly to mount(1) will result in an error since the offset is given in bytes to the mount command, while fdisk shows it in sectors. Upon closer inspection, we see that fdisk indicates that the sector size is 512 Bytes (second line of the output). In result we can calculate the offset for the mount command: 512*2048=1048576. Assuming that /mnt/sdos is an existing directory: $ sudo mount -t msdos -o loop,offset=1048576 sdos_agk_0.1.img /mnt/sdos/ Now the content of the first partition of this image is accessible on /mnt/sdos for you to modify it according to your convenience.