Linux From Scratch

(V028-20201230). This site is managed by VauLSMorg (vlsm.org) since 2020.
May the fork() be with Jolan Tru! --- operatingsystems (@T) vlsm dot org.

View on GitHub

HOME ABOUT WEB GITHUB TOP BOTTOM PREV NEXT


It is assumed that you understand how install a Debian VirtualBox Guest. If you have never installed a VirtualBox Guest before, visit OSP4DISS.


LFS: Chapter 7

Virtual Box Guest LFS-07



INPUT

ssh -p 6024 lfs@localhost

OUTPUT

rms46@pamulang1:~$ ssh -p 6024 lfs@localhost
lfs@localhost's password:

===== TL;DR =====

lfs@osp:~$ 


INPUT

echo $LFS
su -

OUTPUT

lfs:~$ echo $LFS
/mnt/lfs

lfs:~$ su -
Password:

root:~#


Changing Ownership

INPUT

echo $LFS
chown -R root:root $LFS/{usr,lib,var,etc,bin,sbin,tools}
case $(uname -m) in
  x86_64) chown -R root:root $LFS/lib64 ;;
esac

OUTPUT

root:~# chown -R root:root $LFS/{usr,lib,var,etc,bin,sbin,tools}

root:~# case $(uname -m) in
>   x86_64) chown -R root:root $LFS/lib64 ;;
> esac

root:~# 


Preparing Virtual Kernel File Systems

INPUT

mkdir -pv $LFS/{dev,proc,sys,run}
mknod -m 600 $LFS/dev/console c 5 1
mknod -m 666 $LFS/dev/null c 1 3
mount -v --bind /dev $LFS/dev
mount -v --bind /dev/pts $LFS/dev/pts
mount -vt proc proc $LFS/proc
mount -vt sysfs sysfs $LFS/sys
mount -vt tmpfs tmpfs $LFS/run
if [ -h $LFS/dev/shm ]; then
  mkdir -pv $LFS/$(readlink $LFS/dev/shm)
fi

OUTPUT

root:~# mkdir -pv $LFS/{dev,proc,sys,run}
mkdir: created directory '/mnt/lfs/dev'
mkdir: created directory '/mnt/lfs/proc'
mkdir: created directory '/mnt/lfs/sys'
mkdir: created directory '/mnt/lfs/run'

root:~# mknod -m 600 $LFS/dev/console c 5 1

root:~# mknod -m 666 $LFS/dev/null c 1 3

root:~# mount -v --bind /dev $LFS/dev
mount: /dev bound on /mnt/lfs/dev.

root:~# mount -v --bind /dev/pts $LFS/dev/pts
mount: /dev/pts bound on /mnt/lfs/dev/pts.

root:~# mount -vt proc proc $LFS/proc
mount: proc mounted on /mnt/lfs/proc.

root:~# mount -vt sysfs sysfs $LFS/sys
mount: sysfs mounted on /mnt/lfs/sys.

root:~# mount -vt tmpfs tmpfs $LFS/run
mount: tmpfs mounted on /mnt/lfs/run.

root:~# if [ -h $LFS/dev/shm ]; then
>   mkdir -pv $LFS/$(readlink $LFS/dev/shm)
> fi

root:~# 


Entering the Chroot Environment

ATTN: CHROOT! Compare File System: “df” before, and “df” after.

INPUT

df

chroot "$LFS" /usr/bin/env -i   \
    HOME=/root                  \
    TERM="$TERM"                \
    PS1='(lfs chroot) \u:\w\$ ' \
    PATH=/bin:/usr/bin:/sbin:/usr/sbin \
    MAKEFLAGS='-j6' \
    /bin/bash --login +h

df

OUTPUT

root:~# df
Filesystem     1K-blocks    Used Available Use% Mounted on
udev             4020816       0   4020816   0% /dev
tmpfs             807128    8636    798492   2% /run
/dev/sda1       16446332 2724032  12867160  18% /
tmpfs            4035640       0   4035640   0% /dev/shm
tmpfs               5120       0      5120   0% /run/lock
tmpfs            4035640       0   4035640   0% /sys/fs/cgroup
/dev/sdb1       32894736 5859592  25341144  19% /mnt/lfs
tmpfs             807128       0    807128   0% /run/user/1001
tmpfs            4035640       0   4035640   0% /mnt/lfs/run

root:~# chroot "$LFS" /usr/bin/env -i   \
>     HOME=/root                  \
>     TERM="$TERM"                \
>     PS1='(lfs chroot) \u:\w\$ ' \
>     PATH=/bin:/usr/bin:/sbin:/usr/sbin \
>     MAKEFLAGS='-j6' \
>     /bin/bash --login +h

(lfs chroot) I have no name!:/# df
Filesystem     1K-blocks    Used Available Use% Mounted on
/dev/sdb1       32894736 5859592  25341144  19% /
udev             4020816       0   4020816   0% /dev
tmpfs            4035640       0   4035640   0% /run

(lfs chroot) I have no name!:/# 


Creating Directories

INPUT

