Merge branch 'trunk' of git.linuxfromscratch.org:lfs into trunk

This commit is contained in:
Bruce Dubbs 2022-09-17 15:45:24 -05:00
commit 4fb696f91c
2 changed files with 75 additions and 46 deletions

View File

@ -46,7 +46,7 @@
<para>Now fix a programming error identified upstream:</para>
<screen><userinput remap="pre">sed -i -i '241i UPREF(m);' interpret.h</userinput></screen>
<screen><userinput remap="pre">sed -i '241i UPREF(m);' interpret.h</userinput></screen>
<para>Prepare Gawk for compilation:</para>

View File

@ -24,28 +24,28 @@
<para>
A server is the simpler category. Generally this consists of a web
server such as the
server such as the
<ulink url="&blfs-book;server/apache.html">Apache HTTP Server</ulink>
and a database server such as
<ulink url="&blfs-book;server/mariadb.html">MariaDB</ulink>.
<ulink url="&blfs-book;server/mariadb.html">MariaDB</ulink>.
However other services are possible. The operating system
embedded in a single use device falls into this category.
</para>
<para>
On the other hand, a workstation is much more complex. It generally
requires a graphical user environment such as
<ulink url="&blfs-book;lxde/lxde.html">LXDE</ulink>,
<ulink url="&blfs-book;xfce/xfce.html">XFCE</ulink>,
<ulink url="&blfs-book;kde/kde.html">KDE</ulink>, or
requires a graphical user environment such as
<ulink url="&blfs-book;lxde/lxde.html">LXDE</ulink>,
<ulink url="&blfs-book;xfce/xfce.html">XFCE</ulink>,
<ulink url="&blfs-book;kde/kde.html">KDE</ulink>, or
<ulink url="&blfs-book;gnome/gnome.html">Gnome</ulink>
based on the
<ulink url="&blfs-book;x/installing.html">X Window graphical environment</ulink>
based on a basic
<ulink url="&blfs-book;x/installing.html">graphical environment</ulink>
and several graphical based applications such as the
<ulink url="&blfs-book;xsoft/firefox.html">Firefox web browser</ulink>,
<ulink url="&blfs-book;xsoft/firefox.html">Firefox web browser</ulink>,
<ulink url="&blfs-book;xsoft/thunderbird.html">Thunderbird email client</ulink>,
or
<ulink url="&blfs-book;xsoft/libreoffice.html">LibreOffice office suite</ulink>.
or
<ulink url="&blfs-book;xsoft/libreoffice.html">LibreOffice office suite</ulink>.
These applications require many (several hundred depending on
desired capabilities) more packages of support applications and
libraries.
@ -54,11 +54,11 @@
<para>
In addition to the above, there is a set of applications that are
suitable for all systems for system management. These applications are
all in the full BLFS book. Not
all packages are needed in all environments. For example
<ulink url="&blfs-book;basicnet/dhcpcd.html">dhcpcd</ulink>,
is not appropriate for a server and
<ulink url="&blfs-book;basicnet/wireless_tools.html">wireless_tools</ulink>,
all in the BLFS book. Not
all packages are needed in all environments. For example
<ulink url="&blfs-book;basicnet/dhcpcd.html">dhcpcd</ulink>,
is not appropriate for a server and
<ulink url="&blfs-book;basicnet/wireless_tools.html">wireless_tools</ulink>,
are normally only
useful for a laptop system. If you are not sure if a package presented
here is needed or not, it can either be installed now or later as the
@ -68,12 +68,12 @@
</sect2>
<sect2>
<title>Working in a partial BLFS environment</title>
<title>Working in a basic LFS environment</title>
<para>
When you initially boot into LFS, you have all the internal tools to build
additional packages. Unfortunately, the user environment is quite sparse.
There are a couple of ways to improve this:
There are a couple of ways to improve this:
</para>
<sect3>
@ -90,8 +90,8 @@
<para>
In order to properly build packages in chroot, you will also need to
remember to mount the virtual file systems if they are not already
mounted. One way to do this is to create a script on the
<command>HOST</command> system:
mounted. One way to do this is to create a script on the
<emphasis role="bold">HOST</emphasis> system:
</para>
<screen><command>cat &gt; ~/mount-virt.sh &lt;&lt; "EOF"
@ -100,7 +100,7 @@
function mountbind
{
if ! mountpoint $LFS/$1 >/dev/null; then
$SUDO mount - -bind /$1 $LFS/$1
$SUDO mount --bind /$1 $LFS/$1
echo $LFS/$1 mounted
else
echo $LFS/$1 already mounted
@ -110,7 +110,7 @@ function mountbind
function mounttype
{
if ! mountpoint $LFS/$1 >/dev/null; then
$SUDO mount -t $2 $3 $4 $5 $LFS/$1
$SUDO mount -t $2 $3 $4 $5 $LFS/$1
echo $LFS/$1 mounted
else
echo $LFS/$1 already mounted
@ -128,7 +128,7 @@ if [ x$LFS == x ]; then
exit 1
fi
mountbind dev
mountbind dev
mounttype dev/pts devpts devpts -o gid=5,mode=620
mounttype proc proc proc
mounttype sys sysfs sysfs
@ -142,12 +142,12 @@ EOF</command></screen>
<para>
Note that the last three commands in the script are commented out. These
are useful if those directories are mounted as separate partitions on the
host system and will be mounted when booting the completed LFS/BLFS system.
host system and will be mounted when booting the completed LFS/BLFS system.
</para>
<para>
The script can be run with <command>bash ~/mount-virt.sh</command> as
either a regular user (recommended) or as root. If run as a regular
either a regular user (recommended) or as &root;. If run as a regular
user, sudo is required on the host system.
</para>
@ -166,8 +166,8 @@ EOF</command></screen>
placed in a user's ~/.bashrc file on the host system:
</para>
<screen><command>alias lfs='sudo /usr/sbin/chroot /mnt/lfs /usr/bin/env -i HOME=/root TERM="$TERM" PS1="\u:\w\\\\$ "
PATH=/bin:/usr/bin:/sbin:/usr/sbin /bin/bash - -login'</command></screen>
<screen><command>alias lfs='sudo /usr/sbin/chroot /mnt/lfs /usr/bin/env -i HOME=/root TERM="$TERM" PS1="\u:\w\\\\$ "
PATH=/bin:/usr/bin:/sbin:/usr/sbin /bin/bash --login'</command></screen>
<para>
This alias is a little tricky because of the quoting and levels of
@ -182,14 +182,14 @@ PATH=/bin:/usr/bin:/sbin:/usr/sbin /bin/bash - -login'</command></screen>
<para>
This method also provides a full graphical environment, but first
requires installing
requires installing
<ulink url="&blfs-book;postlfs/openssh.html">sshd</ulink> and
<ulink url="&blfs-book;basicnet/wget.html">wget</ulink>
<ulink url="&blfs-book;basicnet/wget.html">wget</ulink>
on the LFS system, usually in chroot. It also requires a second
computer. This method has the advantage of being simple by not requiring
the complexity of the chroot environment. It also uses your LFS built
kernel for all additional packages and still provides a complete system
for installing packages.
for installing packages.
</para>
</sect3>
@ -198,32 +198,61 @@ PATH=/bin:/usr/bin:/sbin:/usr/sbin /bin/bash - -login'</command></screen>
<title>Work from the LFS command line</title>
<para>
This method requiures installing
This method requires installing
<ulink url="&blfs-book;general/libtasn1.html">libtasn1</ulink>,
<ulink url="&blfs-book;postlfs/p11-kit.html">p11-kit</ulink>,
<ulink url="&blfs-book;postlfs/make-ca.html">make-ca</ulink>,
<ulink url="&blfs-book;basicnet/wget.html">wget</ulink>,
<ulink url="&blfs-book;basicnet/wget.html">wget</ulink>,
<ulink url="&blfs-book;general/gpm.html">gpm</ulink>, and
<ulink url="&blfs-book;basicnet/links">links</ulink>
in chroot and then rebooting into the new LFS system. At this
point the default system has six virtual consoles. Switching
consoles is as easy as using the Alt-Fn key combinations where Fn is
between F1 and F6. The Alt-LeftArrow and Alt-RightArrow key
<ulink url="&blfs-book;basicnet/links.html">links</ulink>
(or <ulink url="&blfs-book;basicnet/lynx.html">lynx</ulink>)
in chroot and then rebooting into the new LFS system. At this
point the default system has six virtual consoles. Switching
consoles is as easy as using the
<keycombo>
<keycap>Alt</keycap>
<keycap>Fx</keycap>
</keycombo>
key combinations where <keycap>Fx</keycap> is
between <keycap>F1</keycap> and <keycap>F6</keycap>.
The
<keycombo>
<keycap>Alt</keycap>
<keycap function='left'/>
</keycombo>
and
<keycombo>
<keycap>Alt</keycap>
<keycap function='right'/>
</keycombo>
combinations also will change the console.
</para>
<para>
At this point you can log into two different virtual consoles and run
the links browser in one console and bash in the other. GPM then allows
copying commands from the browser with the left mouse button, switching
consoles, and pasting into the other console.
the links or lynx browser in one console and bash in the other. GPM
then allows copying commands from the browser with the left mouse
button, switching consoles, and pasting into the other console.
</para>
<note>
<para>
As a side note, switching of virtual consoles can also be done from
an X Window instance with the Ctrl-Alt-Fn key combination, but the
mouse copy operation does not work between the graphical interface
and a virtual console. You can return to the X Window display with
the Ctrl-Alt-Fn conbination where Fn is usually F7.
an X Window instance with the
<keycombo>
<keycap>Ctrl</keycap>
<keycap>Alt</keycap>
<keycap>Fx</keycap>
</keycombo>
key combination, but the mouse copy operation does not work
between the graphical interface and a virtual console. You can
return to the X Window display with the
<keycombo>
<keycap>Ctrl</keycap>
<keycap>Alt</keycap>
<keycap>Fx</keycap>
</keycombo>
combination, where <keycap>Fx</keycap> may be <keycap>F7</keycap>.
</para>
</note>