a stroll down memory lane.
I especially love the email address I had. ron@draconia.hacktic.nl
. We had to use UUCP
to retrieve mail
The Making of a bootable floppy
February 1, 1994
Ron Smits
(ron@draconia.hacktic.nl)
Every now and then the question arises on the net on how to make a bootable disk There are several reasons for people to make a bootable disk. They want to have an emergency disk, they want to roll their on distribution set or they just want to know how it is done.
This document will be an attempt to describe all the necessary steps that will lead to a bootable floppy. At the end of the document you will know how to make bootable floppy that will load itself into a ramdisk and how to make one that's just bootable. It's basically the same.
Any comments on how to improve this document, please let me know on the above mail address. All comments and suggestions are welcome.
----------------------------------------------------------------------
Right let's get on with it. I will describe the way I usually follow when making a bootable disk. (I do this so every now and then to keep kernels uptotdate and to pass among my friends and collegues to let them experience the 'Linux' feel).
1. The kernel
Create a kernel with root device set to /dev/fd0. You can accomplish this in two ways:
1. Edit Makefile in /usr/src/linux and set the variable `ROOT_DEV' to
/dev/fd0 or keep it empty. If you keep it empty, the default of
FLOPPY will be used by build. Personnaly I like to fill it in,
keeps you from guessing and remembering what the default was.
2. take an exsisting kernel and patch it with `rdev' like this
# rdev -r zImage /dev/fd0
this will patch the kernel named zImage to use the floppy as
rootdevice.
----
2. the files
Create a subdirectory somewhere on your system as root. Call it for example /tmp/bootflop. In this directory create the following directories:
bin
etc
etc/lilo
lib
dev
You must populate these directories with some esential files in order to have a working system:
bin:
cp, df, fsck, fsck.ext2, fsck.minix, ls, rm, sh, vi, mount
All these commands, except vi, can --normally-- be found in /bin. vi is usually in /usr/bin.
etc:
zImage, fstab
Fstab is needed for df to work properly, plus you can populate it to have your harddisks mounted on several mnt mountpoints. zImage is the kernel you made in step 1.
etc/lilo:
any_d.b, boot.b, chain.b, floppy, disktab, lilo, map, mkck,
os2_d.b.
These files are needed to make the floppy bootable.(We'll come back to one of them later). The file floppy is the lilo configuration file see point 3.
lib:
libc.so.4
This is the shared library. The other commands need it! Forget it and be amazed when you start from the disk (come on try it :-))
----
3. Lilo configuration
I always use Lilo to make floppies (and my harddisk) bootable. Here is a copy of the config file I use for floppies, it's named floppy:
#
# lilo configuration for floppy boot
install = /mnt/etc/lilo/boot.b
map = /mnt/etc/lilo/map
backup = /mnt/etc/lilo/junk
compact
vga = normal
root = /dev/fd0
boot = /dev/fd0
image = /mnt/etc/zImage
label = zLinux
As you can see, I presume that the floppy is mounted as /mnt when we are making it. it is _*VERY*_ important that the keywords `install' and `map' point to files on the floppy, so in the /mnt/etc/lilo directory. Otherwise the machine will not boot. The backup may point to something else.
----
4. The floppy
Be smart, use a new one!
format it:
# fdformat /dev/fd0H1440
Make a filesystem on it:
# mkfs -t minix /dev/fd0 1440
mount it:
# mount -t minix /dev/fd0 /mnt
The reason I use a minix filesystem is twofold, first of all, the minix filesystem has less overhead than the more advanced filesystems like extfs and ext2fs. And secondly, the kernel demands a minix filesystem, if you want to copy it to a ramdisk
Now copy the tree structure that we made to it:
# cd /tmp/bootflop
# find . -print | cpio -pvdum /mnt
After having populated these directories, go to /mnt/dev and make the device nodes:
# cd /mnt/dev
# /dev/MAKEDEV generic
(Note: I know MAKEDEV is somewhere in a package, but I haven't the faintest idea where. If you need it and can't find it, drop me a line, I'll mail it to you)
----
5. Making it bootable (finally)
We now have a filesytem with the bare minimum on it to make it run as a standalone system. with the tools we placed on it, we can even do some repairing, so the last thing to do is to make it bootable. If you made a lilo configuration file as described in point 3, you can do thefollowing:
# cd /mnt/etc/lilo
# ./lilo -v -C config
You should expect the following as output from lilo:
LILO version 0.10
Written 1992,1993 by Werner Almesberger
Reading boot sector from /dev/fd0
Merging with /etc/lilo/boot.b
Boot image: /mnt/etc/zImage
Added zLinux
/etc/lilo/junk exists - no backup copy made.
Writing boot sector.
That's it! you've made a bootable floppy, unmount it and try it out!
----
6. bootable floppy with a ramdisk.
The last thing I want to explain is how to create a ramdisk. The purpose of having a ramdisk is to have your floppy drive free to be able to mount another floppy with even more tools and rescue material on it. (I personally never do it, but have a bootflop with ramdisk any because it's faster then the floppydrive).
Actually it's extremely easy and can be done with a one line modification. The kernel provides all the hooks needed. Add the following line to /mnt/etc/lilo/floppy
ramdisk = 1440
perform the actions in point 5 again and presto, You have a bootable floppy that copies itself into a ramdisk, leaving your floppydrive free for other more important stuff.
----
7. the End?
The steps described above have been extensively tested by over a longer periode of time. It has proven it's worth! And it made me paranoide, I always make sure that I have at least 2 of them. Murphy lurks in the corner!.
This HOWTO is far from perfect, so all remarks and suggestions are welcome. If the interest is ther. I will keep maintaining it.
february 4, 1994
Ron Smits
Just some tips to make your scam attempts a tiny bit more believable. I write this after hearing your robocall this morning.
ministery of justice
but department of justice
a ministery is usually a religious institute.detect possibly illegal activities on my BSN account
. There is no BSN account, BSN is like the american social security number.sheriff to arrive with an arrest warrant
. That would have made my day. Especially as the Netherlands (please not Holland) does not have sheriffs.Please address the above points and try again :)
... ➦This is the first of a number of posts, Don’t ask me how many or how often I will post. They will all be in the categories zigbee
, dev
and compose
. I will also enable a way for people to comment on this.
Last week I was talking to a colleague about how a certain problem that could be solved using git submodule
bascically mounting a git repository
into another git repository. As an example I showed how this blog uses it for the theme. The colleague asked me if I could blog about this. So here goes.
Several people have been asking me lately to describe my home automation. This is a start of it. I dont have the idea I am doing something special, but it if helps them. It’s also a nice way of having it documented I guess.
... ➦