mkdir -pv /{boot,home,mnt,opt,srv}
mkdir -pv /etc/{opt,sysconfig}
mkdir -pv /lib/firmware
mkdir -pv /media/{floppy,cdrom}
mkdir -pv /usr/{,local/}{bin,include,lib,sbin,src}
mkdir -pv /usr/{,local/}share/{color,dict,doc,info,locale,man}
mkdir -pv /usr/{,local/}share/{misc,terminfo,zoneinfo}
mkdir -pv /usr/{,local/}share/man/man{1..8}
mkdir -pv /var/{cache,local,log,mail,opt,spool}
mkdir -pv /var/lib/{color,misc,locate}
ln -sfv /run /var/run
ln -sfv /run/lock /var/lock
install -dv -m 0750 /root
install -dv -m 1777 /tmp /var/tmp

OUTPUT

(lfs chroot) I have no name!:/# mkdir -pv /{boot,home,mnt,opt,srv}
mkdir: created directory '/boot'
mkdir: created directory '/home'
mkdir: created directory '/mnt'
mkdir: created directory '/opt'
mkdir: created directory '/srv'

(lfs chroot) I have no name!:/# mkdir -pv /etc/{opt,sysconfig}
mkdir: created directory '/etc/opt'
mkdir: created directory '/etc/sysconfig'

(lfs chroot) I have no name!:/# mkdir -pv /lib/firmware
mkdir: created directory '/lib/firmware'

(lfs chroot) I have no name!:/# mkdir -pv /media/{floppy,cdrom}
mkdir: created directory '/media'
mkdir: created directory '/media/floppy'
mkdir: created directory '/media/cdrom'

(lfs chroot) I have no name!:/# mkdir -pv /usr/{,local/}{bin,include,lib,sbin,src}
mkdir: created directory '/usr/src'
mkdir: created directory '/usr/local'
mkdir: created directory '/usr/local/bin'
mkdir: created directory '/usr/local/include'
mkdir: created directory '/usr/local/lib'
mkdir: created directory '/usr/local/sbin'
mkdir: created directory '/usr/local/src'

(lfs chroot) I have no name!:/# mkdir -pv /usr/{,local/}share/{color,dict,doc,info,locale,man}
mkdir: created directory '/usr/share/color'
mkdir: created directory '/usr/share/dict'
mkdir: created directory '/usr/local/share'
mkdir: created directory '/usr/local/share/color'
mkdir: created directory '/usr/local/share/dict'
mkdir: created directory '/usr/local/share/doc'
mkdir: created directory '/usr/local/share/info'
mkdir: created directory '/usr/local/share/locale'
mkdir: created directory '/usr/local/share/man'

(lfs chroot) I have no name!:/# mkdir -pv /usr/{,local/}share/{misc,terminfo,zoneinfo}
mkdir: created directory '/usr/share/zoneinfo'
mkdir: created directory '/usr/local/share/misc'
mkdir: created directory '/usr/local/share/terminfo'
mkdir: created directory '/usr/local/share/zoneinfo'

(lfs chroot) I have no name!:/# mkdir -pv /usr/{,local/}share/man/man{1..8}
mkdir: created directory '/usr/share/man/man2'
mkdir: created directory '/usr/share/man/man6'
mkdir: created directory '/usr/local/share/man/man1'
mkdir: created directory '/usr/local/share/man/man2'
mkdir: created directory '/usr/local/share/man/man3'
mkdir: created directory '/usr/local/share/man/man4'
mkdir: created directory '/usr/local/share/man/man5'
mkdir: created directory '/usr/local/share/man/man6'
mkdir: created directory '/usr/local/share/man/man7'
mkdir: created directory '/usr/local/share/man/man8'

(lfs chroot) I have no name!:/# mkdir -pv /var/{cache,local,log,mail,opt,spool}
mkdir: created directory '/var/cache'
mkdir: created directory '/var/local'
mkdir: created directory '/var/log'
mkdir: created directory '/var/mail'
mkdir: created directory '/var/opt'
mkdir: created directory '/var/spool'

(lfs chroot) I have no name!:/# mkdir -pv /var/lib/{color,misc,locate}
mkdir: created directory '/var/lib/color'
mkdir: created directory '/var/lib/misc'
mkdir: created directory '/var/lib/locate'

(lfs chroot) I have no name!:/# ln -sfv /run /var/run
'/var/run' -> '/run'

(lfs chroot) I have no name!:/# ln -sfv /run/lock /var/lock
'/var/lock' -> '/run/lock'

(lfs chroot) I have no name!:/# install -dv -m 0750 /root
install: creating directory '/root'

(lfs chroot) I have no name!:/# install -dv -m 1777 /tmp /var/tmp
install: creating directory '/tmp'
install: creating directory '/var/tmp'

(lfs chroot) I have no name!:/# 


Creating Essential Files and Symlinks

INPUT

