mirror of https://github.com/tLDP/LDP
updated
This commit is contained in:
parent
229f94d55a
commit
0c506f827f
|
@ -1,3 +1,4 @@
|
|||
|
||||
<!DOCTYPE article PUBLIC "-//OASIS//DTD DocBook V3.1//EN">
|
||||
|
||||
<Article Lang="en">
|
||||
|
@ -15,21 +16,21 @@
|
|||
</Author>
|
||||
|
||||
<Copyright>
|
||||
<Year>1995,1996,1997,1998,1999,2000,2001</Year>
|
||||
<Year>1995-2002</Year>
|
||||
<Holder>Tom Fawcett</Holder>
|
||||
</Copyright>
|
||||
|
||||
<Legalnotice>
|
||||
<Para>
|
||||
Copyright © 1995,1996,1997,1998,1999,2000,2001 by Tom Fawcett and
|
||||
Graham Chapman. This document may be distributed under the terms set
|
||||
forth in the <Ulink url="http://linuxdoc.org/copyright.html">Linux
|
||||
Documentation Project License</Ulink>. Please contact the authors if
|
||||
you are unable to get the license.
|
||||
<Para>
|
||||
Copyright © 1995-2002 by Tom Fawcett and Graham Chapman.
|
||||
This document may be distributed under the terms set forth in the <Ulink
|
||||
url="http://linuxdoc.org/copyright.html">Linux Documentation Project
|
||||
License</Ulink>. Please contact the authors if you are unable to get
|
||||
the license.
|
||||
</Para>
|
||||
</Legalnotice>
|
||||
|
||||
<Pubdate>v4.4, June 2001</Pubdate>
|
||||
<Pubdate>v4.5, January 2002</Pubdate>
|
||||
|
||||
<Abstract>
|
||||
<Para> This document describes how to design and build boot/root
|
||||
|
@ -48,7 +49,7 @@
|
|||
<Important>
|
||||
<Para> This document may be outdated. If the date on the title page is
|
||||
more than six months ago, please check the <Ulink
|
||||
url="http://www.croftj.net/~fawcett/Bootdisk-HOWTO/index.html">
|
||||
url="http://www.linuxlots.com/~fawcett/Bootdisk-HOWTO/index.html">
|
||||
Bootdisk-HOWTO homepage</Ulink> to see if a more recent version exists.
|
||||
</Para>
|
||||
</Important>
|
||||
|
@ -71,7 +72,7 @@
|
|||
currently unknown.
|
||||
</Para>
|
||||
|
||||
<Para> This information is intended for Linux on the
|
||||
<Para>This information is intended for Linux on the
|
||||
<Emphasis>Intel</Emphasis> platform. Much of this information may be
|
||||
applicable to Linux on other processors, but I have no first-hand
|
||||
experience or information about this. If you have experience with
|
||||
|
@ -80,35 +81,45 @@
|
|||
|
||||
</Sect2>
|
||||
|
||||
<Sect2><Title>Yet to do</Title>
|
||||
<Sect2><Title>To do list</Title>
|
||||
|
||||
<Para>
|
||||
|
||||
<Orderedlist>
|
||||
|
||||
<Listitem>
|
||||
<Para>
|
||||
Create chapter on dealing with large bootdisk components, eg
|
||||
<filename>libc.so</filename>, busybox, uClib, etc.
|
||||
<Para> User-mode-linux (<ULink url="
|
||||
http://user-mode-linux.sourceforge.net/">
|
||||
http://user-mode-linux.sourceforge.net</ULink>) seems like a great
|
||||
way to test out bootdisks without having to reboot your machine
|
||||
constantly. I haven't been able to get it to work. If anyone has
|
||||
been using this consistently with homemade bootdisks, please let
|
||||
me know.
|
||||
</Para>
|
||||
</Listitem>
|
||||
|
||||
<Listitem>
|
||||
<Para>
|
||||
Create chapter on dealing with large bootdisk components, eg
|
||||
<filename>libc.so</filename>, busybox, uClib, etc.
|
||||
</Para>
|
||||
</Listitem>
|
||||
|
||||
<Listitem>
|
||||
<Para>
|
||||
Mention user-mode-linux as a way of testing out bootdisks,
|
||||
if I can ever get it to work. </Para>
|
||||
</Listitem>
|
||||
|
||||
<Listitem>
|
||||
<Para> Re-analyze distribution bootdisks and update the "How the
|
||||
Pros do it" section.
|
||||
Pros do it" section.
|
||||
</Para>
|
||||
</Listitem>
|
||||
|
||||
<Listitem>
|
||||
<Para>Figure out just how much of the init-getty-login sequence can
|
||||
be simplified, and rip it out. A few people have said that
|
||||
init can be linked directly to /bin/sh; if so, and if this imposes
|
||||
no great limitations, alter the instructions to do this.
|
||||
This would eliminate the need for getty, login, gettydefs, and
|
||||
maybe all that PAM and NSS stuff.
|
||||
</Para>
|
||||
</Listitem>
|
||||
|
||||
<Listitem>
|
||||
<Para>Go through the 2.4 kernel source code again and write a
|
||||
detailed explanation of how the boot process and ramdisk-loading
|
||||
process work, in detail. (If only so that I understand it
|
||||
better.) There are some issues about initrd and limitations of
|
||||
booting devices (eg flash memory) that I don't understand yet.
|
||||
</Para>
|
||||
</Listitem>
|
||||
|
||||
|
@ -119,6 +130,11 @@
|
|||
</Para>
|
||||
</Listitem>
|
||||
|
||||
<Listitem>
|
||||
<Para>Replace rdev commands with LILO keywords.
|
||||
</Para>
|
||||
</Listitem>
|
||||
|
||||
</Orderedlist>
|
||||
</Para>
|
||||
</Sect2>
|
||||
|
@ -127,9 +143,10 @@
|
|||
|
||||
<Para>I welcome any feedback, good or bad, on the content of this
|
||||
document. I have done my best to ensure that the instructions and
|
||||
information herein are accurate and reliable. Please let me know if you
|
||||
find errors or omissions. When writing, please indicate the version
|
||||
number of the document you're referencing.
|
||||
information herein are accurate and reliable, but I don't know
|
||||
everything and I don't keep up on kernel development. Please let me
|
||||
know if you find errors or omissions. When writing, please indicate the
|
||||
version number of the document you're referencing. Be nice.
|
||||
</Para>
|
||||
|
||||
<Para> We thank the many people who assisted with corrections and
|
||||
|
@ -147,9 +164,8 @@
|
|||
</Sect2>
|
||||
|
||||
<Sect2><Title>Distribution policy</Title>
|
||||
<Para> Copyright © 1995,1996,1997,1998,1999,2000 by Tom Fawcett
|
||||
and Graham Chapman. This document may be distributed under the terms
|
||||
set forth in the <Ulink
|
||||
<Para> Copyright © 1995-2002 by Tom Fawcett and Graham Chapman.
|
||||
This document may be distributed under the terms set forth in the <Ulink
|
||||
url="http://linuxdoc.org/copyright.html">Linux Documentation Project
|
||||
License</Ulink>. Please contact the authors if you are unable to get
|
||||
the license.
|
||||
|
@ -619,7 +635,7 @@ devices. If you don't have <command>losetup</command>, you can get it
|
|||
along with compatible versions of <command>mount</command> and
|
||||
<command>unmount</command> from the <filename>util-linux</filename> package
|
||||
in the directory <ulink
|
||||
url="ftp://ftp.win.tue.nl/pub/linux/utils/util-linux/"><filename
|
||||
url="ftp://ftp.win.tue.nl/pub/linux-local/utils/util-linux/"><filename
|
||||
class="directory">ftp://ftp.win.tue.nl/pub/linux/utils/util-linux/
|
||||
</filename>
|
||||
</ulink>.
|
||||
|
@ -641,14 +657,9 @@ to create an <varname>nnn</varname>-block file.
|
|||
<Para>
|
||||
Use the file name in place of <Symbol>DEVICE</Symbol> below. When you issue a
|
||||
mount command you must include the option <option>-o loop</option> to tell
|
||||
mount to use a loopback device. <Indexterm><Primary>loopback
|
||||
device</Primary></Indexterm> For example:
|
||||
<Screen>
|
||||
mount -o loop -t ext2 /tmp/fsfile /mnt
|
||||
</Screen>
|
||||
will mount <filename>/tmp/fsfile</filename> via a loopback device at the
|
||||
mount point <filename>/mnt</filename>. A <command>df</command> will
|
||||
confirm this.
|
||||
mount to use a loopback device.
|
||||
|
||||
<Indexterm><Primary>loopback device</Primary></Indexterm>
|
||||
</Para>
|
||||
</Listitem>
|
||||
</Itemizedlist>
|
||||
|
@ -867,8 +878,9 @@ still available, you have probably run out of inodes. A <Literal>df
|
|||
<Indexterm><Primary>etc directory</Primary></Indexterm>
|
||||
|
||||
<para>
|
||||
This directory contains important configuration files. On most
|
||||
systems, these can be divided into three groups:
|
||||
The /etc directory contains configuration files. What it should contain
|
||||
depends on what programs you intend to run.
|
||||
On most systems, these can be divided into three groups:
|
||||
<OrderedList>
|
||||
<Listitem>
|
||||
<Para>
|
||||
|
@ -927,6 +939,13 @@ The ones I must configure for a boot/root system:
|
|||
</Para>
|
||||
</Listitem>
|
||||
|
||||
<Listitem>
|
||||
<Para>
|
||||
<Filename>gettydefs</Filename> -- parameters for the
|
||||
<Command>init</Command> process, the first process started at boot time.
|
||||
</Para>
|
||||
</Listitem>
|
||||
|
||||
</Orderedlist>
|
||||
</Para>
|
||||
</Listitem>
|
||||
|
@ -1506,7 +1525,11 @@ linkend="TransferringWithoutLILO">.
|
|||
<title>Transferring the kernel with LILO</title>
|
||||
|
||||
<para>
|
||||
The first thing you must do is create a small configuration file for LILO.
|
||||
First, make sure you have a recent version of LILO.
|
||||
</para>
|
||||
|
||||
<para>
|
||||
You must create a small configuration file for LILO.
|
||||
It should look like this:
|
||||
<Programlisting>
|
||||
boot =/dev/fd0
|
||||
|
@ -1555,8 +1578,9 @@ Put a floppy diskette in the drive (for simplicity we'll assume
|
|||
The ``<literal>-N 24</literal>'' specifies 24 inodes, which is all you should
|
||||
need for this filesystem. Next, mount the filesystem, remove the
|
||||
<filename>lost+found</filename> directory, and create <filename>dev</filename>
|
||||
and <filename>boot</filename> directories for LILO: <Screen>
|
||||
mount /dev/fd0 /mnt
|
||||
and <filename>boot</filename> directories for LILO:
|
||||
<Screen>
|
||||
mount -o dev /dev/fd0 /mnt
|
||||
rm -rf /mnt/lost+found
|
||||
mkdir /mnt/{boot,dev}
|
||||
</Screen>
|
||||
|
@ -1753,6 +1777,21 @@ use the floppy device name (<emphasis>e.g.,</emphasis> <filename>/dev/fd0</filen
|
|||
If you used LILO, unmount the diskette now.
|
||||
</Para>
|
||||
|
||||
<Important>
|
||||
<Para>Do not believe what the rdev/ramsize manpage says about ramdisk
|
||||
size.
|
||||
The manpage is obsolete. As of kernel 2.0 or so, the ramdisk word no
|
||||
longer determines the ramdisk size; the word is instead interpreted
|
||||
according to the table at the beginning of section <xref
|
||||
linkend="SettingRamdiskWord">. For a detailed
|
||||
explanation, see the documentation file <Ulink
|
||||
url="file:/usr/src/linux/Documentation/ramdisk.txt">ramdisk.txt</ULink> or
|
||||
<ULink
|
||||
url="http://www.linuxhq.com/kernel/v2.4/doc/ramdisk.txt.html"></ULink>.
|
||||
|
||||
</Para>
|
||||
</Important>
|
||||
|
||||
</Sect2>
|
||||
|
||||
<Sect2><title>Transferring the root filesystem</title>
|
||||
|
@ -2013,61 +2052,124 @@ that you use shadow passwords and didn't copy
|
|||
<filename>/etc/shadow</filename> to your bootdisk.
|
||||
</para>
|
||||
|
||||
<para>
|
||||
If you try to run some executable, such as <command>df</command>, which is on your rescue
|
||||
disk but you yields a message like: <literal>df: not found</literal>, check two things: (1)
|
||||
Make sure the directory containing the binary is in your PATH, and (2) make
|
||||
sure you have libraries (and loaders) the program needs.
|
||||
</para>
|
||||
<para> If you try to run some executable, such as <command>df</command>, which
|
||||
is on your rescue disk but you yields a message like: <literal>df: not
|
||||
found</literal>, check two things: (1) Make sure the directory containing the
|
||||
binary is in your PATH, and (2) make sure you have libraries (and loaders) the
|
||||
program needs. </para>
|
||||
|
||||
</sect1>
|
||||
|
||||
<sect1><title>Miscellaneous topics</title>
|
||||
|
||||
<sect2 id="Slimfast">
|
||||
<sect1 id="Slimfast">
|
||||
<title>Reducing root filesystem size</title>
|
||||
|
||||
<Para>
|
||||
Sometimes a root filesystem is too large to fit on a diskette even after
|
||||
compression. Here are some ways to reduce the filesystem size:
|
||||
|
||||
<Orderedlist>
|
||||
One of the main problems with building bootdisks is getting everything to fit
|
||||
into one (or even two) diskettes. Even when files are compressed this can be
|
||||
very difficult, because Linux system components keep growing. Here are some
|
||||
common techniques used to make everything fit.
|
||||
</Para>
|
||||
|
||||
<Listitem>
|
||||
<sect2>
|
||||
<title>Increase the diskette density</title>
|
||||
<Para>
|
||||
<Emphasis>Increase the diskette density</Emphasis>.
|
||||
By default, floppy diskettes are formatted at 1440K, but higher density
|
||||
formats are available. <Filename>fdformat</Filename> will format disks for
|
||||
the following sizes: 1600, 1680, 1722, 1743, 1760, 1840, and 1920. Most
|
||||
1440K drives will support 1722K, and this is what I always use for
|
||||
bootdisks. See the <Command>fdformat</Command> man page and
|
||||
formats are possible. Whether you can boot from higher density
|
||||
disks depends mostly on your BIOS.
|
||||
<Filename>fdformat</Filename> will format disks for
|
||||
the following sizes: 1600K, 1680K, 1722K, 1743K, 1760K, 1840K, and 1920K.
|
||||
See the <Command>fdformat</Command> man page and
|
||||
<Filename>/usr/src/linux/Documentation/devices.txt</Filename>.
|
||||
</Para>
|
||||
</Listitem>
|
||||
|
||||
<Listitem>
|
||||
<Para>
|
||||
<Emphasis>Replace your shell</Emphasis>. Some of the popular shells for Linux,
|
||||
such as <Command>bash</Command> and <Command>tcsh</Command>, are large and
|
||||
require many libraries. Light-weight alternatives exist, such as
|
||||
<command>ash</command>, <command>lsh</command>, <command>kiss</command> and
|
||||
<command>smash</command>, which are much smaller and require few (or no)
|
||||
libraries. Most of these replacement shells are available from <Ulink
|
||||
url="http://metalab.unc.edu/pub/Linux/system/shells/"><filename
|
||||
class="directory">http://metalab.unc.edu/pub/Linux/system/shells/
|
||||
</filename></ulink>. Make sure any shell you use is capable of running commands
|
||||
in all the <filename>rc</filename> files you include on your bootdisk.
|
||||
<Indexterm><Primary>shells</Primary></Indexterm>
|
||||
<Para> But what diskette densities/geometries will your machine support? Here
|
||||
are some (lightly edited) answers from Alain Knaff, the author of fdutils.
|
||||
</Para>
|
||||
</Listitem>
|
||||
|
||||
<BlockQuote>
|
||||
<Para>
|
||||
This is more an issue of the BIOS rather than the physical format of the disk.
|
||||
If the BIOS decides that any sector number greater than 18 is bad, then
|
||||
there is not much we can do. Indeed, short of disassembling the BIOS, trial
|
||||
and error seems to be the only way to find out. However, if the BIOS supports
|
||||
ED disks (extra density: 36 sectors/track and 2.88MB), there's a chance that
|
||||
1722K disks are supported as well.
|
||||
</Para>
|
||||
|
||||
<Listitem><Para><Emphasis>Strip libraries and binaries</Emphasis>. Many
|
||||
libraries and binaries are distributed with debugging information. Running
|
||||
<command>file</command> on these files will tell you ``<literal>not
|
||||
stripped</literal>'' if so. <Indexterm><Primary>libraries</Primary></Indexterm>
|
||||
When copying binaries to your root filesystem, it is good practice to use:
|
||||
<Screen>
|
||||
<Para>
|
||||
Superformatted disks with more than 21 sectors/track are likely not bootable:
|
||||
indeed, those use sectors of non-standard sizes (1024 bytes in a sector
|
||||
instead of 512, for example), and are likely not bootable. It should however
|
||||
be possible to write a special bootsector program to work around this. If I
|
||||
remember correctly, the DOS 2m utility has such a beast, as does OS/2's XDF
|
||||
utilities.
|
||||
</Para>
|
||||
|
||||
<Para>
|
||||
Some BIOSes artificially claim that any sector number greater than 18
|
||||
must be in error. As 1722K disks use sector numbers up to 21, these
|
||||
would not be bootable. The best way to test would be to format a test
|
||||
DOS or syslinus disk as 1722K and make it bootable. If you use LILO,
|
||||
don't use the option linear (or else LILO would assume that the disk
|
||||
is the default 18 sectors/track, and the disk will fail to boot even
|
||||
if supported by the BIOS).
|
||||
</Para>
|
||||
</BlockQuote>
|
||||
</Sect2>
|
||||
|
||||
<Sect2>
|
||||
<Title>Replace common utilities with BusyBox</Title>
|
||||
|
||||
<Para> Much root filesystem space is consumed by common GNU system utilities
|
||||
such as <Literal>cat, chmod, cp, dd, df</Literal>, etc. The
|
||||
<Emphasis>BusyBox</Emphasis> project was designed to provide minimal
|
||||
replacements for these common system utilities. BusyBox supplies one single
|
||||
monolithic executable file, <Literal>/bin/busybox</Literal>, about 150K, which
|
||||
implements the functions of these utilities. You then create symlinks from
|
||||
different utilities to this executable; busybox sees how it was called and
|
||||
invokes the correct code. BusyBox even includes a basic shell.
|
||||
|
||||
BusyBox is available in binary packages for many distributions, and source
|
||||
code is available from <Ulink url="http://www.busybox.net/">the BusyBox
|
||||
site</Ulink>.
|
||||
|
||||
<!-- The above link gets a 404 error, but I feel in my heart it is a correct
|
||||
URL so I shall not change it. -->
|
||||
|
||||
</Para>
|
||||
</Sect2>
|
||||
|
||||
<Sect2>
|
||||
<Title>Use an alternate shell</Title>
|
||||
|
||||
<Para> Some of the popular shells for Linux, such as <Command>bash</Command>
|
||||
and <Command>tcsh</Command>, are large and require many libraries. If you
|
||||
don't use the BusyBox shell, you should still consider replacing your shell
|
||||
anyway. Some light-weight alternatives are <command>ash</command>,
|
||||
<command>lsh</command>, <command>kiss</command> and <command>smash</command>,
|
||||
which are much smaller and require few (or no) libraries. Most of these
|
||||
replacement shells are available from <Ulink
|
||||
url="http://www.ibiblio.org/pub/Linux/system/shells/"><filename
|
||||
class="directory">http://www.ibiblio.org/pub/Linux/system/shells/
|
||||
</filename></ulink>. Make sure any shell you use is capable of running
|
||||
commands in all the <filename>rc</filename> files you include on your
|
||||
bootdisk.
|
||||
|
||||
<Indexterm><Primary>shells</Primary></Indexterm>
|
||||
|
||||
</Para>
|
||||
|
||||
</Sect2>
|
||||
|
||||
<Sect2>
|
||||
<Title>Strip libraries and binaries</Title>
|
||||
|
||||
<Para> Many libraries and binaries are distributed with debugging information.
|
||||
Running <command>file</command> on these files will tell you ``<literal>not
|
||||
stripped</literal>'' if so.
|
||||
<Indexterm><Primary>libraries</Primary></Indexterm> When copying binaries to
|
||||
your root filesystem, it is good practice to use: <Screen>
|
||||
objcopy --strip-all FROM TO
|
||||
</Screen>
|
||||
|
||||
|
@ -2081,33 +2183,26 @@ When copying libraries, be sure to use <Option>strip-debug</Option> instead of
|
|||
<Option>strip-all</Option>.
|
||||
</Para>
|
||||
</Important>
|
||||
|
||||
</Para>
|
||||
</Listitem>
|
||||
</Sect2>
|
||||
|
||||
<Listitem>
|
||||
<Para>
|
||||
If you deleted or moved many files when you were creating the root filesystem,
|
||||
create it again. See the NOTE ABOVE on the importance of not having dirty
|
||||
blocks in the filesystem.
|
||||
</Para>
|
||||
</Listitem>
|
||||
<Sect2>
|
||||
<Title>Move files to a utility disk</Title>
|
||||
|
||||
<Listitem>
|
||||
<Para>
|
||||
<Emphasis>Move non-critical files to a utility disk</Emphasis>.
|
||||
|
||||
If some of your binaries are not needed immediately to boot or login, you can
|
||||
move them to a utility disk. See <xref linkend="UtilityDisk"> for details. You
|
||||
may also consider moving modules to a utility disk as well.
|
||||
<Para> If some of your binaries are not needed immediately to boot or login,
|
||||
you can move them to a utility disk. See <xref linkend="UtilityDisk"> for
|
||||
details. You may also consider moving modules to a utility disk as well.
|
||||
|
||||
<Indexterm><Primary>utility diskette</Primary></Indexterm>
|
||||
</Para>
|
||||
</Listitem>
|
||||
|
||||
</Orderedlist>
|
||||
</Para>
|
||||
|
||||
</sect2>
|
||||
</Sect2>
|
||||
</Sect1>
|
||||
|
||||
<Sect1><title>Miscellaneous topics</title>
|
||||
|
||||
|
||||
<sect2 id="NonRamdiskRoot">
|
||||
<title>Non-ramdisk root filesystems</title>
|
||||
|
@ -2364,15 +2459,13 @@ Simply put, El Torito is a specification that says how a cdrom should
|
|||
be formatted such that you can directly boot from it.
|
||||
</para>
|
||||
|
||||
<para>
|
||||
The "El Torito" spec says that <emphasis>any</emphasis> cdrom drive should
|
||||
work (SCSI or EIDE) as long as the BIOS supports El Torito. So far this has
|
||||
only been tested with EIDE drives because none of the SCSI controllers that
|
||||
has been tested so far appears to support El Torito. The motherboard
|
||||
definately has to support El Torito. How do you if your motherboard supports
|
||||
"El Torito"? Well, the ones that support lets you choose booting from HD,
|
||||
Floppy, Network or CDROM.
|
||||
</para>
|
||||
<para> The "El Torito" spec says that <emphasis>any</emphasis> cdrom drive
|
||||
should work (SCSI or EIDE) as long as the BIOS supports El Torito. So far
|
||||
this has only been tested with EIDE drives because none of the SCSI
|
||||
controllers that has been tested so far appears to support El Torito. The
|
||||
motherboard definately has to support El Torito. How do you know if your
|
||||
motherboard supports "El Torito"? Well, the ones that support it let you
|
||||
choose booting from hard disk, Floppy, Network or CDROM. </para>
|
||||
|
||||
</Sect2>
|
||||
<Sect2>
|
||||
|
@ -2523,38 +2616,58 @@ which densities will work with my diskette drive?
|
|||
|
||||
<Answer>
|
||||
<Para>
|
||||
Here are some (lightly formatted) answers from Alain Knaff, the author of
|
||||
fdutils.
|
||||
See Section <xref linkend="Slimfast">, above, for the comments by Alain Knaff
|
||||
on this subject. His is the most authoritative answer I know of.
|
||||
</Para>
|
||||
<BlockQuote>
|
||||
</Answer>
|
||||
</QandAentry>
|
||||
|
||||
<QandAentry>
|
||||
<Question>
|
||||
<Para>
|
||||
This is more an issue of the BIOS rather than the physical format of the disk.
|
||||
If the BIOS decides that any sector number greater than 18 is bad, then
|
||||
there is not much we can do. Indeed, short of disassembling the BIOS, trial
|
||||
and error seems to be the only way to find out. However, if the BIOS supports
|
||||
ED disks (extra density: 36 sectors/track and 2.88MB), there's a chance that
|
||||
1722K disks are supported as well.
|
||||
<Emphasis>How do I increase the size of my ramdisks?
|
||||
</Emphasis>
|
||||
</Para>
|
||||
</Question>
|
||||
|
||||
<Answer>
|
||||
<Para>
|
||||
This probably should be explained better in the text, but I'll put an answer
|
||||
here for the time being.
|
||||
</Para>
|
||||
|
||||
<Para>
|
||||
Superformatted disks with more than 21 sectors/track are likely not bootable:
|
||||
indeed, those use sectors of non-standard sizes (1024 bytes in a sector
|
||||
instead of 512, for example), and are likely not bootable. It should however
|
||||
be possible to write a special bootsector program to work around this. If I
|
||||
remember correctly, the DOS 2m utility has such a beast, as does OS/2's XDF
|
||||
utilities.
|
||||
First, <Emphasis>do not</Emphasis> attempt to use the <Literal>rdev</Literal>
|
||||
or <Literal>ramsize</Literal> commands to do this, no matter what their
|
||||
documentation says. The ramdisk word no longer determines the size of
|
||||
ramdisks.
|
||||
</Para>
|
||||
|
||||
<Para>
|
||||
Some BIOSes artificially claim that any sector number greater than 18
|
||||
must be in error. As 1722K disks use sector numbers up to 21, these
|
||||
would not be bootable. The best way to test would be to format a test
|
||||
DOS or syslinus disk as 1722K and make it bootable. If you use LILO,
|
||||
don't use the option linear (or else LILO would assume that the disk
|
||||
is the default 18 sectors/track, and the disk will fail to boot even
|
||||
if supported by the BIOS).
|
||||
<Para>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.
|
||||
</Para>
|
||||
<Para>
|
||||
<OrderedList>
|
||||
<ListItem>
|
||||
<Para>Use the <Literal>ramdisk_size=NNN</Literal> command line
|
||||
parameter. You can either enter this manually or use a command like
|
||||
<Literal>append="ramdisk_size=NNN"</Literal> with LILO.</Para>
|
||||
</ListItem>
|
||||
|
||||
<ListItem><Para>If you're using LILO, you can use a kernel option like
|
||||
<Literal>ramdisk=8192K</Literal> in the <Literal>lilo.conf</Literal> file.
|
||||
</Para>
|
||||
</ListItem>
|
||||
|
||||
<ListItem><Para>Change the kernel configuration option
|
||||
<Literal>CONFIG_BLK_DEV_RAM_SIZE</Literal> and recompile your kernel.
|
||||
</Para>
|
||||
</ListItem>
|
||||
</OrderedList>
|
||||
</Para>
|
||||
</BlockQuote>
|
||||
</Answer>
|
||||
</QandAentry>
|
||||
|
||||
|
@ -3071,9 +3184,9 @@ the mirror sites to reduce the load on these machines.</emphasis>
|
|||
<Listitem>
|
||||
<Para>
|
||||
<Ulink
|
||||
url="http://metalab.unc.edu/pub/Linux/distributions/slackware/bootdsks.144/">Slackware bootdisks</ulink>,
|
||||
url="http://distro.ibiblio.org/pub/Linux/distributions/slackware/bootdsks.144/">Slackware bootdisks</ulink>,
|
||||
<ulink
|
||||
url="http://metalab.unc.edu/pub/Linux/distributions/slackware/rootdsks/">rootdisks</ulink>
|
||||
url="http://distro.ibiblio.org/pub/Linux/distributions/slackware/rootdsks/">rootdisks</ulink>
|
||||
|
||||
and <ulink url="http://www.slackware.com/getslack/">Slackware mirror sites</ulink>
|
||||
</Para>
|
||||
|
@ -3082,7 +3195,7 @@ and <ulink url="http://www.slackware.com/getslack/">Slackware mirror sites</ulin
|
|||
<Listitem>
|
||||
<Para>
|
||||
<Ulink
|
||||
url="http://metalab.unc.edu/pub/Linux/distributions/redhat/current/i386/images/">RedHat bootdisks</ulink> and <ulink url="http://www.redhat.com/mirrors.html">Red Hat mirror sites</ulink>
|
||||
url="ftp://ftp.redhat.com/pub/redhat/linux/current/en/os/i386/images/">RedHat bootdisks</ulink> and <ulink url="http://www.redhat.com/mirrors.html">Red Hat mirror sites</ulink>
|
||||
|
||||
</Para>
|
||||
</Listitem>
|
||||
|
@ -3090,11 +3203,19 @@ and <ulink url="http://www.slackware.com/getslack/">Slackware mirror sites</ulin
|
|||
<Listitem>
|
||||
<Para>
|
||||
<Ulink
|
||||
url="ftp://ftp.debian.org/pub/debian/dists/stable/main/disks-i386/current/">Debian bootdisks</ulink> and <ulink url="ftp://ftp.debian.org/pub/debian/README.mirrors.html">Debian mirror sites</ulink>
|
||||
url="ftp://ftp.debian.org/debian/dists/stable/main/disks-i386/current/">Debian bootdisks</ulink> and <ulink url="ftp://ftp.debian.org/debian/README.mirrors.html">Debian mirror sites</ulink>
|
||||
|
||||
</Para>
|
||||
</Listitem>
|
||||
|
||||
<Listitem>
|
||||
<Para>
|
||||
<ulink url="http://www.linux-mandrake.com/en/ftp.php3">Mandrake
|
||||
downloads</ulink>
|
||||
</Para>
|
||||
</Listitem>
|
||||
|
||||
|
||||
</Itemizedlist>
|
||||
|
||||
</Para>
|
||||
|
@ -3104,14 +3225,25 @@ and <ulink url="http://www.slackware.com/getslack/">Slackware mirror sites</ulin
|
|||
In addition to the distribution bootdisks, the following rescue disk
|
||||
images are available. Unless otherwise specified, these are available in
|
||||
the directory
|
||||
<ulink url="http://metalab.unc.edu/pub/Linux/system/recovery/!INDEX.html">
|
||||
<filename>http://metalab.unc.edu/pub/Linux/system/recovery/!INDEX.html</filename></ulink>
|
||||
<ulink url="http://www.ibiblio.org/pub/Linux/system/recovery/!INDEX.html">
|
||||
<filename>http://www.ibiblio.org/pub/Linux/system/recovery/!INDEX.html</filename></ulink>
|
||||
</para>
|
||||
|
||||
<para>
|
||||
|
||||
<itemizedlist>
|
||||
|
||||
<listitem>
|
||||
<para>
|
||||
<literal>RIP</literal> is a boot/rescue system which comes in several
|
||||
versions: one that fits on a 1.44M floppy diskette and one that fits on a
|
||||
CD-ROM. It has large file support and many utility programs for disk
|
||||
maintenance and rescue. It has support for ext2, ext3, iso9660, msdos, ntfs,
|
||||
reiserfs, ufs and vfat. RIP is available from
|
||||
<Ulink url="http://www.tux.org/pub/people/kent-robotti/looplinux/rip/index.html">http://www.tux.org/pub/people/kent-robotti/looplinux/rip/index.html</Ulink>
|
||||
</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>
|
||||
<literal>tomsrtbt</literal>, by Tom Oehser, is a single-disk boot/root disk
|
||||
|
@ -3146,7 +3278,7 @@ a hard disk.
|
|||
|
||||
<listitem>
|
||||
<para>
|
||||
<ulink url="http://metalab.unc.edu/pub/Linux/system/recovery/images">
|
||||
<ulink url="http://www.ibiblio.org/pub/Linux/system/recovery/images">
|
||||
<literal>cramdisk</literal> images</Ulink>, based on the 2.0.23 kernel,
|
||||
available for 4 meg and 8 meg machines. They include math emulation and
|
||||
networking (PPP and dialin script, NE2000, 3C509), or support for the
|
||||
|
@ -3165,15 +3297,15 @@ partition.
|
|||
<Sect1><Title>Rescue packages</title>
|
||||
|
||||
<para> Several packages for creating rescue disks are available on
|
||||
metalab.unc.edu. With these packages you specify a set of files for inclusion
|
||||
www.ibiblio.org. With these packages you specify a set of files for inclusion
|
||||
and the software automates (to varying degrees) the creation of a bootdisk.
|
||||
See <Ulink
|
||||
url="http://metalab.unc.edu/pub/Linux/system/recovery/!INDEX.html"><Filename>http://metalab.unc.edu/pub/Linux/system/recovery/!INDEX.html</Filename></Ulink>
|
||||
url="http://www.ibiblio.org/pub/Linux/system/recovery/!INDEX.html"><Filename>http://www.ibiblio.org/pub/Linux/system/recovery/!INDEX.html</Filename></Ulink>
|
||||
for more information. <Emphasis>Check the file dates carefully</emphasis>.
|
||||
Some of these packages have not been updated in several years and will not
|
||||
support the creation of a compressed root filesystem loaded into ramdisk. To
|
||||
the best of our knowledge, <ulink
|
||||
url="http://www.croftj.net/~fawcett/yard/index.html">Yard</ulink> is the only
|
||||
url="http://www.linuxlots.com/~fawcett/yard/index.html">Yard</ulink> is the only
|
||||
package that will.
|
||||
</para>
|
||||
|
||||
|
@ -3221,7 +3353,7 @@ For more detail on the Linux boot process, here are some pointers:
|
|||
|
||||
<listitem>
|
||||
<para>
|
||||
The <ulink url="http://linuxdoc.org/LDP/sag/c1596.html"><citetitle>Linux
|
||||
The <ulink url="http://linuxdoc.org/LDP/sag/index.html"><citetitle>Linux
|
||||
System Administrators' Guide</citetitle></ulink> has a section on booting.
|
||||
</para>
|
||||
</listitem>
|
||||
|
@ -3229,7 +3361,7 @@ System Administrators' Guide</citetitle></ulink> has a section on booting.
|
|||
<listitem>
|
||||
<para>
|
||||
The <ulink
|
||||
url="http://metalab.unc.edu/pub/Linux/system/boot/lilo/lilo-t-21.ps.gz">
|
||||
url="http://www.ibiblio.org/pub/Linux/system/boot/lilo/lilo-t-21.ps.gz">
|
||||
LILO ``Technical overview''</ulink> has the definitive technical, low-level
|
||||
description of the boot process, up to where the kernel is started.
|
||||
</para>
|
||||
|
@ -3307,7 +3439,7 @@ kind of filesystem is found and whether it is compressed.
|
|||
Questions about these codes are asked so often on Usenet that we include
|
||||
them here as a public service. This summary is excerpted from Werner
|
||||
Almsberger's <ulink
|
||||
url="http://metalab.unc.edu/pub/Linux/system/boot/lilo/lilo-u-21.ps.gz">
|
||||
url="http://www.ibiblio.org/pub/Linux/system/boot/lilo/lilo-u-21.ps.gz">
|
||||
LILO User Documentation</ulink>.
|
||||
</para>
|
||||
|
||||
|
@ -3458,7 +3590,6 @@ lrwxrwxrwx 1 root root 3 Nov 1 15:39 sh -> ash
|
|||
-rwx––x––x 1 root root 25296 Nov 1 15:39 stty
|
||||
-rws––x––x 1 root root 12648 Nov 1 15:39 su
|
||||
-rwx––x––x 1 root root 4444 Nov 1 15:39 sync
|
||||
-rwx––x––x 1 root root 110668 Nov 1 15:39 tar
|
||||
-rwx––x––x 1 root root 19712 Nov 1 15:39 touch
|
||||
-rwx––x––x 1 root root 395 Nov 1 15:39 true
|
||||
-rws––x––x 1 root root 19084 Nov 1 15:39 umount
|
||||
|
@ -3762,3 +3893,4 @@ lrwxrwxrwx 1 root root 5 Jul 29 21:35 vi –> elvis
|
|||
</Para>
|
||||
</Appendix>
|
||||
</Article>
|
||||
|
||||
|
|
Loading…
Reference in New Issue