You want to be able to boot the normal Linux system with the current kernel(s) from floppy.Your system has already been successfully installed, but can't or don't like to boot via LILO or loadlin from one of your hard disks.
Actually this method works yet (this means since SuSE Linux 6.3) only if you're either using a self compiled kernel or using a pure (E)IDE system. Otherwise please make use of a boot floppy with LILO. The LILO boot floppy also offers the advantage of starting the Linux kernel with kernel parameters.
The Linux kernel itself already contains the needed files to be bootable. So it suffices to simply write the kernel to a floppy disk. Therefore please insert an empty floppy disk in your floppy drive
fdformat /dev/fd0h1440 # formats the floppy disk
dd if=/boot/vmlinuz of=/dev/fd0 # writes the kernel to the floppy
disk
rdev /dev/fd0 /dev/sdb1 # Instead of /dev/sdb1, please
specify your root-partition
rdev -R /dev/fd0 1 # mount root file system readonly
Even if the boot floppy with LILO looks a little more complicated: We are recommending
the following method to create a boot floppy. In case the fdformat command fails
because of read-write errors, please try another floppy disk. This certainly obtains for the boot
floppy with LILO.
From experience with LILO, it's the easiest to tell LILO, that the floppy disk would be the actual root file system. Therefore some help files have to be written to this floppy. But the advantage is, that this floppy is totally independent from your system.
To create a bootable floppy disk, that contains the kernel and the initrd (since SuSE Linux 6.3), proceed as follows:
/mnt:
fdformat /dev/fd0h1440 # low-level formatting /sbin/mkfs.minix /dev/fd0 1440 # creates minix file system /bin/mount /dev/fd0 /mnt # mount to /mnt
dev, etc and
boot on the floppy disk. In the following procedure relative paths are concerning to
the floppies mountpoint /mnt as the working directory ($PWD).
cd /mnt
mkdir etc dev boot
boot
(located on the floppy disk). This assumes that the initrd is adjusted to your system (and includes
eventually needed SCSI drivers!). Please have a look at the SDB article
Booting with the initial ramdisk if you like to learn more about the initrd concept.
cp -a /boot/vmlinuz /boot/initrd /boot/*.b boot/
/dev/null and /dev/zero.
cp -a /dev/fd* /dev/null /dev/zero /dev/hd[abcd]* /dev/sd[abcd]* dev/
etc/lilo.conf on the floppy disk. For this purpose
you can orientate yourself at the following example:
# LILO configuration file # Start LILO global Section # If you want to prevent console users to boot with init=/bin/bash, # restrict usage of boot params by setting a passwd and using the option # restricted. initrd=/boot/initrd boot=/dev/fd0 #compact # faster, but won't work on all systems. vga=normal read-only prompt timeout=100 # End LILO global Section # image = /boot/vmlinuz root = /dev/sdb1 # or whatever you're using as root device label = lx
Adapt the line "root = " to your system. You can also use this option while booting up Linux and with it using any desired partition as your root-partition. You can try to activate the option "compact". This speeds up the "loading procedure" a lot, but experiential this doesn't function on all systems.
lilo -r /mnt
Added lx*.
cd / ; umount /mnt