2001 02 Bootdisk Creating and Using Emergency Recovery Disks


KNOW-HOW BOOTDISK
Creating and Using
Linux Emergency Recovery Disks
BETTER
SAFE THAN
SORRY
MARTIN MILNER
What would you do if the
Linux system you spent
many hours building
suddenly wouldn t load? 
due to a mistake during
So your Linux system is broken. Maybe you had
problems with the hard disk or a power cut and
configuration? Re-install?
then the fsck (filesystem check) of the root
What about your precious
filesystem came up with loads of errors. a root filesystem, (a  boot/root disk), but because of
If you re used to using Windows 9x, you ll the small size of even HD floppy disks, the resulting
data? In this article, we ll
probably know about the Windows emergency system will be severely lacking in essential utilities.
explain the steps necessary
boot disk you can create, but it doesn t allow you to By far the easiest way of creating a boot disk is
do a great deal and it certainly won t load and run by using the command mkbootdisk (see figure 1)
to create a complete Linux
Windows. However, a basic Linux system can run like this:
system which will boot
off one or more floppy disks  yet still provide a
mkbootdisk  verbose kernelversion (eg:- 2.2.16)
basic set of essential tools.
from floppy disks and
If you bought an official Linux distribution from This command creates a stand-alone boot floppy for
allow you to perform
one of the main suppliers you may have received a your running system. The most important
recovery disk with it. Lucky you. If however, like parameter is the last one, which is the kernel
essential recovery work
many people you built a system off a magazine CD version. Note that there are (at least) two versions of
like restoring a backup of
or similar, then you most certainly won t have one. mkbootdisk, one which doesn t add the rescue
The disk set described here consists of a boot option to /etc/lilo.conf. Whichever version you ve
your root filesystem. (You
disk, a disk containing a root filesystem with a small got after it finishes, mount the disk and edit the
have got one, haven t
set of tools and a utility disk to hold a number of lilo.conf file until it looks similar to that in figure 2
additional utilities. The article assumes you have and then rerun LILO like this:
you?)
ramdisk support enabled in your kernel. If you
mount -t ext2 /dev/fd0 /mnt/floppy (/mnt/U
haven t, then you will need to enable it.
floppy must already exist)
vi /mnt/floppy/etc/lilo.conf
/sbin/lilo -v -r /mnt/floppy
Making a boot disk
umount /mnt/floppy
The first disk we need to create is the boot disk. This
contains a Linux kernel and the kernel loader LILO. It The  ramdisk option in lilo.conf ensures the ramdisk
is possible to create a boot disk which also contains is big enough for the root filesystem we ll be
76 LINUX MAGAZINE 5 · 2001
BOOTDISK KNOW-HOW
Figure 1 - Using mkbootdisk to make the boot floppy Figure 2 - How /etc/lilo.conf should look
creating below. The compact option speeds up the Next, create the filesystem:
loading process and the append line tells the kernel
mke2fs -m 0 -i 2000 /dev/ramdisk
to prompt for a root filesystem and load it into the
ramdisk. mke2fs will automatically detect the space
Once finished, you will have a floppy disk available. The -i 2000 is to increase the amount of
containing your current kernel, LILO and a number inodes to make sure we don t run out. Now make
of other system files (see figure 3). When you an appropriately named mount point (if you haven t
reboot your machine with this disk inserted, LILO done so before) and mount the new filesystem:
will give you the choice of booting up off your hard
mkdir /mnt/ramdisk
disk or typing in rescue to boot from floppy. After
mount -t ext2 /dev/ramdisk /mnt/ramdisk
choosing rescue, you will eventually be asked for a
disk containing a root filesystem, which is what Copy over the appropriate device files from the /dev
we ll create next. directory like this:
mkdir /mnt/floppy/dev
Creating a root filesystem cp -dpR /dev/hda? /mnt/ramdisk/dev
The root filesystem must contain everything needed Repeat the above for all the devices you might
to support a full Linux system. In other words: need. Next create the other directories on the
1. The basic filesystem structure. floppy and then copy all the other files into them.
2. A minimum set of directories. (/dev, /proc, /bin, See the boxout for an example of the required files
/etc, /lib, /usr, /tmp, etc.) and directories. Be especially careful that symbolic
3. A basic set of utilities. (bash, ls, cp, mv, etc.) links are preserved. (Many of the library files in /lib
4. A minimum set of config files. (inittab, fstab, etc.) are links.)
5. Devices. (/dev/hd*, /dev/tty*, /dev/fd0, etc.)
6. Runtime libraries to provide basic functions used
Config files and finishing off
by utilities.
To allow us to have as many files, utilities, etc. as Some of the config files will need changing to
possible in our root filesystem, we ll build a reflect their intended use. See figure 4 for the
compressed filesystem. Obviously, this means we ll contents of the files that will require editing. When
have to build it elsewhere. There are a number of you ve done all that and are reasonably happy that
ways of doing this. all is well, do the following:
1. Use a ramdisk. (/dev/ramdisk or /dev/ram0).
umount /mnt/ramdisk
2. Use an unused hard disk partition.
dd if=/dev/ramdisk of=rootfs bs=1k
3. Use a loopback device, which allows a disk file to
gzip -v9 rootfs
be treated as a device. (For which you need
specially modified mount and unmount When gzip is finished, rootfs.gz contains the
commands.) compressed root filesystem. Make sure that
For this excercise, we ll assume you haven t got an rootfs.gz will fit on a floppy disk. If it s too big unzip
unused partition or the disk space to create one and it, remount the filesystem as before, delete some
use a ramdisk. First, prepare the ramdisk: stuff out of it and try the above again.
Finally, it s time to write it to floppy disk,
dd if=/dev/zero of=/dev/ramdisk bs=1k count=U
4000 (approx. 4Mb.)
dd if=rootfs.gz of=/dev/fd0 bs=1k
5 · 2001 LINUX MAGAZINE 77
KNOW-HOW BOOTDISK
Example of contents of a floppy root filesystem
/mnt/ramdisk:
bin dev etc lib mnt mnt2 proc root sbin tmp usr var
/mnt/ramdisk/bin:
bash cat chmod chown cp date dd df echo false grep hostname
id ln login ls mkdir mknod more mount mt mv ps
pwd rm rmdir sh stty su sync touch true umount uname
/mnt/ramdisk/dev:
cdrom cdu31a console fd0 hda1 hda2 hda3 hda4 hda5 hda6 hda7 hda8
hda9 hdb1 hdb2 hdb3 hdb4 hdb5 hdb6 hdb7 hdb8 hdb9 hdc hdc1
hdc2 hdc3 hdc4 hdc5 hdc6 hdc7 hdc8 hdc9 hdd1 hdd2 hdd3 hdd4
hdd5 hdd6 hdd7 hdd8 hdd9 kmem mem null ram ram0 ramdisk sda1
sda2 sda3 sda4 sda5 sda6 sda7 sda8 sda9 sdb1 sdb2 sdb3 sdb4
sdb5 sdb6 sdb7 sdb8 sdb9 tty0 tty1 tty2 ttyS1 zero
/mnt/ramdisk/etc:
conf.modules fstab gettydefs group inittab issue ld.so.cache motd
nsswitch.conf pam.d passwd profile rc shadow shells termcap ttys utmp wtmp
/mnt/ramdisk/etc/pam.d: other
/mnt/ramdisk/lib:
ld-2.1.1.so ld-linux.so.2 libc-2.1.1.so libc.so.6
libcom_err.so.2 libcom_err.so.2.0 libcrypt-2.1.1.so libcrypt.so.1
libdl-2.1.1.so libdl.so.1 libdl.so.1.9.5 libdl.so.2
libext2fs.so.2 libext2fs.so.2.4 libnsl-2.1.1.so libnsl.so.1
libnss_files-2.1.1.so libnss_files.so.2 libpam.so libpam.so.0
libpam.so.0.66 libpam_misc.a libpam_misc.so libpam_misc.so.0
libpam_misc.so.0.66 libproc.so.2.0.0 libpwdb.so libpwdb.so.0
libpwdb.so.0.58 libtermcap.so.2 libtermcap.so.2.0.8 libutil-2.1.1.so
libutil.so.1 libuuid.so.1 libuuid.so.1.2
/mnt/ramdisk/lib/modules/2.2.12-10/block: loop.o
/mnt/ramdisk/lib/modules/2.2.12-10/cdrom: cdu31a.o
/mnt/ramdisk/lib/security: pam_permit.so
/mnt/ramdisk/mnt: cdrom floppy
/mnt/ramdisk/sbin:
depmod fdisk halt head init insmod kerneld lsmod mingetty
mkswap modprobermmod shutdown sulogin swapoff swapon tail update
/mnt/ramdisk/var: log run tmp
/mnt/ramdisk/var/log: wtmp
/mnt/ramdisk/var/run: utmp
/mnt/ramdisk/var/tmp: tmp
Example contents of a Utility disk
mnt/floppy:
bin lib lost+found man sbin share
/mnt/floppy/bin:
cut diff du find gunzip gzip passwd tar vi
/mnt/floppy/sbin: chroot fuser lilo mke2fs mkfs mkfs.ext2
78 LINUX MAGAZINE 5 · 2001
AD
G. Matter
Figure 3 - The contents of a typical boot disk
Creating an Utility disk
The Utility disk is a disk full of extra programs which
wouldn t have fitted on the root filesystem, things
like such as vi, tar, etc. and maybe programs that
reside in /usr/bin and /usr/sbin. These give you the
ability to perform many more activities than would
otherwise be the case. (See boxout for example.)
Simply follow the steps below, and that´s it!
Insert a blank formatted floppy and type,
mkfs -t ext2 /dev/fd0
mount -t ext2 /dev/fd0 /mnt/floppy
cd /mnt/floppy
mkdir bin;mkdir sbin
copy (using cp) the programs you think will bU
e useful to these directories.
cd /;umount /mnt/floppy
Figure 4 - The edited config files for the root filesystem
Using the Emergency disk set
On rebooting the machine, follow the steps below,
1. Insert the emergency boot disk and wait for the
In Conclusion
LILO prompt.
2. At the prompt, you can either boot from the hard There are many, many more aspects of the above
disk as normal (if the Linux system isn t broken) or than can be gone into in a magazine such as this.
you can type rescue to boot from the floppy. The essential read is the  Linux Bootdisk
3. After a while a prompt will appear asking you to HOWTO , which can usually be found in
insert the root filesystem disk. Do so and press enter. /usr/doc/HOWTO or /usr/share/doc/HOWTO on
4. Wait for the login prompt and login as root. If you your system.(Bootdisk-HOWTO.) It contains a
want to use programs off your utility disk, insert it large amount of detailed information on this
and call: subject and more importantly, what to check if
you run into problems.
mount -t ext2 /dev/fd0 /usr
However, the above should give you a good
You can then mount your hard drive filesystems idea of what s involved and may even help you get a
and/or do whatever needs doing. login prompt first time! Good luck. %


Wyszukiwarka

Podobne podstrony:
2001 07 Apple Ibook and Powerbook with Linux
SHSpec 033 6108C03 Creation and Goals
2001 02 Szkoła konstruktorów klasa II
eBook Ford Explorer 1995 2001 Wiring harness colors and descriptions
Creating and Publishing a WordPress Blog
2001 02 zaliczenie poprawkowe
2001 02 Connectivity Turning Pdas into Linux Terminals
2002 02 Qt Creating Interfaces
2001 02 Szkoła konstruktorów
2001 02 Mass Storage Usb Storage Devices Under Linux
Creating and Freeing a Hash Table
2001 02 Linux on Ppc Powerpc Linux Systems
2001 08 Creating Boot Cds for a Quick Recovery

więcej podobnych podstron