+---------+
                             | MetaDOS |
                             +---------+

MetaDOS is a small FreeDOS floppy .IMG file meant to be easy (or at
least easier) to keep updated, maintain, and modify, especially for
those people wishing to make custom distros (often disk images for
emulators, e.g. raw, VHD, VMDK, VDI, QCOW2).

Of course, here it's impossible (due to lack of floppy space) to include
literally everything useful, even a full FreeDOS "BASE". So contents
had to be kept to a minimum. Hence, a lot of it is offloaded to being
grabbed from network (via packet driver + net tools), if needed.

(Sadly, many sites are dropping FTP support in lieu of HTTPS.
So we need to worry about keeping up a working modern copy of
Wget or Curl, built by DJGPP. Some older builds won't even work
anymore due to changes in SSL/TLS or whatever, e.g. SF.net or Github.)

Also, another reason to keep the total number of files low is to
comply with licensing, which is often tedious and difficult. Hence,
here it is kept minimal to ease maintenance of finding all the various
sources.

(Of course, recompiling everything is way more difficult, so most
people can't do that. But reproducible builds are definitely worthwhile.
Use free/libre tools! Rebuild atop FreeDOS itself! Avoid LFN problems!)

N.B. If you have troubles or this doesn't do what you want, please go
to one of the FreeDOS mailing lists (e.g. freedos-user):
  * http://www.freedos.org/lists/

Or read FD Help or the FD Wiki or Florian's wiki for assistance:
  * http://help.fdos.org/
  * http://wiki.freedos.org/wiki/index.php/Main_Page
  * http://www.xaver.me/drdoswiki/index.php

Or ask on BTTR's "DOS ain't Dead" forum:
  * http://www.bttr-software.de/forum/board.php

--
Wednesday, February 20, 2019
rugxulo _AT_ gmail


==============
Insert files :
==============

(quoting Wikipedia about GNU Mtools atop e.g. GNU/Linux or MinGW):

Copying a file to floppy image:

$ mcopy -i Disk.img file_source ::file_target

Copying a file from floppy image to the current directory:

$ mcopy -i Disk.img ::file_source file_target

  1a). http://www.gnu.org/software/mtools/
  1b). ftp://ftpmirror.gnu.org/mtools/

  1c). ftp://ftp.gnu.org/gnu/mtools/mtools-4.0.23.tar.gz

  1d). ftp://ftp.gnu.org/gnu/mtools/mtools_4.0.23_i386.deb
  1e). ftp://ftp.gnu.org/gnu/mtools/mtools_4.0.23_amd64.deb


===============
Extract files :
===============

You can also unpack .IMG with various other tools:

a). 7-Zip 18.06

(7zFM.exe or) "7z.exe e metados.img batch\visit.bat"

  2a). http://www.7-zip.org/
  2b). ftp://ftp.sac.sk/pub/sac/pack/7z1806.exe (or 7z1806x.exe for x64)

b). Gilles Vollant's Extract

"extract -e metados.img network\fetchbat.zip"

  1a). http://www.winimage.com/
  1b). ftp://ftp.sac.sk/pub/sac/utildisk/extrac21.zip


================
Shared folders :
================

You can create/attach .VHD (while emulator is NOT running!) under Win7
using "Computer Management / Disk Management". This way, you can
easily access it (read/write) as drive under Explorer. Remember to
detach before emulating, too!

  1a). https://www.lazybrowndog.net/freedos/virtualbox/?page_id=443

Supposedly, you can also mount .VHD under Mac OS X (Paragon,
third-party tool) or GNU/Linux (libguestfs-tools):

  1b). https://en.wikipedia.org/wiki/Libguestfs

Older QEMU had "fat:/" but I think that's deprecated, so use
"-drive file=fat:rw:/rugxulo/tmp" these days (only in newer versions).

VirtualBox Shared Folders isn't supported for DOS guests. You'll
have to use mTCP's FTPSRV or similar:

  2a). http://freedos.sourceforge.net/wiki/index.php/VirtualBox_-_Chapter_6
  2b). http://www.brutman.com/mTCP/  (read his newer PDF)

But someone did write a tool for VMware (untested by me):

  3a). http://sourceforge.net/projects/vmsmount/files/ \
       Release%200.5b/VMMNT05B.ZIP/download
  3b). http://www.ibiblio.org/pub/micro/pc-stuff/freedos/files/ \
       util/system/vmsmount/VMMNT05B.ZIP