ln -sv /proc/self/mounts /etc/mtab
echo "127.0.0.1 localhost $(hostname)" > /etc/hosts
cat > /etc/passwd << "EOF"
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/dev/null:/bin/false
daemon:x:6:6:Daemon User:/dev/null:/bin/false
messagebus:x:18:18:D-Bus Message Daemon User:/var/run/dbus:/bin/false
nobody:x:99:99:Unprivileged User:/dev/null:/bin/false
EOF

cat > /etc/group << "EOF"
root:x:0:
bin:x:1:daemon
sys:x:2:
kmem:x:3:
tape:x:4:
tty:x:5:
daemon:x:6:
floppy:x:7:
disk:x:8:
lp:x:9:
dialout:x:10:
audio:x:11:
video:x:12:
utmp:x:13:
usb:x:14:
cdrom:x:15:
adm:x:16:
messagebus:x:18:
input:x:24:
mail:x:34:
kvm:x:61:
wheel:x:97:
nogroup:x:99:
users:x:999:
EOF

echo "tester:x:$(ls -n $(tty) | cut -d" " -f3):101::/home/tester:/bin/bash" >> /etc/passwd
echo "tester:x:101:" >> /etc/group
install -o tester -d /home/tester
exec /bin/bash --login +h
touch /var/log/{btmp,lastlog,faillog,wtmp}
chgrp -v utmp /var/log/lastlog
chmod -v 664  /var/log/lastlog
chmod -v 600  /var/log/btmp

OUTPUT

(lfs chroot) I have no name!:/# ln -sv /proc/self/mounts /etc/mtab
'/etc/mtab' -> '/proc/self/mounts'

(lfs chroot) I have no name!:/# echo "127.0.0.1 localhost $(hostname)" > /etc/hosts

(lfs chroot) I have no name!:/# cat > /etc/passwd << "EOF"
> root:x:0:0:root:/root:/bin/bash
> bin:x:1:1:bin:/dev/null:/bin/false
> daemon:x:6:6:Daemon User:/dev/null:/bin/false
> messagebus:x:18:18:D-Bus Message Daemon User:/var/run/dbus:/bin/false
> nobody:x:99:99:Unprivileged User:/dev/null:/bin/false
> EOF

(lfs chroot) I have no name!:/# cat > /etc/group << "EOF"
> root:x:0:
> bin:x:1:daemon

===== TL;DR =====

> nogroup:x:99:
> users:x:999:
> EOF

(lfs chroot) I have no name!:/# echo "tester:x:$(ls -n $(tty) | cut -d" " -f3):101::/home/tester:/bin/bash" >> /etc/passwd

(lfs chroot) I have no name!:/# echo "tester:x:101:" >> /etc/group

(lfs chroot) I have no name!:/# install -o tester -d /home/tester

(lfs chroot) I have no name!:/# exec /bin/bash --login +h

(lfs chroot) root:/# touch /var/log/{btmp,lastlog,faillog,wtmp}

(lfs chroot) root:/# chgrp -v utmp /var/log/lastlog
changed group of '/var/log/lastlog' from root to utmp

(lfs chroot) root:/# chmod -v 664  /var/log/lastlog
mode of '/var/log/lastlog' changed from 0644 (rw-r--r--) to 0664 (rw-rw-r--)

(lfs chroot) root:/# chmod -v 600  /var/log/btmp
mode of '/var/log/btmp' changed from 0644 (rw-r--r--) to 0600 (rw-------)

(lfs chroot) root:/# 


Libstdc++ from GCC-10.2.0, Pass 2

INPUT

cd /sources/
tar xf gcc-10.2.0.tar.xz
cd gcc-10.2.0/
ln -s gthr-posix.h libgcc/gthr-default.h
mkdir -v build
cd       build
../libstdc++-v3/configure            \
    CXXFLAGS="-g -O2 -D_GNU_SOURCE"  \
    --prefix=/usr                    \
    --disable-multilib               \
    --disable-nls                    \
    --host=$(uname -m)-lfs-linux-gnu \
    --disable-libstdcxx-pch

OUTPUT

(lfs chroot) root:/# cd /sources/

(lfs chroot) root:/sources# tar xf gcc-10.2.0.tar.xz

(lfs chroot) root:/sources# cd gcc-10.2.0/

(lfs chroot) root:/sources/gcc-10.2.0# ln -s gthr-posix.h libgcc/gthr-default.h

(lfs chroot) root:/sources/gcc-10.2.0# mkdir -v build
mkdir: created directory 'build'

(lfs chroot) root:/sources/gcc-10.2.0# cd       build

(lfs chroot) root:/sources/gcc-10.2.0/build# ../libstdc++-v3/configure            \
>     CXXFLAGS="-g -O2 -D_GNU_SOURCE"  \
>     --prefix=/usr                    \
>     --disable-multilib               \

===== TL;DR =====

    -e 's/\([ABCDEFGHIJKLMNOPQRSTUVWXYZ_]*USE_WEAK\)/_GLIBCXX_\1/g' \
    -e 's,^#include "\(.*\)",#include <bits/\1>,g' \
    < /sources/gcc-10.2.0/libstdc++-v3/../libgcc/gthr-posix.h > x86_64-lfs-linux-gnu/bits/gthr-default.h
