mirror of
https://git.linuxfromscratch.org/lfs.git
synced 2025-06-22 05:09:24 +01:00
applied Alex's commas.patch
git-svn-id: http://svn.linuxfromscratch.org/LFS/trunk/BOOK@1960 4aa44e1e-78dd-0310-a6d2-fbcd4c07a689
This commit is contained in:
parent
f50aec7046
commit
a2cd10ffba
@ -66,7 +66,7 @@ notified that the system is going down, and login is blocked.</para></sect4>
|
|||||||
<para>sulogin is invoked by init when the system goes into single user mode
|
<para>sulogin is invoked by init when the system goes into single user mode
|
||||||
(this is done through an entry in /etc/inittab). Init also tries to
|
(this is done through an entry in /etc/inittab). Init also tries to
|
||||||
execute sulogin when it is passed the -b flag from the boot loader
|
execute sulogin when it is passed the -b flag from the boot loader
|
||||||
(e.g., LILO).</para></sect4>
|
(LILO, for example).</para></sect4>
|
||||||
|
|
||||||
<sect4><title>telinit</title>
|
<sect4><title>telinit</title>
|
||||||
<para>telinit sends appropriate signals to init, telling it which runlevel to
|
<para>telinit sends appropriate signals to init, telling it which runlevel to
|
||||||
|
@ -22,7 +22,7 @@ show filenames such as <filename>/etc/lilo.conf</filename></para></blockquote>
|
|||||||
<para><emphasis>Emphasis</emphasis></para>
|
<para><emphasis>Emphasis</emphasis></para>
|
||||||
|
|
||||||
<blockquote><para>This form of text is used for several purposes in the
|
<blockquote><para>This form of text is used for several purposes in the
|
||||||
book but mainly to emphasize important points or to give examples as to
|
book, mainly to emphasize important points, and to give examples of
|
||||||
what to type.</para></blockquote>
|
what to type.</para></blockquote>
|
||||||
|
|
||||||
<para><ulink url="http://www.linuxfromscratch.org/"/></para>
|
<para><ulink url="http://www.linuxfromscratch.org/"/></para>
|
||||||
|
@ -4,7 +4,7 @@
|
|||||||
|
|
||||||
<para>Before you start using the LFS book, we should point out that all
|
<para>Before you start using the LFS book, we should point out that all
|
||||||
of the commands here assume that you are using the bash shell. If you
|
of the commands here assume that you are using the bash shell. If you
|
||||||
aren't, the commands may work but we can't guarantee it. If you want a
|
aren't, the commands may work, but we can't guarantee it. If you want a
|
||||||
simple life, use bash.</para>
|
simple life, use bash.</para>
|
||||||
|
|
||||||
<para>Before you can actually start doing something with a package, you need
|
<para>Before you can actually start doing something with a package, you need
|
||||||
@ -30,11 +30,11 @@ running:</para>
|
|||||||
|
|
||||||
<para><screen><userinput>bzcat filename.tar.bz2 | tar xv</userinput></screen></para>
|
<para><screen><userinput>bzcat filename.tar.bz2 | tar xv</userinput></screen></para>
|
||||||
|
|
||||||
<para>Some tar programs (most of them nowadays but not all of them) are
|
<para>Nowadays most tar programs, but not all, are
|
||||||
slightly modified to be able to use bzip2 files directly using either
|
patched to be able to use bzip2 files directly. They use either
|
||||||
the I, the y or the j tar parameter, which works the same as the z tar
|
the -I, the -y, or the -j parameter, which work the same as the -z
|
||||||
parameter to handle gzip archives. The above construction works no matter how
|
parameter for handling gzip files. The above construction, however,
|
||||||
your host system decided to patch bzip2.</para>
|
works no matter how your host system decided to patch tar.</para>
|
||||||
|
|
||||||
<para>If a file is just tar'ed, it is unpacked by running:</para>
|
<para>If a file is just tar'ed, it is unpacked by running:</para>
|
||||||
|
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
<title>Introduction</title>
|
<title>Introduction</title>
|
||||||
<?dbhtml filename="introduction.html" dir="chapter04"?>
|
<?dbhtml filename="introduction.html" dir="chapter04"?>
|
||||||
|
|
||||||
<para>In this chapter, the partition that is going to host the LFS system is
|
<para>In this chapter the partition that is going to host the LFS system is
|
||||||
prepared. We will create the partition itself, make a file
|
prepared. We will create the partition itself, make a file
|
||||||
system on it, and mount it.</para>
|
system on it, and mount it.</para>
|
||||||
|
|
||||||
|
@ -25,12 +25,13 @@ we call dynamically linked, as the library is loaded and unloaded dynamically,
|
|||||||
as the program needs it.</para>
|
as the program needs it.</para>
|
||||||
|
|
||||||
<para>So now we have a 1 KB file and a 2.5 MB file, but we still haven't saved any
|
<para>So now we have a 1 KB file and a 2.5 MB file, but we still haven't saved any
|
||||||
space (except maybe RAM until the library is needed). The REAL advantage to
|
space (except maybe RAM until the library is needed). The
|
||||||
|
<emphasis>real</emphasis> advantage of
|
||||||
dynamically linked libraries is that we only need one copy of the library.
|
dynamically linked libraries is that we only need one copy of the library.
|
||||||
If <filename>ls</filename> and <filename>rm</filename> both use the same
|
If <filename>ls</filename> and <filename>rm</filename> both use the same
|
||||||
library, then we don't need two copies of the
|
library, then we don't need two copies of the
|
||||||
library, as they can both get the code from the same file.
|
library, as they can both get the code from the same file.
|
||||||
Even when in memory, both programs share the same code, rather than loading
|
Even when in memory, the two programs share the same code, rather than loading
|
||||||
duplicates into memory. So not only are we saving hard disk space, but also
|
duplicates into memory. So not only are we saving hard disk space, but also
|
||||||
precious RAM.</para>
|
precious RAM.</para>
|
||||||
|
|
||||||
@ -46,9 +47,9 @@ need to make sure that the libraries are statically linked when you build
|
|||||||
them, hence the <userinput>--enable-static-link</userinput>,
|
them, hence the <userinput>--enable-static-link</userinput>,
|
||||||
<userinput>--disable-shared</userinput>, and
|
<userinput>--disable-shared</userinput>, and
|
||||||
<userinput>-static</userinput> flags used
|
<userinput>-static</userinput> flags used
|
||||||
through Chapter 5. Once in Chapter 6, the first thing we do is build the
|
through chapter 5. Once in chapter 6, the first thing we do is build the
|
||||||
main set of system libraries, glibc. Once this is made we start rebuilding
|
main set of system libraries, glibc. Once this is made we start rebuilding
|
||||||
all the programs we just did in Chapter 5, but this time dynamically linked,
|
all the programs we just did in chapter 5, but this time dynamically linked,
|
||||||
so that we can take advantage of the space saving opportunities.</para>
|
so that we can take advantage of the space saving opportunities.</para>
|
||||||
|
|
||||||
<para>And there you have it, that's why you need to use those weird
|
<para>And there you have it, that's why you need to use those weird
|
||||||
|
@ -1,16 +1,16 @@
|
|||||||
<sect1 id="ch06-changingowner">
|
<sect1 id="ch06-changingowner">
|
||||||
<title>Changing ownership of the LFS partition</title>
|
<title>Changing ownership</title>
|
||||||
<?dbhtml filename="changingowner.html" dir="chapter06"?>
|
<?dbhtml filename="changingowner.html" dir="chapter06"?>
|
||||||
|
|
||||||
<para>Now we're in chroot, it is a good time to change the ownership of
|
<para>Now we're in chroot, it is time to change the ownership of
|
||||||
all files and directories that were installed in chapter 5 back to root.
|
the files and directories that were installed in chapter 5 to root.
|
||||||
Run the following commands to do so:</para>
|
Run the following command to do so:</para>
|
||||||
|
|
||||||
<para><screen><userinput>chown -R 0:0 /</userinput></screen></para>
|
<para><screen><userinput>chown -R 0:0 /</userinput></screen></para>
|
||||||
|
|
||||||
<para>This command will change the ownership of the root partition to
|
<para>This command changes the ownership of the root partition to
|
||||||
root. 0:0 is used instead of the usual root:root, because the username
|
root. The command uses 0:0 instead of root:root, because the user name
|
||||||
root can't be resolved because glibc is not yet installed.</para>
|
"root" can't be resolved, as glibc is not installed yet.</para>
|
||||||
|
|
||||||
</sect1>
|
</sect1>
|
||||||
|
|
||||||
|
@ -11,7 +11,7 @@ command.</para>
|
|||||||
<para>Enter the following commands to enter the chroot'ed environment. From
|
<para>Enter the following commands to enter the chroot'ed environment. From
|
||||||
this point on there's no need to use the $LFS variable anymore, because
|
this point on there's no need to use the $LFS variable anymore, because
|
||||||
everything a user does will be restricted to the LFS partition (since / is
|
everything a user does will be restricted to the LFS partition (since / is
|
||||||
actually /mnt/lfs but the shell doesn't know that).</para>
|
actually /mnt/lfs, but the shell doesn't know that).</para>
|
||||||
|
|
||||||
<para><screen>&c6-chrootcmd;</screen></para>
|
<para><screen>&c6-chrootcmd;</screen></para>
|
||||||
|
|
||||||
|
@ -1,12 +1,12 @@
|
|||||||
<sect2><title>Configuring Shadow Password Suite</title>
|
<sect2><title>Configuring Shadow Password Suite</title>
|
||||||
|
|
||||||
<para>This package contains the utilities to modify user's passwords, add new
|
<para>This package contains utilities to modify users's passwords, add
|
||||||
users/groups, delete users/groups and more. We're not going to explain
|
or delete users and groups, and the like. We're not going to explain
|
||||||
what 'password shadowing' means. All about that can be read in the doc/HOWTO
|
what 'password shadowing' means. A full explanation can be found in the doc/HOWTO
|
||||||
file within the unpacked shadow password suite's source tree. There's one
|
file within the unpacked shadow password suite's source tree. There's one
|
||||||
thing you should keep in mind, if you decide to use shadow support, that
|
thing to keep in mind if you decide to use shadow support: that
|
||||||
programs that need to verify passwords (examples are xdm, ftp daemons,
|
programs that need to verify passwords (for example xdm, ftp daemons,
|
||||||
pop3 daemons, etc) need to be 'shadow-compliant', e.g. they need to
|
pop3 daemons) need to be 'shadow-compliant', that is they need to
|
||||||
be able to work with shadow'ed passwords.</para>
|
be able to work with shadow'ed passwords.</para>
|
||||||
|
|
||||||
<para>To enable shadow'ed passwords, run the following command:</para>
|
<para>To enable shadow'ed passwords, run the following command:</para>
|
||||||
|
@ -1,8 +1,8 @@
|
|||||||
<sect2><title>Configuring Vim</title>
|
<sect2><title>Configuring Vim</title>
|
||||||
|
|
||||||
<para>By default Vim runs in vi compatible mode. Some people might like this,
|
<para>By default vim runs in vi compatible mode. Some people might like this,
|
||||||
but we have a high preference to run vim in vim mode (else we wouldn't
|
but we have a high preference to run vim in vim mode (else we wouldn't
|
||||||
have included Vim in this book but the original Vi). Create the
|
have included vim in this book, but the original vi). Create the
|
||||||
<filename>/root/.vimrc</filename> by running the following:</para>
|
<filename>/root/.vimrc</filename> by running the following:</para>
|
||||||
|
|
||||||
<para><screen><userinput>cat > /root/.vimrc << "EOF"</userinput>
|
<para><screen><userinput>cat > /root/.vimrc << "EOF"</userinput>
|
||||||
|
@ -26,11 +26,11 @@ ln -s ../var/tmp /usr</userinput></screen></para>
|
|||||||
<para>Normally, directories are created with permission mode 755, which isn't
|
<para>Normally, directories are created with permission mode 755, which isn't
|
||||||
desired for all directories. The first change is a mode 0750 for the
|
desired for all directories. The first change is a mode 0750 for the
|
||||||
/root directory. This is to make sure that not just everybody can
|
/root directory. This is to make sure that not just everybody can
|
||||||
enter the /root directory (the same a user would do with /home/username
|
enter the /root directory (the same a user would do with his /home/username
|
||||||
directories). The second change is a mode 1777 for the tmp
|
directory). The second change is a mode 1777 for the tmp
|
||||||
directories. This way, any user can write data to the /tmp or /var/tmp
|
directories. In this way any user can write to the /tmp and /var/tmp
|
||||||
directory but cannot remove another user's files (the latter is caused
|
directories, but cannot remove other users's files from them (the latter is prohibited
|
||||||
by the so-called "sticky bit" - bit 1 of the 1777 bit mask).</para>
|
by the so-called "sticky bit" -- bit 1 in the 1777 bit mask).</para>
|
||||||
|
|
||||||
<para><screen><userinput>chmod 0750 /root &&
|
<para><screen><userinput>chmod 0750 /root &&
|
||||||
chmod 1777 /tmp /var/tmp</userinput></screen></para>
|
chmod 1777 /tmp /var/tmp</userinput></screen></para>
|
||||||
|
@ -36,9 +36,8 @@ been installed yet.</para>
|
|||||||
<para><userinput>exec /bin/bash:</userinput>This command will
|
<para><userinput>exec /bin/bash:</userinput>This command will
|
||||||
start a new bash shell which will replace the current shell. This is
|
start a new bash shell which will replace the current shell. This is
|
||||||
done to get rid of the "I have no name!" message in the command
|
done to get rid of the "I have no name!" message in the command
|
||||||
prompt, which was caused by bash's inability to resolve a userid to
|
prompt, which was caused by bash's inability to resolve a user ID to
|
||||||
a username (which in turn was caused by the missing Glibc
|
a user name (which in turn was caused by the absence of Glibc).</para>
|
||||||
installation).</para>
|
|
||||||
|
|
||||||
</sect2>
|
</sect2>
|
||||||
|
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
<sect2>
|
<sect2>
|
||||||
<title>Why we copy the kernel headers and don't symlink them</title>
|
<title>Why we copy the kernel headers and don't symlink them</title>
|
||||||
|
|
||||||
<para>In the past, it was common practice for people to symlink the
|
<para>In the past it was common practice for people to symlink the
|
||||||
/usr/include/linux and asm directories to /usr/src/linux/include/linux
|
/usr/include/linux and asm directories to /usr/src/linux/include/linux
|
||||||
and asm respectively. This is a <emphasis>bad</emphasis> idea as
|
and asm respectively. This is a <emphasis>bad</emphasis> idea as
|
||||||
this extract from a post by Linus Torvalds to the Linux Kernel
|
this extract from a post by Linus Torvalds to the Linux Kernel
|
||||||
|
@ -1,11 +1,11 @@
|
|||||||
<sect2>
|
<sect2>
|
||||||
<title>Command explanations</title>
|
<title>Command explanations</title>
|
||||||
|
|
||||||
<para><userinput>./MAKEDEV -v generic:</userinput> This creates generic
|
<para><userinput>./MAKEDEV -v generic:</userinput> This creates a whole
|
||||||
devices. Normally, these devices are all the devices you need. It's possible
|
bunch of generic devices. Normally, these are all the devices you need. It's possible
|
||||||
that you are missing some special devices that are needed for your hardware
|
that you are missing some special devices that are needed for your hardware
|
||||||
configuration. Create them with ./MAKEDEV -v <device>.
|
configuration. Create them with ./MAKEDEV -v <device>.
|
||||||
The <userinput>generic-nopty</userinput> option does a similar job but skips
|
The <userinput>generic-nopty</userinput> option does a similar job, but skips
|
||||||
some devices which are not needed if you are using devpts.</para>
|
some devices which are not needed if you are using devpts.</para>
|
||||||
|
|
||||||
</sect2>
|
</sect2>
|
||||||
|
@ -26,9 +26,9 @@ ensure you have the devices you need. If you are sure you are going to
|
|||||||
use devpts however, the other command makes sure that you don't create a
|
use devpts however, the other command makes sure that you don't create a
|
||||||
set of devices which you don't require.</para>
|
set of devices which you don't require.</para>
|
||||||
|
|
||||||
<para>MAKEDEV will create hda[1-20] to hdh[1-20] and such but keep in mind
|
<para>MAKEDEV will create hda[1-20] to hdh[1-20] and such, but keep in mind
|
||||||
that you may not be able to use all of those devices due to kernel
|
that you may not be able to use all of these devices due to kernel
|
||||||
limitations regarding the max. number of partitions.</para>
|
limits on the maximum number of partitions.</para>
|
||||||
|
|
||||||
</sect2>
|
</sect2>
|
||||||
|
|
||||||
|
@ -21,8 +21,8 @@ have enabled in your kernel.</para>
|
|||||||
<para>The default answers will enable the tools from this package to work
|
<para>The default answers will enable the tools from this package to work
|
||||||
with the most common protocols such as TCP, PPP and a bunch of others. You
|
with the most common protocols such as TCP, PPP and a bunch of others. You
|
||||||
still need to actually enable these protocols in the kernel. What you do
|
still need to actually enable these protocols in the kernel. What you do
|
||||||
here is merely telling the programs to be able to use those protocols but
|
here is merely telling the programs to be able to use those protocols, but
|
||||||
it's up to the kernel to make it available to the system.</para>
|
it's up to the kernel to make them available to the system.</para>
|
||||||
|
|
||||||
</sect2>
|
</sect2>
|
||||||
|
|
||||||
|
@ -9,17 +9,17 @@ make install</userinput></screen></para>
|
|||||||
|
|
||||||
<para>Psmisc installs the
|
<para>Psmisc installs the
|
||||||
<filename>/usr/share/man/man1/pidof.1</filename> man page, but Psmisc's
|
<filename>/usr/share/man/man1/pidof.1</filename> man page, but Psmisc's
|
||||||
pidof program isn't installed by default. Generally that isn't a problem
|
pidof program isn't installed by default. Generally this isn't a problem,
|
||||||
because we install the sysvinit package later on which provides us with
|
because we install the Sysvinit package later on which provides
|
||||||
a better pidof program.</para>
|
a better pidof program.</para>
|
||||||
|
|
||||||
<para>It's up to you now to decide if you are going to use the sysvinit
|
<para>It's up to you now to decide if you are going to use the Sysvinit
|
||||||
package which provides a pidof program, or not. If you are going to, you
|
package which provides a pidof program, or not. If you are going to, you
|
||||||
should remove Psmisc's pidof man page by running:</para>
|
should remove Psmisc's pidof man page by running:</para>
|
||||||
|
|
||||||
<para><screen><userinput>rm /usr/share/man/man1/pidof.1</userinput></screen></para>
|
<para><screen><userinput>rm /usr/share/man/man1/pidof.1</userinput></screen></para>
|
||||||
|
|
||||||
<para>If you're not going to use sysvinit, you should complete this
|
<para>If you're not going to use Sysvinit, you should complete this
|
||||||
package's installation by creating the <filename>/bin/pidof</filename>
|
package's installation by creating the <filename>/bin/pidof</filename>
|
||||||
symlink by running:</para>
|
symlink by running:</para>
|
||||||
|
|
||||||
|
@ -54,8 +54,8 @@ BROADCAST=192.168.1.255
|
|||||||
|
|
||||||
<para>Of course, the values of those variables have to be changed
|
<para>Of course, the values of those variables have to be changed
|
||||||
in every file to match the proper setup. If the ONBOOT variable is set
|
in every file to match the proper setup. If the ONBOOT variable is set
|
||||||
to yes, the network script will bring it up during boot up of the system.
|
to yes, the network script will bring it up during the booting of the system.
|
||||||
If set to anything else but yes it will be ignored by the network script
|
If set to anything else but yes, it will be ignored by the network script
|
||||||
and thus not brought up.</para>
|
and thus not brought up.</para>
|
||||||
|
|
||||||
</sect2>
|
</sect2>
|
||||||
|
@ -80,9 +80,9 @@ is running and with which PIDs.</para></listitem>
|
|||||||
|
|
||||||
</itemizedlist>
|
</itemizedlist>
|
||||||
|
|
||||||
<para>Feel free to modify the way the boot process works (after all it's your
|
<para>Feel free to modify the way the boot process works (after all, it's your
|
||||||
LFS system, not ours). The files here are just an example of how it can be
|
own LFS system). The files given here are just an example of how it can be
|
||||||
done in a nice way (well what we consider nice anyway. You may hate it).</para>
|
done in a nice way (well, what we consider nice -- you may hate it).</para>
|
||||||
|
|
||||||
</sect1>
|
</sect1>
|
||||||
|
|
||||||
|
@ -3,7 +3,7 @@
|
|||||||
<?dbhtml filename="theend.html" dir="chapter09"?>
|
<?dbhtml filename="theend.html" dir="chapter09"?>
|
||||||
|
|
||||||
<para>Well done! You have finished installing your LFS system. It may have
|
<para>Well done! You have finished installing your LFS system. It may have
|
||||||
been a long process but it was well worth it. We wish you a lot of fun
|
been a long process, but we hope it was worth it. We wish you a lot of fun
|
||||||
with your new shiny custom built Linux system.</para>
|
with your new shiny custom built Linux system.</para>
|
||||||
|
|
||||||
<para>Now would be a good time to strip all debug symbols from
|
<para>Now would be a good time to strip all debug symbols from
|
||||||
@ -17,17 +17,17 @@ anymore, which is not an issue if you don't know how to debug.</para>
|
|||||||
experience any problems. But do make a backup of your LFS system before
|
experience any problems. But do make a backup of your LFS system before
|
||||||
you run this command. There's a slight chance it may backfire on you and
|
you run this command. There's a slight chance it may backfire on you and
|
||||||
render your system unusable (mostly by destroying your kernel modules
|
render your system unusable (mostly by destroying your kernel modules
|
||||||
and dynamic & shared libraries). This is more often caused by typo's
|
and dynamic & shared libraries). This is caused more often by typos
|
||||||
than by a problem with the command used.</para>
|
than by a problem with the command used.</para>
|
||||||
|
|
||||||
<para>Having said that, the --strip-debug option we use to strip is quite
|
<para>Having said that, the --strip-debug option we use to strip is quite
|
||||||
harmless under normal circumstances. It doesn't strip anything vital from
|
harmless under normal circumstances. It doesn't strip anything vital from
|
||||||
the files. It also is quite safe to use --strip-all on regular programs
|
the files. It also is quite safe to use --strip-all on regular programs
|
||||||
(don't use that on libraries - they will be destroyed) but it's not as
|
(don't use that on libraries - they will be destroyed), but it's not as
|
||||||
safe and the space you gain is not all that much. But if you're tight on
|
safe, and the space you gain is not all that much. But if you're tight on
|
||||||
disk space every little bit helps, so decide yourself. Please refer to
|
disk space every little bit helps, so decide for yourself. Please refer to
|
||||||
the strip man page for other strip options you can use. The general idea
|
the strip man page for other strip options you can use. The general idea
|
||||||
is to not run strip on libraries (other than --strip-debug) just to be
|
is to not run strip on libraries (other than --strip-debug), just to be
|
||||||
on the safe side.</para>
|
on the safe side.</para>
|
||||||
|
|
||||||
<para><screen><userinput>find $LFS/{,usr/,usr/local/}{bin,sbin,lib} -type f \
|
<para><screen><userinput>find $LFS/{,usr/,usr/local/}{bin,sbin,lib} -type f \
|
||||||
|
@ -4,8 +4,8 @@
|
|||||||
|
|
||||||
<!ENTITY book SYSTEM "book/book.xml">
|
<!ENTITY book SYSTEM "book/book.xml">
|
||||||
|
|
||||||
<!ENTITY version "20020602">
|
<!ENTITY version "20020603">
|
||||||
<!ENTITY releasedate "June 2nd, 2002">
|
<!ENTITY releasedate "June 3rd, 2002">
|
||||||
|
|
||||||
<!ENTITY ftp-root "ftp://ftp.linuxfromscratch.org">
|
<!ENTITY ftp-root "ftp://ftp.linuxfromscratch.org">
|
||||||
<!ENTITY http-root "http://ftp.linuxfromscratch.org">
|
<!ENTITY http-root "http://ftp.linuxfromscratch.org">
|
||||||
|
Loading…
Reference in New Issue
Block a user