SuSE Linux: Versions up to (including) 7.3
You want to be able to boot the normal Linux system with the current kernels from floppy. Your system has already been successfully installed, but you cannot or do not like to boot via LILO or loadlin from one of your hard disks.
Actually this method works (since SuSE Linux 6.3) only if you are 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. 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, specify your root partition rdev -R /dev/fd0 1 # mount root file system read-only
Even if the boot floppy with LILO looks a little more complicated, it is the recommended
method for creating a boot floppy. If the fdformat
command fails
because of read-write errors, try another floppy disk. This certainly applies for the boot
floppy with LILO.
From experience with LILO, it is easiest to tell LILO that the floppy disk would be the actual root file system. Therefore, some assisting files must be written to this floppy. 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 paths are relative to
the floppy's mount point, /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
any needed SCSI drivers). Review the SDB article
Booting with the initial ramdisk for more information 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.
This can be based on 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 Linux to use any desired partition as your root partition. You can try to activate the option "compact". This speeds up the "loading procedure" a lot, but this does not function on all systems.
lilo -r /mnt
Added lx*
.
cd / ; umount /mnt
From SuSE 8.0 on, the kernel plus initrd no longer fits on a floppy. Use just a LILO boot floppy.