(lfs chroot) root:/sources/gcc-10.2.0/build# 


INPUT

time make

OUTPUT

(lfs chroot) root:/sources/gcc-10.2.0/build# time make
make "AR_FLAGS=" "CC_FOR_BUILD=" "CC_FOR_TARGET=" "CFLAGS=-g -O2" "CXXFLAGS=-g -O2 -D_GNU_SOURCE"

===== TL;DR =====

real	1m20.735s
user	1m13.227s
sys	0m5.271s

(lfs chroot) root:/sources/gcc-10.2.0/build# 


INPUT

time make install
cd ../../
rm -rf gcc-10.2.0/

OUTPUT

(lfs chroot) root:/sources/gcc-10.2.0/build# time make install
Making install in include
make[1]: Entering directory '/sources/gcc-10.2.0/build/include'
make[2]: Entering directory '/sources/gcc-10.2.0/build/include'

===== TL;DR =====

real	0m2.715s
user	0m1.763s
sys	0m0.709s

(lfs chroot) root:/sources/gcc-10.2.0/build# cd ../..

(lfs chroot) root:/sources# rm -rf gcc-10.2.0/

(lfs chroot) root:/sources# 


Gettext-0.21

INPUT

tar xf gettext-0.21.tar.xz
cd gettext-0.21/
./configure --disable-shared

OUTPUT

(lfs chroot) root:/sources# tar xf gettext-0.21.tar.xz

(lfs chroot) root:/sources# cd gettext-0.21/

(lfs chroot) root:/sources/gettext-0.21# ./configure --disable-shared
checking for a BSD-compatible install... /usr/bin/install -c
checking whether build environment is sane... yes
checking for a thread-safe mkdir -p... /bin/mkdir -p

===== TL;DR =====

config.status: creating installpaths
config.status: creating po/Makefile
config.status: executing po-directories commands

(lfs chroot) root:/sources/gettext-0.21# 


INPUT

time make

OUTPUT

(lfs chroot) root:/sources/gettext-0.21# time make

===== TL;DR =====

real	2m40.902s
user	2m27.278s
sys	0m16.910s

(lfs chroot) root:/sources/gettext-0.21# 


INPUT

cp -v gettext-tools/src/{msgfmt,msgmerge,xgettext} /usr/bin
cd ../
rm -rf gettext-0.21/

OUTPUT

(lfs chroot) root:/sources/gettext-0.21# cp -v gettext-tools/src/{msgfmt,msgmerge,xgettext} /usr/bin
'gettext-tools/src/msgfmt' -> '/usr/bin/msgfmt'
'gettext-tools/src/msgmerge' -> '/usr/bin/msgmerge'
'gettext-tools/src/xgettext' -> '/usr/bin/xgettext'

(lfs chroot) root:/sources/gettext-0.21# cd ../

(lfs chroot) root:/sources# rm -rf gettext-0.21

(lfs chroot) root:/sources# 


Bison-3.7.1

INPUT

tar xf bison-3.7.1.tar.xz
cd bison-3.7.1/
./configure --prefix=/usr \
            --docdir=/usr/share/doc/bison-3.7.1

OUTPUT

(lfs chroot) root:/sources# tar xf bison-3.7.1.tar.xz

(lfs chroot) root:/sources# cd bison-3.7.1/

(lfs chroot) root:/sources/bison-3.7.1# ./configure --prefix=/usr \
>             --docdir=/usr/share/doc/bison-3.7.1
checking for a BSD-compatible install... /usr/bin/install -c
checking whether build environment is sane... yes
checking for a race-free mkdir -p... /bin/mkdir -p

===== TL;DR =====

config.status: creating po/POTFILES
config.status: creating po/Makefile
config.status: executing tests/atconfig commands

(lfs chroot) root:/sources/bison-3.7.1# 


INPUT

time make

OUTPUT

(lfs chroot) root:/sources/bison-3.7.1# time make

===== TL;DR =====

real	0m15.110s
user	0m13.464s
sys	0m1.071s

(lfs chroot) root:/sources/bison-3.7.1# 


INPUT

time make install
cd ../
rm -rf bison-3.7.1/

OUTPUT

(lfs chroot) root:/sources/bison-3.7.1# time make install

===== TL;DR =====

real	0m1.035s
user	0m0.925s
sys	0m0.169s

(lfs chroot) root:/sources/bison-3.7.1# cd ../

(lfs chroot) root:/sources# rm -rf bison-3.7.1/

(lfs chroot) root:/sources# 


Perl-5.32.0

INPUT

tar xf perl-5.32.0.tar.xz
cd perl-5.32.0/
sh Configure -des                                        \
             -Dprefix=/usr                               \
             -Dvendorprefix=/usr                         \
             -Dprivlib=/usr/lib/perl5/5.32/core_perl     \
             -Darchlib=/usr/lib/perl5/5.32/core_perl     \
             -Dsitelib=/usr/lib/perl5/5.32/site_perl     \
             -Dsitearch=/usr/lib/perl5/5.32/site_perl    \
             -Dvendorlib=/usr/lib/perl5/5.32/vendor_perl \
             -Dvendorarch=/usr/lib/perl5/5.32/vendor_perl

