1231 lines
22 KiB
HTML
1231 lines
22 KiB
HTML
<HTML
|
|
><HEAD
|
|
><TITLE
|
|
>Frequently Asked Question (FAQ) list</TITLE
|
|
><META
|
|
NAME="GENERATOR"
|
|
CONTENT="Modular DocBook HTML Stylesheet Version 1.63
|
|
"><LINK
|
|
REL="HOME"
|
|
TITLE="The Linux Bootdisk HOWTO"
|
|
HREF="index.html"><LINK
|
|
REL="PREVIOUS"
|
|
TITLE="Creating bootable CD-ROMs"
|
|
HREF="cd-roms.html"><LINK
|
|
REL="NEXT"
|
|
TITLE="Resources and pointers"
|
|
HREF="a1376.html"></HEAD
|
|
><BODY
|
|
CLASS="SECT1"
|
|
BGCOLOR="#FFFFFF"
|
|
TEXT="#000000"
|
|
LINK="#0000FF"
|
|
VLINK="#840084"
|
|
ALINK="#0000FF"
|
|
><DIV
|
|
CLASS="NAVHEADER"
|
|
><TABLE
|
|
WIDTH="100%"
|
|
BORDER="0"
|
|
CELLPADDING="0"
|
|
CELLSPACING="0"
|
|
><TR
|
|
><TH
|
|
COLSPAN="3"
|
|
ALIGN="center"
|
|
>The Linux Bootdisk HOWTO</TH
|
|
></TR
|
|
><TR
|
|
><TD
|
|
WIDTH="10%"
|
|
ALIGN="left"
|
|
VALIGN="bottom"
|
|
><A
|
|
HREF="cd-roms.html"
|
|
>Prev</A
|
|
></TD
|
|
><TD
|
|
WIDTH="80%"
|
|
ALIGN="center"
|
|
VALIGN="bottom"
|
|
></TD
|
|
><TD
|
|
WIDTH="10%"
|
|
ALIGN="right"
|
|
VALIGN="bottom"
|
|
><A
|
|
HREF="a1376.html"
|
|
>Next</A
|
|
></TD
|
|
></TR
|
|
></TABLE
|
|
><HR
|
|
ALIGN="LEFT"
|
|
WIDTH="100%"></DIV
|
|
><DIV
|
|
CLASS="SECT1"
|
|
><H1
|
|
CLASS="SECT1"
|
|
><A
|
|
NAME="AEN1143"
|
|
>12. Frequently Asked Question (FAQ) list</A
|
|
></H1
|
|
><DIV
|
|
CLASS="QANDASET"
|
|
><DL
|
|
><DT
|
|
>Q: <A
|
|
HREF="x1143.html#AEN1147"
|
|
><EM
|
|
>I boot from my boot/root disks and nothing happens. What do I
|
|
do?</EM
|
|
></A
|
|
></DT
|
|
><DT
|
|
>Q: <A
|
|
HREF="x1143.html#AEN1154"
|
|
><EM
|
|
>How does the Slackware/Debian/RedHat bootdisk work?</EM
|
|
></A
|
|
></DT
|
|
><DT
|
|
>Q: <A
|
|
HREF="x1143.html#AEN1161"
|
|
><EM
|
|
>How do I use higher-density (> 1440K) diskettes? How do I figure out
|
|
which densities will work with my diskette drive?</EM
|
|
></A
|
|
></DT
|
|
><DT
|
|
>Q: <A
|
|
HREF="x1143.html#AEN1168"
|
|
><EM
|
|
>How do I increase the size of my ramdisks?</EM
|
|
></A
|
|
></DT
|
|
><DT
|
|
>Q: <A
|
|
HREF="x1143.html#AEN1192"
|
|
><EM
|
|
>How do I make bootable CD-ROMs? </EM
|
|
></A
|
|
></DT
|
|
><DT
|
|
>Q: <A
|
|
HREF="x1143.html#AEN1199"
|
|
><EM
|
|
>How do I make bootable LS-120 disks?</EM
|
|
></A
|
|
></DT
|
|
><DT
|
|
>Q: <A
|
|
HREF="x1143.html#AEN1210"
|
|
><EM
|
|
>How can I make a boot disk with a XYZ driver?</EM
|
|
></A
|
|
></DT
|
|
><DT
|
|
>Q: <A
|
|
HREF="x1143.html#AEN1227"
|
|
><EM
|
|
>How do I update my root diskette with new files?</EM
|
|
></A
|
|
></DT
|
|
><DT
|
|
>Q: <A
|
|
HREF="x1143.html#AEN1242"
|
|
><EM
|
|
>How do I remove LILO so that I can use DOS to boot again?</EM
|
|
></A
|
|
></DT
|
|
><DT
|
|
>Q: <A
|
|
HREF="x1143.html#AEN1258"
|
|
><EM
|
|
>How can I boot if I've lost my kernel <EM
|
|
>and</EM
|
|
>
|
|
my boot disk?</EM
|
|
></A
|
|
></DT
|
|
><DT
|
|
>Q: <A
|
|
HREF="x1143.html#AEN1281"
|
|
><EM
|
|
>How can I make extra copies of boot/root diskettes?</EM
|
|
></A
|
|
></DT
|
|
><DT
|
|
>Q: <A
|
|
HREF="x1143.html#AEN1304"
|
|
><EM
|
|
>How can I boot without typing in “ahaxxxx=nn,nn,nn” every time?</EM
|
|
></A
|
|
></DT
|
|
><DT
|
|
>Q: <A
|
|
HREF="x1143.html#AEN1337"
|
|
><EM
|
|
>At boot time, I get error “<TT
|
|
CLASS="LITERAL"
|
|
>A: cannot execute
|
|
B</TT
|
|
>”. Why?</EM
|
|
></A
|
|
></DT
|
|
><DT
|
|
>Q: <A
|
|
HREF="x1143.html#AEN1364"
|
|
><EM
|
|
>My kernel has ramdisk support, but initializes ramdisks of 0K. Why?</EM
|
|
></A
|
|
></DT
|
|
></DL
|
|
><DIV
|
|
CLASS="QANDAENTRY"
|
|
><DIV
|
|
CLASS="QUESTION"
|
|
><P
|
|
><A
|
|
NAME="AEN1147"
|
|
></A
|
|
><B
|
|
>Q: </B
|
|
><EM
|
|
>I boot from my boot/root disks and nothing happens. What do I
|
|
do?</EM
|
|
></P
|
|
></DIV
|
|
><DIV
|
|
CLASS="ANSWER"
|
|
><P
|
|
><B
|
|
>A: </B
|
|
>See <A
|
|
HREF="troubleshooting.html"
|
|
>Section 7</A
|
|
>, above.</P
|
|
></DIV
|
|
></DIV
|
|
><DIV
|
|
CLASS="QANDAENTRY"
|
|
><DIV
|
|
CLASS="QUESTION"
|
|
><P
|
|
><A
|
|
NAME="AEN1154"
|
|
></A
|
|
><B
|
|
>Q: </B
|
|
><EM
|
|
>How does the Slackware/Debian/RedHat bootdisk work?</EM
|
|
></P
|
|
></DIV
|
|
><DIV
|
|
CLASS="ANSWER"
|
|
><P
|
|
><B
|
|
>A: </B
|
|
>See <A
|
|
HREF="pros.html"
|
|
>Section 10</A
|
|
>, above.</P
|
|
></DIV
|
|
></DIV
|
|
><DIV
|
|
CLASS="QANDAENTRY"
|
|
><DIV
|
|
CLASS="QUESTION"
|
|
><P
|
|
><A
|
|
NAME="AEN1161"
|
|
></A
|
|
><B
|
|
>Q: </B
|
|
><EM
|
|
>How do I use higher-density (> 1440K) diskettes? How do I figure out
|
|
which densities will work with my diskette drive?</EM
|
|
></P
|
|
></DIV
|
|
><DIV
|
|
CLASS="ANSWER"
|
|
><P
|
|
><B
|
|
>A: </B
|
|
>See Section <A
|
|
HREF="slimfast.html"
|
|
>Section 8</A
|
|
>, above, for the comments by Alain Knaff
|
|
on this subject. His is the most authoritative answer I know of.</P
|
|
></DIV
|
|
></DIV
|
|
><DIV
|
|
CLASS="QANDAENTRY"
|
|
><DIV
|
|
CLASS="QUESTION"
|
|
><P
|
|
><A
|
|
NAME="AEN1168"
|
|
></A
|
|
><B
|
|
>Q: </B
|
|
><EM
|
|
>How do I increase the size of my ramdisks?</EM
|
|
></P
|
|
></DIV
|
|
><DIV
|
|
CLASS="ANSWER"
|
|
><P
|
|
><B
|
|
>A: </B
|
|
>This probably should be explained better in the text, but I'll put an answer
|
|
here for the time being.</P
|
|
><P
|
|
>First, <EM
|
|
>do not</EM
|
|
> attempt to use the <TT
|
|
CLASS="LITERAL"
|
|
>rdev</TT
|
|
>
|
|
or <TT
|
|
CLASS="LITERAL"
|
|
>ramsize</TT
|
|
> commands to do this, no matter what their
|
|
documentation says. The ramdisk word no longer determines the size of
|
|
ramdisks.</P
|
|
><P
|
|
>Second, keep in mind that ramdisks are actually dynamic; when you set a
|
|
ramdisk size you aren't allocating any memory, you're just setting the limit
|
|
of how large it can grow. Don't be afraid to set these fairly large (eg, 8 or
|
|
even 16 meg). The RAM space is not actually consumed until you need it.
|
|
You can set these limits in one of several ways. </P
|
|
><P
|
|
><P
|
|
></P
|
|
><OL
|
|
TYPE="1"
|
|
><LI
|
|
><P
|
|
>Use the <TT
|
|
CLASS="LITERAL"
|
|
>ramdisk_size=NNN</TT
|
|
> command line
|
|
parameter. You can either enter this manually or use a command like
|
|
<TT
|
|
CLASS="LITERAL"
|
|
>append="ramdisk_size=NNN"</TT
|
|
> with LILO.</P
|
|
></LI
|
|
><LI
|
|
><P
|
|
>If you're using LILO, you can use a kernel option like
|
|
<TT
|
|
CLASS="LITERAL"
|
|
>ramdisk=8192K</TT
|
|
> in the <TT
|
|
CLASS="LITERAL"
|
|
>lilo.conf</TT
|
|
> file.</P
|
|
></LI
|
|
><LI
|
|
><P
|
|
>Change the kernel configuration option
|
|
<TT
|
|
CLASS="LITERAL"
|
|
>CONFIG_BLK_DEV_RAM_SIZE</TT
|
|
> and recompile your kernel.</P
|
|
></LI
|
|
></OL
|
|
></P
|
|
></DIV
|
|
></DIV
|
|
><DIV
|
|
CLASS="QANDAENTRY"
|
|
><DIV
|
|
CLASS="QUESTION"
|
|
><P
|
|
><A
|
|
NAME="AEN1192"
|
|
></A
|
|
><B
|
|
>Q: </B
|
|
><EM
|
|
>How do I make bootable CD-ROMs? </EM
|
|
></P
|
|
></DIV
|
|
><DIV
|
|
CLASS="ANSWER"
|
|
><P
|
|
><B
|
|
>A: </B
|
|
>See section <A
|
|
HREF="cd-roms.html"
|
|
>Section 11</A
|
|
>.</P
|
|
></DIV
|
|
></DIV
|
|
><DIV
|
|
CLASS="QANDAENTRY"
|
|
><DIV
|
|
CLASS="QUESTION"
|
|
><P
|
|
><A
|
|
NAME="AEN1199"
|
|
></A
|
|
><B
|
|
>Q: </B
|
|
><EM
|
|
>How do I make bootable LS-120 disks?</EM
|
|
></P
|
|
></DIV
|
|
><DIV
|
|
CLASS="ANSWER"
|
|
><P
|
|
><B
|
|
>A: </B
|
|
>Since I don't have an LS-120 drive, the following information is summarized
|
|
from <A
|
|
HREF="http://www.linuxrouter.org/floppy.shtml"
|
|
TARGET="_top"
|
|
> information
|
|
provided by Dave Cinege</A
|
|
> from the Linux Router Project.</P
|
|
><P
|
|
> The LS-120 is an IDE floppy drive. It is compatible with both standard 3.5"
|
|
disks and the new 120MB disks. As of Linux v2.0.31 there is full support. To
|
|
be able to boot from these you must have a BIOS that specifically allows the
|
|
LS-120 to be treated as drive 0 (whereas IDE devices normally start at 80).
|
|
If you do not have BIOS support, you can purchase a small IDE FloppyMAX card
|
|
from Promise Technologies to overcome this deficiency.</P
|
|
><P
|
|
> The kernel boot loader does not like the LS-120, and instantly dies. Also 2m
|
|
disks do not like it and will not boot. 1.44MB through 1.74MB disks will work
|
|
fine. SYSLINUX works with the 120MB disks as of v1.32. You would better off
|
|
partitioning the disk and using ext2 or minix, instead of SYSLINUX unless you
|
|
need MS-DOS compatibility.</P
|
|
><P
|
|
>LILO does work fine with 120MB disks. Here is a sample lilo.conf:
|
|
<TABLE
|
|
BORDER="1"
|
|
BGCOLOR="#E0E0E0"
|
|
WIDTH="100%"
|
|
><TR
|
|
><TD
|
|
><FONT
|
|
COLOR="#000000"
|
|
><PRE
|
|
CLASS="SCREEN"
|
|
> boot=/dev/hda
|
|
compact
|
|
disk=/dev/hda bios=0
|
|
install=/floppy/boot.b
|
|
map=/floppy/map
|
|
image=/floppy/linux
|
|
label=Linux
|
|
append="load_ramdisk=1"
|
|
initrd=/floppy/root.bin
|
|
ramdisk=8192</PRE
|
|
></FONT
|
|
></TD
|
|
></TR
|
|
></TABLE
|
|
>
|
|
The line "disk=/dev/hda bios=0" is what does the trick to make it boot the
|
|
LS-120.</P
|
|
></DIV
|
|
></DIV
|
|
><DIV
|
|
CLASS="QANDAENTRY"
|
|
><DIV
|
|
CLASS="QUESTION"
|
|
><P
|
|
><A
|
|
NAME="AEN1210"
|
|
></A
|
|
><B
|
|
>Q: </B
|
|
><EM
|
|
>How can I make a boot disk with a XYZ driver?</EM
|
|
></P
|
|
></DIV
|
|
><DIV
|
|
CLASS="ANSWER"
|
|
><P
|
|
><B
|
|
>A: </B
|
|
>The easiest way is to obtain a Slackware kernel from your nearest Slackware
|
|
mirror site. Slackware kernels are generic kernels which atttempt to
|
|
include drivers for as many devices as possible, so if you have a SCSI or
|
|
IDE controller, chances are that a driver for it is included in the
|
|
Slackware kernel.</P
|
|
><P
|
|
>Go to the <TT
|
|
CLASS="FILENAME"
|
|
>a1</TT
|
|
> directory and select either IDE or SCSI
|
|
kernel depending on the type of controller you have. Check the xxxxkern.cfg
|
|
file for the selected kernel to see the drivers which have been included in
|
|
that kernel. If the device you want is in that list, then the corresponding
|
|
kernel should boot your computer. Download the xxxxkern.tgz file and copy
|
|
it to your boot diskette as described above in the section on making boot
|
|
disks.</P
|
|
><P
|
|
> You must then check the root device in the kernel, using the command
|
|
<B
|
|
CLASS="COMMAND"
|
|
>rdev zImage</B
|
|
>. If this is not the same as the root device
|
|
you want, use <B
|
|
CLASS="COMMAND"
|
|
>rdev</B
|
|
> to change it. For example, the kernel I
|
|
tried was set to <TT
|
|
CLASS="FILENAME"
|
|
>/dev/sda2</TT
|
|
>, but my root SCSI partition is
|
|
<TT
|
|
CLASS="FILENAME"
|
|
>/dev/sda8</TT
|
|
>. To use a root diskette, you would have to use
|
|
the command <B
|
|
CLASS="COMMAND"
|
|
>rdev zImage /dev/fd0</B
|
|
>.</P
|
|
><P
|
|
>If you want to know how to set up a Slackware root disk as well, that's
|
|
outside the scope of this HOWTO, so I suggest you check the Linux Install
|
|
Guide or get the Slackware distribution. See the section in this HOWTO titled
|
|
``References''.</P
|
|
></DIV
|
|
></DIV
|
|
><DIV
|
|
CLASS="QANDAENTRY"
|
|
><DIV
|
|
CLASS="QUESTION"
|
|
><P
|
|
><A
|
|
NAME="AEN1227"
|
|
></A
|
|
><B
|
|
>Q: </B
|
|
><EM
|
|
>How do I update my root diskette with new files?</EM
|
|
></P
|
|
></DIV
|
|
><DIV
|
|
CLASS="ANSWER"
|
|
><P
|
|
><B
|
|
>A: </B
|
|
>
|
|
|
|
|
|
The easiest way is to copy the filesystem from the rootdisk back to the
|
|
<SPAN
|
|
CLASS="SYMBOL"
|
|
>DEVICE</SPAN
|
|
> you used (from <A
|
|
HREF="buildroot.html#CREATINGROOTFS"
|
|
>Section 4.2</A
|
|
>, above).
|
|
Then mount the filesystem and make the changes. You have to remember where
|
|
your root filesystem started and how many blocks it occupied:
|
|
<TABLE
|
|
BORDER="1"
|
|
BGCOLOR="#E0E0E0"
|
|
WIDTH="100%"
|
|
><TR
|
|
><TD
|
|
><FONT
|
|
COLOR="#000000"
|
|
><PRE
|
|
CLASS="SCREEN"
|
|
> dd if=/dev/fd0 bs=1k skip=ROOTBEGIN count=BLOCKS | gunzip > <SPAN
|
|
CLASS="SYMBOL"
|
|
>DEVICE</SPAN
|
|
>
|
|
mount -t ext2 <SPAN
|
|
CLASS="SYMBOL"
|
|
>DEVICE</SPAN
|
|
> /mnt</PRE
|
|
></FONT
|
|
></TD
|
|
></TR
|
|
></TABLE
|
|
>
|
|
After making the changes, proceed as before (in <A
|
|
HREF="buildroot.html#WRAPPINGITUP"
|
|
>Section 4.7</A
|
|
>) and transfer the root filesystem back to the disk.
|
|
You should not have to re-transfer the kernel or re-compute the ramdisk word
|
|
if you do not change the starting position of the new root filesystem.</P
|
|
></DIV
|
|
></DIV
|
|
><DIV
|
|
CLASS="QANDAENTRY"
|
|
><DIV
|
|
CLASS="QUESTION"
|
|
><P
|
|
><A
|
|
NAME="AEN1242"
|
|
></A
|
|
><B
|
|
>Q: </B
|
|
><EM
|
|
>How do I remove LILO so that I can use DOS to boot again?</EM
|
|
></P
|
|
></DIV
|
|
><DIV
|
|
CLASS="ANSWER"
|
|
><P
|
|
><B
|
|
>A: </B
|
|
>This is not really a Bootdisk topic, but it is asked often. Within Linux, you
|
|
can run:
|
|
<TABLE
|
|
BORDER="1"
|
|
BGCOLOR="#E0E0E0"
|
|
WIDTH="100%"
|
|
><TR
|
|
><TD
|
|
><FONT
|
|
COLOR="#000000"
|
|
><PRE
|
|
CLASS="SCREEN"
|
|
> /sbin/lilo -u</PRE
|
|
></FONT
|
|
></TD
|
|
></TR
|
|
></TABLE
|
|
></P
|
|
><P
|
|
> You can also use the <B
|
|
CLASS="COMMAND"
|
|
>dd</B
|
|
> command to copy the
|
|
backup saved by LILO to the boot sector. Refer to the LILO documentation
|
|
if you wish to do this.</P
|
|
><P
|
|
>Within DOS and Windows you can use the DOS command:
|
|
<TABLE
|
|
BORDER="1"
|
|
BGCOLOR="#E0E0E0"
|
|
WIDTH="100%"
|
|
><TR
|
|
><TD
|
|
><FONT
|
|
COLOR="#000000"
|
|
><PRE
|
|
CLASS="SCREEN"
|
|
> FDISK /MBR</PRE
|
|
></FONT
|
|
></TD
|
|
></TR
|
|
></TABLE
|
|
>
|
|
MBR stands for Master Boot Record. This command replaces the boot sector
|
|
with a clean DOS one, without affecting the partition table. Some purists
|
|
disagree with this, but even the author of LILO, Werner Almesberger,
|
|
suggests it. It is easy, and it works.</P
|
|
></DIV
|
|
></DIV
|
|
><DIV
|
|
CLASS="QANDAENTRY"
|
|
><DIV
|
|
CLASS="QUESTION"
|
|
><P
|
|
><A
|
|
NAME="AEN1258"
|
|
></A
|
|
><B
|
|
>Q: </B
|
|
><EM
|
|
>How can I boot if I've lost my kernel <EM
|
|
>and</EM
|
|
>
|
|
my boot disk?</EM
|
|
></P
|
|
></DIV
|
|
><DIV
|
|
CLASS="ANSWER"
|
|
><P
|
|
><B
|
|
>A: </B
|
|
>If you don't have a boot disk standing by, probably the easiest method is
|
|
to obtain a Slackware kernel for your disk controller type (IDE or SCSI) as
|
|
described above for ``How do I make a boot disk with a XXX driver?''. You
|
|
can then boot your computer using this kernel, then repair whatever damage
|
|
there is.</P
|
|
><P
|
|
> The kernel you get may not have the root device set to the disk type
|
|
and partition you want. For example, Slackware's generic SCSI kernel has
|
|
the root device set to <TT
|
|
CLASS="FILENAME"
|
|
>/dev/sda2</TT
|
|
>, whereas my root
|
|
Linux partition happens to be <TT
|
|
CLASS="FILENAME"
|
|
>/dev/sda8</TT
|
|
>. In this case
|
|
the root device in the kernel will have to be changed.</P
|
|
><P
|
|
>You can still change the root device and ramdisk settings in the kernel
|
|
even if all you have is a kernel, and some other operating system,
|
|
such as DOS.</P
|
|
><P
|
|
> <B
|
|
CLASS="COMMAND"
|
|
>rdev</B
|
|
> changes kernel settings by changing the
|
|
values at fixed offsets in the kernel file, so you can do the same if you
|
|
have a hex editor available on whatever systems you do still have running
|
|
-- for example, Norton Utilities Disk Editor under DOS. You then need to
|
|
check and if necessary change the values in the kernel at the following
|
|
offsets:
|
|
|
|
|
|
|
|
|
|
<TABLE
|
|
BORDER="1"
|
|
BGCOLOR="#E0E0E0"
|
|
WIDTH="100%"
|
|
><TR
|
|
><TD
|
|
><FONT
|
|
COLOR="#000000"
|
|
><PRE
|
|
CLASS="SCREEN"
|
|
>HEX DEC DESCRIPTION
|
|
0x01F8 504 Low byte of RAMDISK word
|
|
0x01F9 505 High byte of RAMDISK word
|
|
0x01FC 508 Root minor device number - see below
|
|
0X01FD 509 Root major device number - see below</PRE
|
|
></FONT
|
|
></TD
|
|
></TR
|
|
></TABLE
|
|
></P
|
|
><P
|
|
>The interpretation of the ramdisk word was described in <A
|
|
HREF="x703.html#SETTINGRAMDISKWORD"
|
|
>Section 6.3</A
|
|
>, above.</P
|
|
><P
|
|
>The major and minor device numbers must be set to the device you want to mount
|
|
your root filesystem on. Some useful values to select from are:
|
|
<TABLE
|
|
BORDER="1"
|
|
BGCOLOR="#E0E0E0"
|
|
WIDTH="100%"
|
|
><TR
|
|
><TD
|
|
><FONT
|
|
COLOR="#000000"
|
|
><PRE
|
|
CLASS="SCREEN"
|
|
>DEVICE MAJOR MINOR
|
|
/dev/fd0 2 0 1st floppy drive
|
|
/dev/hda1 3 1 partition 1 on 1st IDE drive
|
|
/dev/sda1 8 1 partition 1 on 1st SCSI drive
|
|
/dev/sda8 8 8 partition 8 on 1st SCSI drive</PRE
|
|
></FONT
|
|
></TD
|
|
></TR
|
|
></TABLE
|
|
>
|
|
Once you have set these values then you can write the file to a diskette
|
|
using either Norton Utilities Disk Editor, or a program called
|
|
<B
|
|
CLASS="COMMAND"
|
|
>rawrite.exe</B
|
|
>. This program is included in all
|
|
distributions. It is a DOS program which writes a file to the ``raw''
|
|
disk, starting at the boot sector, instead of writing it to the file
|
|
system. If you use Norton Utilities you must write the file to a physical
|
|
disk starting at the beginning of the disk.</P
|
|
></DIV
|
|
></DIV
|
|
><DIV
|
|
CLASS="QANDAENTRY"
|
|
><DIV
|
|
CLASS="QUESTION"
|
|
><P
|
|
><A
|
|
NAME="AEN1281"
|
|
></A
|
|
><B
|
|
>Q: </B
|
|
><EM
|
|
>How can I make extra copies of boot/root diskettes?</EM
|
|
></P
|
|
></DIV
|
|
><DIV
|
|
CLASS="ANSWER"
|
|
><P
|
|
><B
|
|
>A: </B
|
|
>Because magnetic media may deteriorate over time, you should keep several
|
|
copies of your rescue disk, in case the original is unreadable.</P
|
|
><P
|
|
>
|
|
The easiest way of making copies of any diskettes, including
|
|
bootable and utility diskettes, is to use the <B
|
|
CLASS="COMMAND"
|
|
>dd</B
|
|
> command
|
|
to copy the contents of the original diskette to a file on your hard drive,
|
|
and then use the same command to copy the file back to a new diskette.
|
|
Note that you do not need to, and should not, mount the diskettes, because
|
|
<B
|
|
CLASS="COMMAND"
|
|
>dd</B
|
|
> uses the raw device interface.</P
|
|
><P
|
|
>To copy the original, enter the command:
|
|
<TABLE
|
|
BORDER="1"
|
|
BGCOLOR="#E0E0E0"
|
|
WIDTH="100%"
|
|
><TR
|
|
><TD
|
|
><FONT
|
|
COLOR="#000000"
|
|
><PRE
|
|
CLASS="SCREEN"
|
|
> dd if=<SPAN
|
|
CLASS="SYMBOL"
|
|
>DEVICENAME</SPAN
|
|
> of=<SPAN
|
|
CLASS="SYMBOL"
|
|
>FILENAME</SPAN
|
|
></PRE
|
|
></FONT
|
|
></TD
|
|
></TR
|
|
></TABLE
|
|
>
|
|
|
|
where <SPAN
|
|
CLASS="SYMBOL"
|
|
>DEVICENAME</SPAN
|
|
> is the device name of the diskette drive and
|
|
<SPAN
|
|
CLASS="SYMBOL"
|
|
>FILENAME</SPAN
|
|
> is the name of the (hard-disk) output file. Omitting the
|
|
<TT
|
|
CLASS="LITERAL"
|
|
>count</TT
|
|
> parameter causes <B
|
|
CLASS="COMMAND"
|
|
>dd</B
|
|
> to copy the
|
|
whole diskette (2880 blocks if high-density).</P
|
|
><P
|
|
>To copy the resulting file back to a new diskette, insert the new
|
|
diskette and enter the reverse command:
|
|
<TABLE
|
|
BORDER="1"
|
|
BGCOLOR="#E0E0E0"
|
|
WIDTH="100%"
|
|
><TR
|
|
><TD
|
|
><FONT
|
|
COLOR="#000000"
|
|
><PRE
|
|
CLASS="SCREEN"
|
|
> dd if=<SPAN
|
|
CLASS="SYMBOL"
|
|
>FILENAME</SPAN
|
|
> of=<SPAN
|
|
CLASS="SYMBOL"
|
|
>DEVICENAME</SPAN
|
|
></PRE
|
|
></FONT
|
|
></TD
|
|
></TR
|
|
></TABLE
|
|
></P
|
|
><P
|
|
>Note that the above discussion assumes that you have only one diskette
|
|
drive. If you have two of the same type, you can copy diskettes using a
|
|
command like:
|
|
<TABLE
|
|
BORDER="1"
|
|
BGCOLOR="#E0E0E0"
|
|
WIDTH="100%"
|
|
><TR
|
|
><TD
|
|
><FONT
|
|
COLOR="#000000"
|
|
><PRE
|
|
CLASS="SCREEN"
|
|
> dd if=/dev/fd0 of=/dev/fd1</PRE
|
|
></FONT
|
|
></TD
|
|
></TR
|
|
></TABLE
|
|
></P
|
|
></DIV
|
|
></DIV
|
|
><DIV
|
|
CLASS="QANDAENTRY"
|
|
><DIV
|
|
CLASS="QUESTION"
|
|
><P
|
|
><A
|
|
NAME="AEN1304"
|
|
></A
|
|
><B
|
|
>Q: </B
|
|
><EM
|
|
>How can I boot without typing in “ahaxxxx=nn,nn,nn” every time?</EM
|
|
></P
|
|
></DIV
|
|
><DIV
|
|
CLASS="ANSWER"
|
|
><P
|
|
><B
|
|
>A: </B
|
|
>
|
|
|
|
|
|
Where a disk device cannot be autodetected it is necessary to supply the
|
|
kernel with a command device parameter string, such as:
|
|
<TABLE
|
|
BORDER="1"
|
|
BGCOLOR="#E0E0E0"
|
|
WIDTH="100%"
|
|
><TR
|
|
><TD
|
|
><FONT
|
|
COLOR="#000000"
|
|
><PRE
|
|
CLASS="SCREEN"
|
|
> aha152x=0x340,11,3,1</PRE
|
|
></FONT
|
|
></TD
|
|
></TR
|
|
></TABLE
|
|
>
|
|
|
|
This parameter string can be supplied in several ways using LILO:
|
|
<P
|
|
></P
|
|
><UL
|
|
><LI
|
|
><P
|
|
>By entering it on the command line every time the system is booted via
|
|
LILO. This is boring, though.</P
|
|
></LI
|
|
><LI
|
|
><P
|
|
>By using LILO's <TT
|
|
CLASS="LITERAL"
|
|
>lock</TT
|
|
> keyword to make it store the
|
|
command line as the default command line, so that LILO will use the same
|
|
options every time it boots.</P
|
|
></LI
|
|
><LI
|
|
><P
|
|
>By using the <TT
|
|
CLASS="LITERAL"
|
|
>append=</TT
|
|
> statement in the LILO config file.
|
|
Note that the parameter string must be enclosed in quotes.</P
|
|
></LI
|
|
></UL
|
|
></P
|
|
><P
|
|
> For example, a sample command line using the above parameter string
|
|
would be:
|
|
<TABLE
|
|
BORDER="1"
|
|
BGCOLOR="#E0E0E0"
|
|
WIDTH="100%"
|
|
><TR
|
|
><TD
|
|
><FONT
|
|
COLOR="#000000"
|
|
><PRE
|
|
CLASS="SCREEN"
|
|
> zImage aha152x=0x340,11,3,1 root=/dev/sda1 lock</PRE
|
|
></FONT
|
|
></TD
|
|
></TR
|
|
></TABLE
|
|
></P
|
|
><P
|
|
> This would pass the device parameter string through, and also ask
|
|
the kernel to set the root device to <TT
|
|
CLASS="FILENAME"
|
|
>/dev/sda1</TT
|
|
> and
|
|
save the whole command line and reuse it for all future boots.</P
|
|
><P
|
|
>A sample APPEND statement is:
|
|
<TABLE
|
|
BORDER="1"
|
|
BGCOLOR="#E0E0E0"
|
|
WIDTH="100%"
|
|
><TR
|
|
><TD
|
|
><FONT
|
|
COLOR="#000000"
|
|
><PRE
|
|
CLASS="SCREEN"
|
|
> APPEND = “aha152x=0x340,11,3,1”</PRE
|
|
></FONT
|
|
></TD
|
|
></TR
|
|
></TABLE
|
|
></P
|
|
><P
|
|
> Note that the parameter string must <EM
|
|
>not</EM
|
|
> be
|
|
enclosed in quotes on the command line, but it <EM
|
|
>must</EM
|
|
> be
|
|
enclosed in quotes in the <TT
|
|
CLASS="LITERAL"
|
|
>APPEND</TT
|
|
> statement.</P
|
|
><P
|
|
> Note also that for the parameter string to be acted on, the kernel
|
|
must contain the driver for that disk type. If it does not, then there is
|
|
nothing listening for the parameter string, and you will have to rebuild
|
|
the kernel to include the required driver. For details on rebuilding the
|
|
kernel, go to <TT
|
|
CLASS="FILENAME"
|
|
>/usr/src/linux</TT
|
|
> and read the README, and
|
|
read the Linux FAQ and Installation HOWTO. Alternatively you could obtain
|
|
a generic kernel for the disk type and install that.</P
|
|
><P
|
|
>Readers are strongly urged to read the LILO documentation before
|
|
experimenting with LILO installation. Incautious use of the
|
|
<TT
|
|
CLASS="LITERAL"
|
|
>BOOT</TT
|
|
> statement can damage partitions.</P
|
|
></DIV
|
|
></DIV
|
|
><DIV
|
|
CLASS="QANDAENTRY"
|
|
><DIV
|
|
CLASS="QUESTION"
|
|
><P
|
|
><A
|
|
NAME="AEN1337"
|
|
></A
|
|
><B
|
|
>Q: </B
|
|
><EM
|
|
>At boot time, I get error “<TT
|
|
CLASS="LITERAL"
|
|
>A: cannot execute
|
|
B</TT
|
|
>”. Why?</EM
|
|
></P
|
|
></DIV
|
|
><DIV
|
|
CLASS="ANSWER"
|
|
><P
|
|
><B
|
|
>A: </B
|
|
>
|
|
There are several cases of program names being hardcoded in various utilities.
|
|
These cases do not occur everywhere, but they may explain why an executable
|
|
apparently cannot be found on your system even though you can see that it is
|
|
there. You can find out if a given program has the name of another hardcoded
|
|
by using the <B
|
|
CLASS="COMMAND"
|
|
>strings</B
|
|
> command and piping the output
|
|
through <B
|
|
CLASS="COMMAND"
|
|
>grep</B
|
|
>.</P
|
|
><P
|
|
>Known examples of hardcoding are:
|
|
|
|
<P
|
|
></P
|
|
><UL
|
|
><LI
|
|
><P
|
|
><B
|
|
CLASS="COMMAND"
|
|
>shutdown</B
|
|
> in some versions has
|
|
<TT
|
|
CLASS="FILENAME"
|
|
>/etc/reboot</TT
|
|
> hardcoded, so <B
|
|
CLASS="COMMAND"
|
|
>reboot</B
|
|
>
|
|
must be placed in the <TT
|
|
CLASS="FILENAME"
|
|
>/etc</TT
|
|
> directory.</P
|
|
></LI
|
|
><LI
|
|
><P
|
|
><B
|
|
CLASS="COMMAND"
|
|
>init</B
|
|
> has caused problems for at least one person, with the
|
|
kernel being unable to find <B
|
|
CLASS="COMMAND"
|
|
>init</B
|
|
>.</P
|
|
></LI
|
|
></UL
|
|
></P
|
|
><P
|
|
> To fix these problems, either move the programs to the correct
|
|
directory, or change configuration files
|
|
(e.g. <TT
|
|
CLASS="FILENAME"
|
|
>inittab</TT
|
|
>) to point to the correct directory. If
|
|
in doubt, put programs in the same directories as they are on your hard
|
|
disk, and use the same <TT
|
|
CLASS="FILENAME"
|
|
>inittab</TT
|
|
> and
|
|
<TT
|
|
CLASS="FILENAME"
|
|
>/etc/rc.d</TT
|
|
> files as they appear on your hard disk.</P
|
|
></DIV
|
|
></DIV
|
|
><DIV
|
|
CLASS="QANDAENTRY"
|
|
><DIV
|
|
CLASS="QUESTION"
|
|
><P
|
|
><A
|
|
NAME="AEN1364"
|
|
></A
|
|
><B
|
|
>Q: </B
|
|
><EM
|
|
>My kernel has ramdisk support, but initializes ramdisks of 0K. Why?</EM
|
|
></P
|
|
></DIV
|
|
><DIV
|
|
CLASS="ANSWER"
|
|
><P
|
|
><B
|
|
>A: </B
|
|
>Where this occurs, a kernel message like this will appear as the kernel is
|
|
booting:
|
|
<TABLE
|
|
BORDER="1"
|
|
BGCOLOR="#E0E0E0"
|
|
WIDTH="100%"
|
|
><TR
|
|
><TD
|
|
><FONT
|
|
COLOR="#000000"
|
|
><PRE
|
|
CLASS="SCREEN"
|
|
> Ramdisk driver initialized : 16 ramdisks of 0K size</PRE
|
|
></FONT
|
|
></TD
|
|
></TR
|
|
></TABLE
|
|
></P
|
|
><P
|
|
>This is probably because the size has been set to 0 by kernel parameters at
|
|
boot time. This could possibly be because of an overlooked LILO configuration
|
|
file parameter:
|
|
<TABLE
|
|
BORDER="1"
|
|
BGCOLOR="#E0E0E0"
|
|
WIDTH="100%"
|
|
><TR
|
|
><TD
|
|
><FONT
|
|
COLOR="#000000"
|
|
><PRE
|
|
CLASS="SCREEN"
|
|
> ramdisk= 0</PRE
|
|
></FONT
|
|
></TD
|
|
></TR
|
|
></TABLE
|
|
></P
|
|
><P
|
|
>This was included in sample LILO configuration files in some older
|
|
distributions, and was put there to override any previous kernel setting. If
|
|
you have such a line, remove it.</P
|
|
><P
|
|
>Note that if you attempt to use a ramdisk of 0 size, the
|
|
behaviour can be unpredictable, and can result in kernel panics.</P
|
|
></DIV
|
|
></DIV
|
|
></DIV
|
|
></DIV
|
|
><DIV
|
|
CLASS="NAVFOOTER"
|
|
><HR
|
|
ALIGN="LEFT"
|
|
WIDTH="100%"><TABLE
|
|
WIDTH="100%"
|
|
BORDER="0"
|
|
CELLPADDING="0"
|
|
CELLSPACING="0"
|
|
><TR
|
|
><TD
|
|
WIDTH="33%"
|
|
ALIGN="left"
|
|
VALIGN="top"
|
|
><A
|
|
HREF="cd-roms.html"
|
|
>Prev</A
|
|
></TD
|
|
><TD
|
|
WIDTH="34%"
|
|
ALIGN="center"
|
|
VALIGN="top"
|
|
><A
|
|
HREF="index.html"
|
|
>Home</A
|
|
></TD
|
|
><TD
|
|
WIDTH="33%"
|
|
ALIGN="right"
|
|
VALIGN="top"
|
|
><A
|
|
HREF="a1376.html"
|
|
>Next</A
|
|
></TD
|
|
></TR
|
|
><TR
|
|
><TD
|
|
WIDTH="33%"
|
|
ALIGN="left"
|
|
VALIGN="top"
|
|
>Creating bootable CD-ROMs</TD
|
|
><TD
|
|
WIDTH="34%"
|
|
ALIGN="center"
|
|
VALIGN="top"
|
|
> </TD
|
|
><TD
|
|
WIDTH="33%"
|
|
ALIGN="right"
|
|
VALIGN="top"
|
|
>Resources and pointers</TD
|
|
></TR
|
|
></TABLE
|
|
></DIV
|
|
></BODY
|
|
></HTML
|
|
> |