Update Emergency Restore Procedure section to use the livefs CDROM
instead of a fixit floppy (the given fixit floppy build procedure does not work). I had this change on my todo list since 2003... PR: Submitted by: Reviewed by: Approved by: Obtained from: MFC after: Security:
This commit is contained in:
parent
2807eac095
commit
c7bf2534e7
Notes:
svn2git
2020-12-08 03:00:23 +00:00
svn path=/head/; revision=36296
1 changed files with 23 additions and 181 deletions
|
@ -2686,187 +2686,36 @@ sa0(ncr1:4:0): Logical unit is in process of becoming ready</screen>
|
||||||
two copies of
|
two copies of
|
||||||
each.</para>
|
each.</para>
|
||||||
|
|
||||||
<indexterm><primary>fix-it floppies</primary></indexterm>
|
<indexterm><primary>livefs CD</primary></indexterm>
|
||||||
<para>Second, determine that the boot and fix-it floppies
|
<para>Second, burn a <quote>livefs</quote> CDROM. This CDROM
|
||||||
(<filename>boot.flp</filename> and <filename>fixit.flp</filename>)
|
contains support for booting into a &os;
|
||||||
have all your devices. The easiest way to check is to reboot your
|
<quote>livefs</quote> rescue mode allowing the user to
|
||||||
machine with the boot floppy in the floppy drive and check the boot
|
perform many tasks like running &man.dump.8;,
|
||||||
messages. If all your devices are listed and functional, skip on to
|
&man.restore.8;, &man.fdisk.8;, &man.bsdlabel.8;,
|
||||||
step three.</para>
|
&man.newfs.8;, &man.mount.8;, and more. Livefs CD image for
|
||||||
|
&os;/&arch.i386; &rel.current;-RELEASE is available
|
||||||
<para>Otherwise, you have to create two custom bootable
|
from <ulink
|
||||||
floppies which have a kernel that can mount all of your disks
|
url="ftp://ftp.FreeBSD.org/pub/FreeBSD/releases/&arch.i386;/ISO-IMAGES/&rel.current;/&os;-&rel.current;-RELEASE-&arch.i386;-livefs.iso"></ulink>.</para>
|
||||||
and access your tape drive. These floppies must contain:
|
|
||||||
<command>fdisk</command>, <command>bsdlabel</command>,
|
|
||||||
<command>newfs</command>, <command>mount</command>, and
|
|
||||||
whichever backup program you use. These programs must be
|
|
||||||
statically linked. If you use <command>dump</command>, the
|
|
||||||
floppy must contain <command>restore</command>.</para>
|
|
||||||
|
|
||||||
<para>Third, create backup tapes regularly. Any changes that you make
|
<para>Third, create backup tapes regularly. Any changes that you make
|
||||||
after your last backup may be irretrievably lost. Write-protect the
|
after your last backup may be irretrievably lost. Write-protect the
|
||||||
backup tapes.</para>
|
backup tapes.</para>
|
||||||
|
|
||||||
<para>Fourth, test the floppies (either <filename>boot.flp</filename>
|
<para>Fourth, test the <quote>livefs</quote> CDROM
|
||||||
and <filename>fixit.flp</filename> or the two custom bootable
|
you made in step two and backup tapes. Make notes of the
|
||||||
floppies you made in step two.) and backup tapes. Make notes of the
|
procedure. Store these notes with the CDROM, the
|
||||||
procedure. Store these notes with the bootable floppy, the
|
|
||||||
printouts and the backup tapes. You will be so distraught when
|
printouts and the backup tapes. You will be so distraught when
|
||||||
restoring that the notes may prevent you from destroying your backup
|
restoring that the notes may prevent you from destroying your backup
|
||||||
tapes (How? In place of <command>tar xvf /dev/sa0</command>, you
|
tapes (How? In place of <command>tar xvf /dev/sa0</command>, you
|
||||||
might accidentally type <command>tar cvf /dev/sa0</command> and
|
might accidentally type <command>tar cvf /dev/sa0</command> and
|
||||||
over-write your backup tape).</para>
|
over-write your backup tape).</para>
|
||||||
|
|
||||||
<para>For an added measure of security, make bootable floppies and two
|
<para>For an added measure of security, make <quote>livefs</quote> CDROM and two
|
||||||
backup tapes each time. Store one of each at a remote location. A
|
backup tapes each time. Store one of each at a remote location. A
|
||||||
remote location is NOT the basement of the same office building. A
|
remote location is NOT the basement of the same office building. A
|
||||||
number of firms in the World Trade Center learned this lesson the
|
number of firms in the World Trade Center learned this lesson the
|
||||||
hard way. A remote location should be physically separated from
|
hard way. A remote location should be physically separated from
|
||||||
your computers and disk drives by a significant distance.</para>
|
your computers and disk drives by a significant distance.</para>
|
||||||
|
|
||||||
<example>
|
|
||||||
<title>A Script for Creating a Bootable Floppy</title>
|
|
||||||
|
|
||||||
<programlisting><![ CDATA [#!/bin/sh
|
|
||||||
#
|
|
||||||
# create a restore floppy
|
|
||||||
#
|
|
||||||
# format the floppy
|
|
||||||
#
|
|
||||||
PATH=/bin:/sbin:/usr/sbin:/usr/bin
|
|
||||||
|
|
||||||
fdformat -q fd0
|
|
||||||
if [ $? -ne 0 ]
|
|
||||||
then
|
|
||||||
echo "Bad floppy, please use a new one"
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
|
|
||||||
# place boot blocks on the floppy
|
|
||||||
#
|
|
||||||
bsdlabel -w -B /dev/fd0c fd1440
|
|
||||||
|
|
||||||
#
|
|
||||||
# newfs the one and only partition
|
|
||||||
#
|
|
||||||
newfs -t 2 -u 18 -l 1 -c 40 -i 5120 -m 5 -o space /dev/fd0a
|
|
||||||
|
|
||||||
#
|
|
||||||
# mount the new floppy
|
|
||||||
#
|
|
||||||
mount /dev/fd0a /mnt
|
|
||||||
|
|
||||||
#
|
|
||||||
# create required directories
|
|
||||||
#
|
|
||||||
mkdir /mnt/dev
|
|
||||||
mkdir /mnt/bin
|
|
||||||
mkdir /mnt/sbin
|
|
||||||
mkdir /mnt/etc
|
|
||||||
mkdir /mnt/root
|
|
||||||
mkdir /mnt/mnt # for the root partition
|
|
||||||
mkdir /mnt/tmp
|
|
||||||
mkdir /mnt/var
|
|
||||||
|
|
||||||
#
|
|
||||||
# populate the directories
|
|
||||||
#
|
|
||||||
if [ ! -x /sys/compile/MINI/kernel ]
|
|
||||||
then
|
|
||||||
cat << EOM
|
|
||||||
The MINI kernel does not exist, please create one.
|
|
||||||
Here is an example config file:
|
|
||||||
#
|
|
||||||
# MINI -- A kernel to get FreeBSD onto a disk.
|
|
||||||
#
|
|
||||||
machine "i386"
|
|
||||||
cpu "I486_CPU"
|
|
||||||
ident MINI
|
|
||||||
maxusers 5
|
|
||||||
|
|
||||||
options INET # needed for _tcp _icmpstat _ipstat
|
|
||||||
# _udpstat _tcpstat _udb
|
|
||||||
options FFS #Berkeley Fast File System
|
|
||||||
options FAT_CURSOR #block cursor in syscons or pccons
|
|
||||||
options SCSI_DELAY=15 #Be pessimistic about Joe SCSI device
|
|
||||||
options NCONS=2 #1 virtual consoles
|
|
||||||
options USERCONFIG #Allow user configuration with -c XXX
|
|
||||||
|
|
||||||
config kernel root on da0 swap on da0 and da1 dumps on da0
|
|
||||||
|
|
||||||
device isa0
|
|
||||||
device pci0
|
|
||||||
|
|
||||||
device fdc0 at isa? port "IO_FD1" bio irq 6 drq 2 vector fdintr
|
|
||||||
device fd0 at fdc0 drive 0
|
|
||||||
|
|
||||||
device ncr0
|
|
||||||
|
|
||||||
device scbus0
|
|
||||||
|
|
||||||
device sc0 at isa? port "IO_KBD" tty irq 1 vector scintr
|
|
||||||
device npx0 at isa? port "IO_NPX" irq 13 vector npxintr
|
|
||||||
|
|
||||||
device da0
|
|
||||||
device da1
|
|
||||||
device da2
|
|
||||||
|
|
||||||
device sa0
|
|
||||||
|
|
||||||
pseudo-device loop # required by INET
|
|
||||||
pseudo-device gzip # Exec gzipped a.out's
|
|
||||||
EOM
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
|
|
||||||
cp -f /sys/compile/MINI/kernel /mnt
|
|
||||||
|
|
||||||
gzip -c -best /sbin/init > /mnt/sbin/init
|
|
||||||
gzip -c -best /sbin/fsck > /mnt/sbin/fsck
|
|
||||||
gzip -c -best /sbin/mount > /mnt/sbin/mount
|
|
||||||
gzip -c -best /sbin/halt > /mnt/sbin/halt
|
|
||||||
gzip -c -best /sbin/restore > /mnt/sbin/restore
|
|
||||||
|
|
||||||
gzip -c -best /bin/sh > /mnt/bin/sh
|
|
||||||
gzip -c -best /bin/sync > /mnt/bin/sync
|
|
||||||
|
|
||||||
cp /root/.profile /mnt/root
|
|
||||||
|
|
||||||
chmod 500 /mnt/sbin/init
|
|
||||||
chmod 555 /mnt/sbin/fsck /mnt/sbin/mount /mnt/sbin/halt
|
|
||||||
chmod 555 /mnt/bin/sh /mnt/bin/sync
|
|
||||||
chmod 6555 /mnt/sbin/restore
|
|
||||||
|
|
||||||
#
|
|
||||||
# create minimum file system table
|
|
||||||
#
|
|
||||||
cat > /mnt/etc/fstab <<EOM
|
|
||||||
/dev/fd0a / ufs rw 1 1
|
|
||||||
EOM
|
|
||||||
|
|
||||||
#
|
|
||||||
# create minimum passwd file
|
|
||||||
#
|
|
||||||
cat > /mnt/etc/passwd <<EOM
|
|
||||||
root:*:0:0:Charlie &:/root:/bin/sh
|
|
||||||
EOM
|
|
||||||
|
|
||||||
cat > /mnt/etc/master.passwd <<EOM
|
|
||||||
root::0:0::0:0:Charlie &:/root:/bin/sh
|
|
||||||
EOM
|
|
||||||
|
|
||||||
chmod 600 /mnt/etc/master.passwd
|
|
||||||
chmod 644 /mnt/etc/passwd
|
|
||||||
/usr/sbin/pwd_mkdb -d/mnt/etc /mnt/etc/master.passwd
|
|
||||||
|
|
||||||
#
|
|
||||||
# umount the floppy and inform the user
|
|
||||||
#
|
|
||||||
/sbin/umount /mnt
|
|
||||||
echo "The floppy has been unmounted and is now ready."]]></programlisting>
|
|
||||||
|
|
||||||
</example>
|
|
||||||
|
|
||||||
</sect3>
|
</sect3>
|
||||||
|
|
||||||
<sect3>
|
<sect3>
|
||||||
|
@ -2879,23 +2728,16 @@ echo "The floppy has been unmounted and is now ready."]]></programlisting>
|
||||||
<para>If the hardware has been damaged, the parts should be replaced
|
<para>If the hardware has been damaged, the parts should be replaced
|
||||||
before attempting to use the computer.</para>
|
before attempting to use the computer.</para>
|
||||||
|
|
||||||
<para>If your hardware is okay, check your floppies. If you are using
|
<para>If your hardware is okay, insert the
|
||||||
a custom boot floppy, boot single-user (type <literal>-s</literal>
|
<quote>livefs</quote> CDROM in the CDROM drive and
|
||||||
at the <prompt>boot:</prompt> prompt). Skip the following
|
|
||||||
paragraph.</para>
|
|
||||||
|
|
||||||
<para>If you are using the <filename>boot.flp</filename> and
|
|
||||||
<filename>fixit.flp</filename> floppies, keep reading. Insert the
|
|
||||||
<filename>boot.flp</filename> floppy in the first floppy drive and
|
|
||||||
boot the computer. The original install menu will be displayed on
|
boot the computer. The original install menu will be displayed on
|
||||||
the screen. Select the <literal>Fixit--Repair mode with CDROM or
|
the screen. Select the correct country, then choose
|
||||||
floppy.</literal> option. Insert the
|
<guimenuitem>Fixit -- Repair mode with CDROM/DVD/floppy or
|
||||||
<filename>fixit.flp</filename> when prompted.
|
start a shell.</guimenuitem> option and select the
|
||||||
|
<guimenuitem>CDROM/DVD -- Use the live filesystem
|
||||||
|
CDROM/DVD</guimenuitem> item. The tool
|
||||||
<command>restore</command> and the other programs that you need are
|
<command>restore</command> and the other programs that you need are
|
||||||
located in <filename class="directory">/mnt2/rescue</filename>
|
located in <filename class="directory">/mnt2/rescue</filename>.</para>
|
||||||
(<filename class="directory">/mnt2/stand</filename> for
|
|
||||||
&os; versions older than 5.2).</para>
|
|
||||||
|
|
||||||
<para>Recover each file system separately.</para>
|
<para>Recover each file system separately.</para>
|
||||||
|
|
||||||
<indexterm>
|
<indexterm>
|
||||||
|
@ -2913,7 +2755,7 @@ echo "The floppy has been unmounted and is now ready."]]></programlisting>
|
||||||
bsdlabel was damaged, use <command>bsdlabel</command> to re-partition and
|
bsdlabel was damaged, use <command>bsdlabel</command> to re-partition and
|
||||||
label the disk to match the label that you printed and saved. Use
|
label the disk to match the label that you printed and saved. Use
|
||||||
<command>newfs</command> to re-create the file systems. Re-mount the root
|
<command>newfs</command> to re-create the file systems. Re-mount the root
|
||||||
partition of the floppy read-write (<command>mount -u -o rw
|
partition of the disk read-write (<command>mount -u -o rw
|
||||||
/mnt</command>). Use your backup program and backup tapes to
|
/mnt</command>). Use your backup program and backup tapes to
|
||||||
recover the data for this file system (e.g. <command>restore vrf
|
recover the data for this file system (e.g. <command>restore vrf
|
||||||
/dev/sa0</command>). Unmount the file system (e.g. <command>umount
|
/dev/sa0</command>). Unmount the file system (e.g. <command>umount
|
||||||
|
|
Loading…
Reference in a new issue