OUTPUT

(lfs chroot) root:/sources/perl-5.32.0# tar xf perl-5.32.0.tar.xz

===== TL;DR =====

Finding dependencies for miniperlmain.o
Finding dependencies for opmini.o
Finding dependencies for perlmini.o
Updating makefile...
Now you must run 'make'.

If you compile perl5 on a different machine or from a different object
directory, copy the Policy.sh file from this object directory to the
new one before you run Configure -- this will help you with most of
the policy defaults.

(lfs chroot) root:/sources/perl-5.32.0#


INPUT

time make

OUTPUT

(lfs chroot) root:/sources/perl-5.32.0# time make

===== TL;DR =====

Extracting streamzip (with variable substitutions)
make[1]: Leaving directory '/sources/perl-5.32.0/utils'
 
	Everything is up to date. Type 'make test' to run test suite.

real	2m32.970s
user	2m25.214s
sys	0m7.930s

(lfs chroot) root:/sources/perl-5.32.0# 


INPUT

time make test

OUTPUT

(lfs chroot) root:/sources/perl-5.32.0# time make test

===== TL;DR =====

Failed 6 tests out of 2450, 99.76% okay.
	../cpan/Socket/t/getnameinfo.t
	../dist/Net-Ping/t/110_icmp_inst.t
	../dist/Net-Ping/t/500_ping_icmp.t
	../dist/Net-Ping/t/501_ping_icmpv6.t
	../dist/Net-Ping/t/520_icmp_ttl.t
	../lib/Net/hostent.t
### Since not all tests were successful, you may want to run some of
### them individually and examine any diagnostic messages they produce.
### See the INSTALL document's section on "make test".
### You have a good chance to get more information by running
###   ./perl harness
### in the 't' directory since most (>=80%) of the tests succeeded.
### You may have to set your dynamic library search path,
### LD_LIBRARY_PATH, to point to the build directory:
###   setenv LD_LIBRARY_PATH `pwd`; cd t; ./perl harness
###   LD_LIBRARY_PATH=`pwd`; export LD_LIBRARY_PATH; cd t; ./perl harness
###   export LD_LIBRARY_PATH=`pwd`; cd t; ./perl harness
### for csh-style shells, like tcsh; or for traditional/modern
### Bourne-style shells, like bash, ksh, and zsh, respectively.
Elapsed: 629 sec
u=5.80  s=5.07  cu=362.97  cs=30.14  scripts=2450  tests=1143706
make: *** [makefile:800: test] Error 1

real	10m35.015s
user	6m14.547s
sys	0m35.947s
(lfs chroot) root:/sources/perl-5.32.0#


INPUT

time make install
cd ../
rm -rf perl-5.32.0/

OUTPUT

(lfs chroot) root:/sources/perl-5.32.0# time make install

===== TL;DR =====

  /usr/lib/perl5/5.32/core_perl/pod/perltodo.pod
  /usr/lib/perl5/5.32/core_perl/pod/perltooc.pod
  /usr/lib/perl5/5.32/core_perl/pod/perltoot.pod
./perl -Ilib -I. installman --destdir= 
Manual page installation was disabled by Configure

real	0m7.100s
user	0m6.054s
sys	0m1.017s

(lfs chroot) root:/sources/perl-5.32.0# cd ../

(lfs chroot) root:/sources# rm -rf perl-5.32.0/

(lfs chroot) root:/sources# 


Python-3.8.5

INPUT

tar xf Python-3.8.5.tar.xz
cd Python-3.8.5/
./configure --prefix=/usr   \
            --enable-shared \
            --without-ensurepip

OUTPUT

(lfs chroot) root:/sources/Python-3.8.5# tar xf Python-3.8.5.tar.xz

===== TL;DR =====

creating Modules/Setup.local
creating Makefile

If you want a release build with all stable optimizations active (PGO, etc),
please run ./configure --enable-optimizations

(lfs chroot) root:/sources/Python-3.8.5#


INPUT

time make

OUTPUT

(lfs chroot) root:/sources/Python-3.8.5# time make

===== TL;DR =====

gcc -pthread     -Xlinker -export-dynamic -o Programs/_testembed Programs/_testembed.o -L. -lpython3.8 -lcrypt -lpthread -ldl  -lutil -lm   -lm 
sed -e "s,@EXENAME@,/usr/bin/python3.8," < ./Misc/python-config.in >python-config.py
LC_ALL=C sed -e 's,\$(\([A-Za-z0-9_]*\)),\$\{\1\},g' < Misc/python-config.sh >python-config

real	1m52.537s
user	1m46.532s
sys	0m4.885s

(lfs chroot) root:/sources/Python-3.8.5# 


INPUT

time make install
cd ../
rm -rf Python-3.8.5/

OUTPUT

(lfs chroot) root:/sources/Python-3.8.5# time make install

