Even tough floppies are now historic these days, but in certain situations they have to be still used:
BIOS update of the motherboard
Creating boot floppy disks to load the Microsoft CD device driver to be able to install a Windows Installation CD.
Get data out of a old instrument as storage oscilloscopes and logic analyzers
Clean up your home and find a historic floppy
Check if your BIOS has the floppy controller enabled. Configure the BIOS to try booting from the floppy so you can make sure that the hardware works.
Since floppies are historic, it might be that their support has to be disabled in the default installation. To have the fdformat command on Gentoo the fdformat useflag has to be set. This then enables floppy support in the sys-apps/util-linux package.
Enable floppy kernel driver (called floppy) and fat in the kernel and set a code page as NLS code-page ISO 8859-1 in the kernel. File system,
native language support, code-page select at least US or many others with the M option. See also documentation coming with the kernel source: /usr/src/linux/Documentation/blockdev
Many /dev
files might exist for the outdated floppies as ls /dev/fd* shows. It is wise to used always the one corresponding to the desired size as /dev/fd0u1440
, since /dev/fd0
might fail or not do anything at all. On a newer system just /dev/fd0
might appear.
The command fdformat /dev/fd0 low-level formats a floppy disk.
And now you need to high level format it. For a Linux ext2 floppy do: mkfs.ext2 /dev/fd0
For a DOS floppy emerge sys-fs/dosfstools and format it: mkdosfs /dev/fd0 or if this command does not exist use mkfs.vfat /dev/fd0
fdisk is also a way to create floppies.
mount /dev/fd0 /mnt/floppy
then type mount | grep fd0 so verify that it is mounted and unmount it
umount /dev/fd0
To mount it, verify your/etc/fstab
and then:
Alternatively you can emerge mtools allows to do floppy commands without mounting the floppy.
Instead of dealing with physical floppies, you can simply handle a floppy image. Those image files are an exact copy of a physical floppy. Floppy images be used to archive floppies, started using grub to do BIOS updates or have a simple DOS, they can easily be used on virtual machines (Virtual box).
Instead of having a floppy also a floppy emulation can be used. The link
http://www.fdos.org/bootdisks/ contains floppy images
for FreeDos and has also a CD builder to create a DOS CD with the application you desire. Download and
unzip. Copy it to /boot
and add in your grub.conf
:
title=Freedos root (hd0,0) kernel /memdisk initrd /FDINSTALL.144
or for grub 2
menuentry "FREEDOS" { linux16 /memdisk raw initrd16 /FDSTD.288 }
memdisk is the floppy emulator and can be obtained by emerge syslinux and cp /usr/share/syslinux/memdisk /boot when done good old Ctrl Alt Del brings you back. Nice but how to add stuff to the boot disk?
Create a mounting point mkdir /mnt/floppy and mount the image:
mount -o loop /boot/FDINSTALL.144 /mnt/floppy
Running FreeDOS via Grub is not an emulation, FreeDOS runs directly without Linux. You could use it to update your BIOS having just DOS utilities.
Convert a floppy to a image file:
cat /dev/fd0 > floppy.img
If it fails on an old Floppy, try it with an other floppy drive. If you are lucky it is a track alignment problem and a different floppy drive might read it.
Copy image file to a floppy:
cat floppy.img > /dev/fd0
or
dd if=floppy.img of=/dev/fd0 count=1 bs=1440k
Create a empty image file (emerge dosfstools first):
dd bs=512 count=2880 if=/dev/zero of=floppy.imgmkfs.msdos floppy.img
or
/sbin/mkfs.msdos -C /path/floppy.img 1440
Mount a floppy image file
mount -o loop floppy.img /mnt/floppy/