That's what I did to create a standalone boot disk.
1. Take a good quality 3.5" HD floppy.
Some of them claim to be able to sustain 2Mb capacity
2. Check if you have /dev/fd0H1722
$ ls -al /dev/fd0H1722
brw-rw---- 1 root floppy 2, 60 Jan 22 22:45 /dev/fd0H1722
if you don't have it do
$ mknod /dev/fd0H1722 b 2 60
$ chown root.floppy /dev/fd0H1722
$ chmod ug+rw,o-rwx /dev/fd0H1722
3. Insert the floppy into floppy drive. Do
$ fdformat /dev/fd0H1722
4. Do
$ mkfs.minix /dev/fd0H1722 1722
5. Check if you have /fd0
If you don't then create it
$ mkdir /fd0
Then do
$ mount -t minix /dev/fd0H1722 /fd0
6. Do
$ cd /fd0
$ mkdir boot
$ mkdir bin
$ mkdir dev
$ mkdir etc
$ mkdir fd0
$ mkdir fd1
$ mkdir lib
$ mkdir mnt
$ ln -s etc tmp
$ ln -s etc usr
$ ln -s etc var
$ cd /fd0/etc
$ ln -s ../etc adm
$ ln -s ../etc c
$ ln -s ../etc lib
$ ln -s ../etc local
$ ln -s ../etc v
$ ln -s ../etc terminfo
7. Compile your favorite boot kernel
the smaller the better
Mine is 1.1.64 with only ftape support
and has a size 203748 bytes.
8. Copy (use cp command - it doesn't copy a holes in files !)
your kernel to /fd0/boot
$ cp /usr/src/linux/vmlinuz /fd0/boot
9. Copy map and boot.b files from /boot
(or wherever they are at your system)
to /fd0/boot
$ cp /boot/boot.b /fd0/boot
$ cp /boot/map /fd0/boot
my /fd0/boot directory looks like
$ ls -al /fd0/boot
total 209
drwxr-xr-x 2 root root 96 Jan 23 01:13 .
drwxr-xr-x 10 root root 224 Jan 23 01:07 ..
-rw------- 1 root root 3336 Dec 13 23:50 boot.b
-rw------- 1 root root 3072 Jan 23 01:13 map
-rw-r--r-- 1 root root 203748 Dec 13 23:49 vmlinuz
10. Copy your libc.so.4 to /fd0/lib
Again: use "cp" command.
$ cp /lib/libc.so.4.5.27 /fd0/lib/libc.so.4
(I used old libc 'cause it takes much
less space)
11. Copy ld.so to /fd0/lib
$ cp /lib/ld.so /fd0/lib
12. If you wanna ftape support, compile ftape.o module
for the kernel and copy it to /fd0/lib
13. So my /fd0/lib directory looks like this:
$ ls -al /fd0/lib
total 760
drwxr-xr-x 2 root root 80 Jan 23 01:11 .
drwxr-xr-x 10 root root 224 Jan 23 01:07 ..
-rws------ 1 root root 132060 Dec 14 00:04 ftape.o
-rwxr-xr-x 1 root root 17412 Dec 13 23:57 ld.so
-rwxr-xr-x 1 root root 619524 Jan 23 01:12 libc.so.4
14. Goto /fd0/dev/ and create all relevant devices there including
fd0H1722,fd0
You can use MAKEDEV-2.1 from sunsite to do that
15. Copy all the following files to your /fd0/etc directory
(as it looks on my boot disk):
$ ls -al /fd0/etc
total 19
drwxr-xr-x 2 root root 320 Jan 23 01:33 .
drwxr-xr-x 10 root root 224 Jan 23 01:07 ..
lrwxrwxrwx 1 root root 6 Jan 23 01:08 adm -> ../etc
lrwxrwxrwx 1 root root 6 Jan 23 01:08 c -> ../etc
lrwxrwxrwx 1 root root 7 Jan 23 01:08 con80x25 -> console
-rw-r--r-- 1 root root 1383 Dec 3 02:13 console
-rw-r--r-- 1 root root 139 Dec 9 02:37 inittab
-rw-r--r-- 1 root root 5 Dec 14 00:07 ld.so.conf
lrwxrwxrwx 1 root root 6 Jan 23 01:08 lib -> ../etc
-rw-r--r-- 1 root root 248 Jan 23 01:06 lilo.conf
lrwxrwxrwx 1 root root 6 Jan 23 01:08 local -> ../etc
-rw-r--r-- 1 root root 29 Jan 22 23:02 mtab
-rw-r--r-- 1 root root 677 Jan 23 01:34 termcap
lrwxrwxrwx 1 root root 6 Jan 23 01:08 terminfo -> ../etc
-rw-r--r-- 1 root root 0 Dec 8 23:34 utmp
lrwxrwxrwx 1 root root 6 Jan 23 01:08 v -> ../etc
-rw-r--r-- 1 root root 1253 Dec 3 02:16 vt100
16. Here how these files look like on my boot disk:
$ cat /fd0/etc/inittab
id:0:initdefault:
si::sysinit:/bin/ldconfig
ca::ctrlaltdel:/bin/shutdown -r -q now
pf::powerfail:/bin/shutdown -qfs now
1::respawn:/bin/sh
$ cat /fd0/etc/ld.so.conf
/lib
$ cat /fd0/etc/lilo.conf
boot = /dev/fd0H1722
compact
delay = 5
#message = ./etc/message
install = ./boot/boot.b
#disktab = ./etc/disktab
map = ./boot/map
verbose = 3
backup = ./dev/null
image = ./boot/vmlinuz
label = Linux
ramdisk = 1722
root = /dev/fd0H1722
vga = normal
$ cat /fd0/etc/mtab
/dev/fd0H1722 / minix rw 0 0
And the file termcap contains the entry
only for linux|console|con80x25|dumb terminal
Files console and vt100 were copied from /usr/lib/terminfo
17. Copy the following files to your /fd0/bin directory
I have /fd0/bin as:
$ ls -al /fd0/bin
total 1002
drwxr-xr-x 2 root root 480 Jan 23 01:35 .
drwxr-xr-x 10 root root 224 Jan 23 01:07 ..
-rwxr-xr-x 1 root root 35844 Jan 4 00:38 cpio
-r-x------ 1 root root 41368 Jan 4 21:56 debugfs
-r-x------ 1 root root 57516 Dec 14 00:28 defrag
-r-x------ 1 root root 61620 Dec 14 00:28 e2defrag
-r-x------ 1 root root 55936 Dec 14 00:12 e2fsck
-r-x------ 1 root root 17336 Dec 14 00:14 fdisk
-r-x------ 1 root root 9748 Dec 14 00:12 fsck.minix
lrwxrwxrwx 1 root root 4 Jan 23 01:08 gunzip -> gzip
-rwxr-xr-x 1 root root 40688 Dec 14 00:13 gzip
-r-x------ 1 root root 12352 Dec 14 00:12 init
-r-x------ 1 root root 6600 Dec 14 00:12 insmod
-r-x------ 1 root root 54848 Dec 14 00:13 ldconfig
-r-x------ 1 root root 79172 Dec 14 00:19 lde
-r-x------ 1 root root 41988 Jan 4 22:33 lilo
-rwxr-xr-x 1 root root 111620 Jan 23 01:36 mc
-r-x------ 1 root root 13732 Dec 14 00:19 mke2fs
-r-x------ 1 root root 6976 Dec 14 00:20 mkfs.minix
-r-x------ 1 root root 2260 Dec 14 00:19 mkswap
-r-x------ 1 root root 17424 Dec 14 01:04 mount
-rwxr-xr-x 1 root root 5704 Dec 14 00:13 mt
lrwxrwxrwx 1 root root 8 Jan 23 01:08 reboot -> shutdown
-rwxr-xr-x 1 root root 30216 Dec 14 00:13 sash
lrwxrwxrwx 1 root root 4 Jan 23 01:08 sh -> sash
-r-x------ 1 root root 4992 Dec 14 00:13 shutdown
-rwxr-xr-x 1 root root 96420 Dec 14 00:13 tar
-r-x------ 1 root root 8888 Dec 14 01:04 umount
-rwxr-xr-x 1 root root 67812 Jan 4 00:58 unzip
-rwxr-xr-x 1 root root 103428 Dec 14 00:21 vi
18. Now the main part. Do
$ cd /fd0
$ lilo -C ./etc/lilo.conf -r /fd0
19. Upon success of previous operation you should get
your boot disk ready. Finally do
$ cd /
$ umount /fd0
20. You are done. Reboot and enjoy your boot disk.
Works great for me.
Cordially,
Sergei