===== TL;DR =====

	LD_LIBRARY_PATH=/sources/Python-3.8.5 ./python -E -m ensurepip \
		$ensurepip --root=/ ; \
fi

real	0m9.523s
user	0m19.831s
sys	0m4.367s

(lfs chroot) root:/sources/Python-3.8.5# cd ../

(lfs chroot) root:/sources# rm -rf Python-3.8.5/

(lfs chroot) root:/sources# 


Texinfo-6.7

INPUT

tar xf texinfo-6.7.tar.xz
cd texinfo-6.7/
./configure --prefix=/usr

OUTPUT

(lfs chroot) root:/sources/texinfo-6.7# tar xf texinfo-6.7.tar.xz

===== TL;DR =====

config.status: creating po/POTFILES
config.status: creating po/Makefile
config.status: creating po_document/POTFILES
config.status: creating po_document/Makefile

(lfs chroot) root:/sources/texinfo-6.7# 


INPUT

time make

OUTPUT

(lfs chroot) root:/sources/texinfo-6.7# time make

===== TL;DR =====

make[2]: Entering directory '/sources/texinfo-6.7'
make[2]: Leaving directory '/sources/texinfo-6.7'
make[1]: Leaving directory '/sources/texinfo-6.7'

real	0m20.947s
user	0m19.742s
sys	0m1.743s

(lfs chroot) root:/sources/texinfo-6.7# 


INPUT

time make install

cd ../
rm -rf texinfo-6.7/

OUTPUT

(lfs chroot) root:/sources/texinfo-6.7# time make install

===== TL;DR =====

make[2]: Nothing to be done for 'install-data-am'.
make[2]: Leaving directory '/sources/texinfo-6.7'
make[1]: Leaving directory '/sources/texinfo-6.7'

real	0m0.676s
user	0m0.597s
sys	0m0.096s

(lfs chroot) root:/sources/texinfo-6.7# cd ../

(lfs chroot) root:/sources# rm -rf texinfo-6.7/

(lfs chroot) root:/sources# 


Util-linux-2.36

INPUT

tar xf util-linux-2.36.tar.xz
cd util-linux-2.36/
mkdir -pv /var/lib/hwclock
./configure ADJTIME_PATH=/var/lib/hwclock/adjtime    \
            --docdir=/usr/share/doc/util-linux-2.36 \
            --disable-chfn-chsh  \
            --disable-login      \
            --disable-nologin    \
            --disable-su         \
            --disable-setpriv    \
            --disable-runuser    \
            --disable-pylibmount \
            --disable-static     \
            --without-python

OUTPUT

(lfs chroot) root:/sources/util-linux-2.36# tar xf util-linux-2.36.tar.xz

===== TL;DR =====

	warnings:

 -fno-common -Wall -Wextra -Wmissing-declarations -Wmissing-parameter-type -Wmissing-prototypes -Wno-missing-field-initializers -Wredundant-decls -Wsign-compare -Wtype-limits -Wuninitialized -Wunused-but-set-parameter -Wunused-but-set-variable -Wunused-parameter -Wunused-result -Wunused-variable -Wnested-externs -Wpointer-arith -Wstrict-prototypes -Wimplicit-function-declaration -Wdiscarded-qualifiers -Waddress-of-packed-member -Werror=sequence-point

	Type 'make' or 'make <utilname>' to compile.

(lfs chroot) root:/sources/util-linux-2.36#


INPUT

time make

OUTPUT

(lfs chroot) root:/sources/util-linux-2.36# time make

===== TL;DR =====

  GEN      libmount/mount.pc
  GEN      libsmartcols/smartcols.pc
  GEN      libfdisk/fdisk.pc
make[2]: Leaving directory '/sources/util-linux-2.36'
make[1]: Leaving directory '/sources/util-linux-2.36'

real	1m22.561s
user	1m13.930s
sys	0m7.893s

(lfs chroot) root:/sources/util-linux-2.36# 


INPUT

time make install
cd ../
rm -rf util-linux-2.36/

OUTPUT

(lfs chroot) root:/sources/util-linux-2.36# time make install

===== TL;DR =====

make[3]: Leaving directory '/sources/util-linux-2.36'
make[2]: Leaving directory '/sources/util-linux-2.36'
make[1]: Leaving directory '/sources/util-linux-2.36'

real	0m2.683s
user	0m2.102s
sys	0m0.351s

(lfs chroot) root:/sources/util-linux-2.36# cd ../

(lfs chroot) root:/sources# rm -rf util-linux-2.36/

(lfs chroot) root:/sources# 


Cleaning up and Saving the Temporary System

INPUT