Also see these other URLs:

  4a). http://en.wikibooks.org/wiki/QEMU/Images
  4b). https://www.reactos.org/wiki/Transfer_files_from_the_host_ \
       OS_to_the_virtual_drive


N.B. The following packet driver config info should hopefully be
unnecessary as I've attempted to automatically connect (via mTCP's
DHCP) at startup. (See my TESTS.BAT for some compilation examples.)


============
VirtualBox :
============

Using 6.0.4 atop Win7 SP1 (64-bit Home Premium):

(leaving everything default)

PCnet-FAST III (Am79C973)
...
pcntpk int=0x60


======
QEMU :
======

1). (quoting email from Christian Imhorst on freedos-user):

"qemu-system-i386 -fda metados.img -boot a -net nic,model=pcnet -net user"


2). (quoting old email from Erwin Waterlander):

"
qemu -L . -m 64 -hda freedos.img -boot c -hdb fat:c:\files \
-net nic,model=ne2k_pci -net user
"

3). (quoting http://pclosmag.com/html/Issues/201208/page11.html ):

"
-netdev user,id=usernet -device ne2k_isa,irq=5,netdev=usernet
...
ne2000 0x60 0x05 0x300
"


4). (but I ended up using with old QEMU 0.9.0 on Windows 7):

"
qemu -L . -fda metados.img -boot a -net nic,model=ne2k_isa -net user
...
ne2000 0x60
"

5). FreeBSD (tested i386 host only),    https://wiki.freebsd.org/qemu

"pkg install qemu"

"
qemu -curses -no-reboot -boot a -fda metados.img \
-net nic,model=ne2k_isa -net user
...
ne2000 -u
ne2000 0x60
"

FreeBSD 10.2 has old 0.11.1 while FreeBSD 11.0 has 2.6.1.
It seems newer can use "pcnet", so you don't need to unload anything.


=========================
QEMU (Windows binaries) :
=========================

N.B. Various older pre-built Win32 versions of QEMU are bundled
with .ISO downloads from various open-source OSes (e.g. ReactOS or icAROS):

  1). http://www.reactos.org/
  2). http://vmwaros.blogspot.it/

(ReactOS has its own NTVDM nowadays, but it's neither finished nor stable.)

Or grab a newer version (e.g. 3.1.0, Win32 or Win64) from here:

  3). http://qemu.weilnetz.de/

N.B. These Win builds work very well, but due to external factors,
     they no longer support WinXP (since 2.7.0 ??) and also don't
     have working VT-X support (so noticeably slower than VBox or KVM).

Or (cross-)build your own:

  4). http://wiki.qemu.org/Main_Page


======================
Other packet drivers :
======================

If you need a different packet driver (other than PCNTPK or NE2000),
you're usually out of luck. But maybe you'll get lucky. Boot up this
floppy, and run the following command:

"pcisleep q02"

Write down the output, and go check the PCI ID database online to
determine the vendor's name:

1). http://pciids.sourceforge.net/    (old)
2). http://pci-ids.ucw.cz/            (new)

Then check Crynwr first. Unfortunately, they don't contain everything.

3). http://www.crynwr.com/drivers/

If that fails, go the vendor's website (e.g. RealTek), and search for
DOS drivers. Hopefully it'll work for you! (But I'm not aware of any
active packet drivers being developed nor of any willing people
with such a skillset available for hire. Sorry!)


===============================
Booting other media (CD, USB) :
===============================

While not a primary target, it should still be possible to convert
the floppy image to either .ISO (for CD/DVD booting) or USB (for
bootable jump drive).

1). http://rufus.akeo.ie/              (USB, Windows only)
2). http://joelinoff.com/blog/?p=431   (USB, GNU/Linux only)
3). https://unetbootin.github.io/      (USB, Win or Mac or GNU/Linux)

4). http://www.terabyteunlimited.com/downloads/mkbiso.zip  (DOS binary)
5). http://www.fysnet.net/mtools.htm  (?? maybe try MBOOTCD ??)

If your machine can't boot USB (like my old P4), try (freeware)
Plop Boot Manager (e.g. via HD/CD/floppy, then you can also boot
GNU/Linux or whatever):

6). https://www.plop.at/en/bootmanagers.html

N.B. When booting DOS via USB via Plop, the USB itself will be read-only.
(Also, try to only use PS/2 keyboard + mouse, if possible.)


<EOF>