mirror of
https://git.linuxfromscratch.org/lfs.git
synced 2025-06-21 12:49:21 +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
appendixa
chapter01
chapter02
chapter03
chapter05
chapter06
changingowner.xmlchroot.xmlconfig-shadowpwd.xmlconfig-vim.xmlcreatingdirs.xmlglibc-exp.xmlkernel-exp-headers.xmlmakedev-exp.xmlmakedev-inst.xmlnettools-inst.xmlpsmisc-inst.xml
chapter07
chapter09
index.xml@ -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
|
||||
(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
|
||||
(e.g., LILO).</para></sect4>
|
||||
(LILO, for example).</para></sect4>
|
||||
|
||||
<sect4><title>telinit</title>
|
||||
<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>
|
||||
|
||||
<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>
|
||||
|
||||
<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
|
||||
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>
|
||||
|
||||
<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>Some tar programs (most of them nowadays but not all of them) are
|
||||
slightly modified to be able to use bzip2 files directly using either
|
||||
the I, the y or the j tar parameter, which works the same as the z tar
|
||||
parameter to handle gzip archives. The above construction works no matter how
|
||||
your host system decided to patch bzip2.</para>
|
||||
<para>Nowadays most tar programs, but not all, are
|
||||
patched to be able to use bzip2 files directly. They use either
|
||||
the -I, the -y, or the -j parameter, which work the same as the -z
|
||||
parameter for handling gzip files. The above construction, however,
|
||||
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>
|
||||
|
||||
|
@ -2,7 +2,7 @@
|
||||
<title>Introduction</title>
|
||||
<?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
|
||||
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>
|
||||
|
||||
<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.
|
||||
If <filename>ls</filename> and <filename>rm</filename> both use the same
|
||||
library, then we don't need two copies of the
|
||||
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
|
||||
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>,
|
||||
<userinput>--disable-shared</userinput>, and
|
||||
<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
|
||||
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>
|
||||
|
||||
<para>And there you have it, that's why you need to use those weird
|
||||
|
@ -1,16 +1,16 @@
|
||||
<sect1 id="ch06-changingowner">
|
||||
<title>Changing ownership of the LFS partition</title>
|
||||
<title>Changing ownership</title>
|
||||
<?dbhtml filename="changingowner.html" dir="chapter06"?>
|
||||
|
||||
<para>Now we're in chroot, it is a good time to change the ownership of
|
||||
all files and directories that were installed in chapter 5 back to root.
|
||||
Run the following commands to do so:</para>
|
||||
<para>Now we're in chroot, it is time to change the ownership of
|
||||
the files and directories that were installed in chapter 5 to root.
|
||||
Run the following command to do so:</para>
|
||||
|
||||
<para><screen><userinput>chown -R 0:0 /</userinput></screen></para>
|
||||
|
||||
<para>This command will change the ownership of the root partition to
|
||||
root. 0:0 is used instead of the usual root:root, because the username
|
||||
root can't be resolved because glibc is not yet installed.</para>
|
||||
<para>This command changes the ownership of the root partition to
|
||||
root. The command uses 0:0 instead of root:root, because the user name
|
||||
"root" can't be resolved, as glibc is not installed yet.</para>
|
||||
|
||||
</sect1>
|
||||
|
||||
|
@ -11,7 +11,7 @@ command.</para>
|
||||
<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
|
||||
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>
|
||||
|
||||
|
@ -1,12 +1,12 @@
|
||||
<sect2><title>Configuring Shadow Password Suite</title>
|
||||
|
||||
<para>This package contains the utilities to modify user's passwords, add new
|
||||
users/groups, delete users/groups and more. We're not going to explain
|
||||
what 'password shadowing' means. All about that can be read in the doc/HOWTO
|
||||
<para>This package contains utilities to modify users's passwords, add
|
||||
or delete users and groups, and the like. We're not going to explain
|
||||
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
|
||||
thing you should keep in mind, if you decide to use shadow support, that
|
||||
programs that need to verify passwords (examples are xdm, ftp daemons,
|
||||
pop3 daemons, etc) need to be 'shadow-compliant', e.g. they need to
|
||||
thing to keep in mind if you decide to use shadow support: that
|
||||
programs that need to verify passwords (for example xdm, ftp daemons,
|
||||
pop3 daemons) need to be 'shadow-compliant', that is they need to
|
||||
be able to work with shadow'ed passwords.</para>
|
||||
|
||||
<para>To enable shadow'ed passwords, run the following command:</para>
|
||||
|
@ -1,8 +1,8 @@
|
||||
<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
|
||||
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>
|
||||
|
||||
<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
|
||||
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
|
||||
enter the /root directory (the same a user would do with /home/username
|
||||
directories). The second change is a mode 1777 for the tmp
|
||||
directories. This way, any user can write data to the /tmp or /var/tmp
|
||||
directory but cannot remove another user's files (the latter is caused
|
||||
by the so-called "sticky bit" - bit 1 of the 1777 bit mask).</para>
|
||||
enter the /root directory (the same a user would do with his /home/username
|
||||
directory). The second change is a mode 1777 for the tmp
|
||||
directories. In this way any user can write to the /tmp and /var/tmp
|
||||
directories, but cannot remove other users's files from them (the latter is prohibited
|
||||
by the so-called "sticky bit" -- bit 1 in the 1777 bit mask).</para>
|
||||
|
||||
<para><screen><userinput>chmod 0750 /root &&
|
||||
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
|
||||
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
|
||||
prompt, which was caused by bash's inability to resolve a userid to
|
||||
a username (which in turn was caused by the missing Glibc
|
||||
installation).</para>
|
||||
prompt, which was caused by bash's inability to resolve a user ID to
|
||||
a user name (which in turn was caused by the absence of Glibc).</para>
|
||||
|
||||
</sect2>
|
||||
|
||||
|
@ -1,7 +1,7 @@
|
||||
<sect2>
|
||||
<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
|
||||
and asm respectively. This is a <emphasis>bad</emphasis> idea as
|
||||
this extract from a post by Linus Torvalds to the Linux Kernel
|
||||
|
@ -1,11 +1,11 @@
|
||||
<sect2>
|
||||
<title>Command explanations</title>
|
||||
|
||||
<para><userinput>./MAKEDEV -v generic:</userinput> This creates generic
|
||||
devices. Normally, these devices are all the devices you need. It's possible
|
||||
<para><userinput>./MAKEDEV -v generic:</userinput> This creates a whole
|
||||
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
|
||||
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>
|
||||
|
||||
</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
|
||||
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
|
||||
that you may not be able to use all of those devices due to kernel
|
||||
limitations regarding the max. number of partitions.</para>
|
||||
<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 these devices due to kernel
|
||||
limits on the maximum number of partitions.</para>
|
||||
|
||||
</sect2>
|
||||
|
||||
|
@ -21,8 +21,8 @@ have enabled in your kernel.</para>
|
||||
<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
|
||||
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
|
||||
it's up to the kernel to make it available to the system.</para>
|
||||
here is merely telling the programs to be able to use those protocols, but
|
||||
it's up to the kernel to make them available to the system.</para>
|
||||
|
||||
</sect2>
|
||||
|
||||
|
@ -9,17 +9,17 @@ make install</userinput></screen></para>
|
||||
|
||||
<para>Psmisc installs the
|
||||
<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
|
||||
because we install the sysvinit package later on which provides us with
|
||||
pidof program isn't installed by default. Generally this isn't a problem,
|
||||
because we install the Sysvinit package later on which provides
|
||||
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
|
||||
should remove Psmisc's pidof man page by running:</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>
|
||||
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
|
||||
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.
|
||||
If set to anything else but yes it will be ignored by the network script
|
||||
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
|
||||
and thus not brought up.</para>
|
||||
|
||||
</sect2>
|
||||
|
@ -80,9 +80,9 @@ is running and with which PIDs.</para></listitem>
|
||||
|
||||
</itemizedlist>
|
||||
|
||||
<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
|
||||
done in a nice way (well what we consider nice anyway. You may hate it).</para>
|
||||
<para>Feel free to modify the way the boot process works (after all, it's your
|
||||
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 -- you may hate it).</para>
|
||||
|
||||
</sect1>
|
||||
|
||||
|
@ -3,7 +3,7 @@
|
||||
<?dbhtml filename="theend.html" dir="chapter09"?>
|
||||
|
||||
<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>
|
||||
|
||||
<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
|
||||
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
|
||||
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>
|
||||
|
||||
<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
|
||||
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
|
||||
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
|
||||
(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
|
||||
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
|
||||
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>
|
||||
|
||||
<para><screen><userinput>find $LFS/{,usr/,usr/local/}{bin,sbin,lib} -type f \
|
||||
|
@ -4,8 +4,8 @@
|
||||
|
||||
<!ENTITY book SYSTEM "book/book.xml">
|
||||
|
||||
<!ENTITY version "20020602">
|
||||
<!ENTITY releasedate "June 2nd, 2002">
|
||||
<!ENTITY version "20020603">
|
||||
<!ENTITY releasedate "June 3rd, 2002">
|
||||
|
||||
<!ENTITY ftp-root "ftp://ftp.linuxfromscratch.org">
|
||||
<!ENTITY http-root "http://ftp.linuxfromscratch.org">
|
||||
|
Loading…
Reference in New Issue
Block a user