find /usr/{lib,libexec} -name \*.la -delete
rm -rf /usr/share/{info,man,doc}/*
exit

OUTPUT

(lfs chroot) root:/sources# find /usr/{lib,libexec} -name \*.la -delete

(lfs chroot) root:/sources# rm -rf /usr/share/{info,man,doc}/*

(lfs chroot) root:/sources# exit


EXIT CHROOT

INPUT

pwd
umount $LFS/dev{/pts,}
umount $LFS/{sys,proc,run}
strip --strip-debug $LFS/usr/lib/*
strip --strip-unneeded $LFS/usr/{,s}bin/*
strip --strip-unneeded $LFS/tools/bin/*

OUTPUT

root:/mnt/lfs# pwd
/mnt/lfs

root:/mnt/lfs# umount $LFS/dev{/pts,}

root:/mnt/lfs# umount $LFS/{sys,proc,run}

root:/mnt/lfs# strip --strip-debug $LFS/usr/lib/*
strip: Warning: '/mnt/lfs/usr/lib/audit' is a directory
strip: Warning: '/mnt/lfs/usr/lib/bash' is a directory
strip: Warning: '/mnt/lfs/usr/lib/gawk' is a directory
strip: Warning: '/mnt/lfs/usr/lib/gcc' is a directory
strip: Warning: '/mnt/lfs/usr/lib/gconv' is a directory
strip:/mnt/lfs/usr/lib/libc.so: file format not recognized
strip:/mnt/lfs/usr/lib/libgcc_s.so: file format not recognized
strip:/mnt/lfs/usr/lib/libm.a: file format not recognized
strip:/mnt/lfs/usr/lib/libm.so: file format not recognized
strip:/mnt/lfs/usr/lib/libncurses.so: file format not recognized
strip:/mnt/lfs/usr/lib/libstdc++.so.6.0.28-gdb.py: file format not recognized
strip: Warning: '/mnt/lfs/usr/lib/perl5' is a directory
strip: Warning: '/mnt/lfs/usr/lib/pkgconfig' is a directory
strip: Warning: '/mnt/lfs/usr/lib/python3.8' is a directory
strip: Warning: '/mnt/lfs/usr/lib/terminfo' is a directory
strip: Warning: '/mnt/lfs/usr/lib/texinfo' is a directory
root:/mnt/lfs# strip --strip-unneeded $LFS/usr/{,s}bin/*
strip:/mnt/lfs/usr/bin/2to3: file format not recognized
strip:/mnt/lfs/usr/bin/2to3-3.8: file format not recognized
strip:/mnt/lfs/usr/bin/bashbug: file format not recognized
strip:/mnt/lfs/usr/bin/catchsegv: file format not recognized
strip:/mnt/lfs/usr/bin/corelist: file format not recognized
strip:/mnt/lfs/usr/bin/cpan: file format not recognized
strip:/mnt/lfs/usr/bin/enc2xs: file format not recognized
strip:/mnt/lfs/usr/bin/encguess: file format not recognized
strip:/mnt/lfs/usr/bin/gunzip: file format not recognized
strip:/mnt/lfs/usr/bin/gzexe: file format not recognized
strip:/mnt/lfs/usr/bin/h2ph: file format not recognized
strip:/mnt/lfs/usr/bin/h2xs: file format not recognized
strip:/mnt/lfs/usr/bin/idle3: file format not recognized
strip:/mnt/lfs/usr/bin/idle3.8: file format not recognized
strip:/mnt/lfs/usr/bin/instmodsh: file format not recognized
strip:/mnt/lfs/usr/bin/json_pp: file format not recognized
strip:/mnt/lfs/usr/bin/ldd: file format not recognized
strip:/mnt/lfs/usr/bin/libnetcfg: file format not recognized
strip:/mnt/lfs/usr/bin/lzcmp: file format not recognized
strip:/mnt/lfs/usr/bin/lzdiff: file format not recognized
strip:/mnt/lfs/usr/bin/lzegrep: file format not recognized
strip:/mnt/lfs/usr/bin/lzfgrep: file format not recognized
strip:/mnt/lfs/usr/bin/lzgrep: file format not recognized
strip:/mnt/lfs/usr/bin/lzless: file format not recognized
strip:/mnt/lfs/usr/bin/lzmore: file format not recognized
strip:/mnt/lfs/usr/bin/makeinfo: file format not recognized
strip:/mnt/lfs/usr/bin/mtrace: file format not recognized
strip:/mnt/lfs/usr/bin/ncursesw6-config: file format not recognized
strip:/mnt/lfs/usr/bin/pdftexi2dvi: file format not recognized
strip:/mnt/lfs/usr/bin/perlbug: file format not recognized
strip:/mnt/lfs/usr/bin/perldoc: file format not recognized
strip:/mnt/lfs/usr/bin/perlivp: file format not recognized
strip:/mnt/lfs/usr/bin/perlthanks: file format not recognized
strip:/mnt/lfs/usr/bin/piconv: file format not recognized
strip:/mnt/lfs/usr/bin/pl2pm: file format not recognized
strip:/mnt/lfs/usr/bin/pod2html: file format not recognized
strip:/mnt/lfs/usr/bin/pod2man: file format not recognized
strip:/mnt/lfs/usr/bin/pod2texi: file format not recognized
strip:/mnt/lfs/usr/bin/pod2text: file format not recognized
strip:/mnt/lfs/usr/bin/pod2usage: file format not recognized
strip:/mnt/lfs/usr/bin/podchecker: file format not recognized
strip:/mnt/lfs/usr/bin/prove: file format not recognized
strip:/mnt/lfs/usr/bin/ptar: file format not recognized
strip:/mnt/lfs/usr/bin/ptardiff: file format not recognized
strip:/mnt/lfs/usr/bin/ptargrep: file format not recognized
strip:/mnt/lfs/usr/bin/pydoc3: file format not recognized
strip:/mnt/lfs/usr/bin/pydoc3.8: file format not recognized
strip:/mnt/lfs/usr/bin/python3.8-config: file format not recognized
strip:/mnt/lfs/usr/bin/python3-config: file format not recognized
strip:/mnt/lfs/usr/bin/shasum: file format not recognized
strip:/mnt/lfs/usr/bin/sotruss: file format not recognized
strip:/mnt/lfs/usr/bin/splain: file format not recognized
strip:/mnt/lfs/usr/bin/streamzip: file format not recognized
strip:/mnt/lfs/usr/bin/texi2any: file format not recognized
strip:/mnt/lfs/usr/bin/texi2dvi: file format not recognized
strip:/mnt/lfs/usr/bin/texi2pdf: file format not recognized
strip:/mnt/lfs/usr/bin/texindex: file format not recognized
strip:/mnt/lfs/usr/bin/tzselect: file format not recognized
strip:/mnt/lfs/usr/bin/uncompress: file format not recognized
strip:/mnt/lfs/usr/bin/updatedb: file format not recognized
strip:/mnt/lfs/usr/bin/xsubpp: file format not recognized
strip:/mnt/lfs/usr/bin/xtrace: file format not recognized
strip:/mnt/lfs/usr/bin/xzcmp: file format not recognized
strip:/mnt/lfs/usr/bin/xzdiff: file format not recognized
strip:/mnt/lfs/usr/bin/xzegrep: file format not recognized
strip:/mnt/lfs/usr/bin/xzfgrep: file format not recognized
strip:/mnt/lfs/usr/bin/xzgrep: file format not recognized
strip:/mnt/lfs/usr/bin/xzless: file format not recognized
strip:/mnt/lfs/usr/bin/xzmore: file format not recognized
strip:/mnt/lfs/usr/bin/yacc: file format not recognized
strip:/mnt/lfs/usr/bin/zcat: file format not recognized
strip:/mnt/lfs/usr/bin/zcmp: file format not recognized
strip:/mnt/lfs/usr/bin/zdiff: file format not recognized
strip:/mnt/lfs/usr/bin/zegrep: file format not recognized
strip:/mnt/lfs/usr/bin/zfgrep: file format not recognized
strip:/mnt/lfs/usr/bin/zforce: file format not recognized
strip:/mnt/lfs/usr/bin/zgrep: file format not recognized
strip:/mnt/lfs/usr/bin/zipdetails: file format not recognized
strip:/mnt/lfs/usr/bin/zless: file format not recognized
strip:/mnt/lfs/usr/bin/zmore: file format not recognized
strip:/mnt/lfs/usr/bin/znew: file format not recognized

root:/mnt/lfs# strip --strip-unneeded $LFS/tools/bin/*

root:/mnt/lfs# 


BACKUP

INPUT

cd $LFS && tar -cJpf $HOME/lfs-temp-tools-10.0.tar.xz .
ls -al $HOME/lfs-temp-tools-10.0.tar.xz 

OUTPUT

root:/mnt/lfs# cd $LFS && tar -cJpf $HOME/lfs-temp-tools-10.0.tar.xz .

root:/mnt/lfs# ls -al $HOME/lfs-temp-tools-10.0.tar.xz 
-rw-r--r-- 1 root root 866660400 Nov 30 16:31 /root/lfs-temp-tools-10.0.tar.xz

root:/mnt/lfs# 




shutdown -h now

root:/mnt/lfs# shutdown -h now
Connection to localhost closed by remote host.
Connection to localhost closed.

rms46@pamulang1:~$


OVA Files

rms46@pamulang1:~/Documents$ ls -al LFS-0*
-rw-r--r-- 1 rms46 rms46  669637120 Dec  1 01:37 LFS-01.ova
-rw-r--r-- 1 rms46 rms46  669640192 Dec  1 01:37 LFS-02.ova
-rw-r--r-- 1 rms46 rms46 1107378176 Dec  1 01:37 LFS-03.ova
-rw-r--r-- 1 rms46 rms46 1115932160 Dec  1 01:37 LFS-04.ova
-rw-r--r-- 1 rms46 rms46 1632316416 Dec  1 01:37 LFS-05.ova
-rw-r--r-- 1 rms46 rms46 1652909568 Dec  1 01:37 LFS-06.ova
-rw-r--r-- 1 rms46 rms46 2819810816 Dec  1 01:37 LFS-06-part2.ova
-rw-r--r-- 1 rms46 rms46 1835484672 Dec  1 01:37 LFS-07.ova

rms46@pamulang1:~/Documents$


ENDOFPAGE

HOME ABOUT WEB GITHUB TOP BOTTOM PREV NEXT