diff --git a/mylfs.sh b/mylfs.sh index 9b9fbcb..ba9ead1 100755 --- a/mylfs.sh +++ b/mylfs.sh @@ -231,35 +231,55 @@ function init_image { echo -n "Creating basic directory layout... " - mkdir -p $LFS/{boot,dev,etc,home,lib64,media,mnt,opt,proc,run,srv,sys,tools,usr,var} - mkdir -p $LFS/boot/grub - mkdir -p $LFS/etc/{modprobe.d,opt,sysconfig,ld.so.conf.d} - mkdir -p $LFS/media/{cdrom,floppy} - mkdir -p $LFS/usr/{bin,lib/{,firmware},sbin} - mkdir -p $LFS/usr/local/{bin,include,lib,sbin,share,src} - mkdir -p $LFS/usr/local/share/{color,dict,doc,info,locale,man,misc,terminfo,zoneinfo} - mkdir -p $LFS/usr/local/share/man/{1..8} - mkdir -p $LFS/var/{cache,lib,local,log,mail,opt,spool} - mkdir -p $LFS/var/lib/{color,misc,locate} + # LFS 11.2 Section 4.2 + mkdir -p $LFS/{etc,var} + mkdir -p $LFS/usr/{bin,lib,sbin} + for i in bin lib sbin + do + ln -s usr/$i $LFS/$i + done + case $(uname -m) in + x86_64) mkdir -p $LFS/lib64 ;; + esac + mkdir -p $LFS/tools + # LFS 11.2 Section 7.3 + mkdir -p $LFS/{dev,proc,sys,run} + + # LFS 11.2 Section 7.5 + mkdir -p $LFS/{boot,home,mnt,opt,srv} + mkdir -p $LFS/etc/{opt,sysconfig} + mkdir -p $LFS/lib/firmware + mkdir -p $LFS/media/{floppy,cdrom} + mkdir -p $LFS/usr/{,local/}{include,src} + mkdir -p $LFS/usr/local/{bin,lib,sbin} + mkdir -p $LFS/usr/{,local/}share/{color,dict,doc,info,locale,man} + mkdir -p $LFS/usr/{,local/}share/{misc,terminfo,zoneinfo} + mkdir -p $LFS/usr/{,local/}share/man/man{1..8} + mkdir -p $LFS/var/{cache,local,log,mail,opt,spool} + mkdir -p $LFS/var/lib/{color,misc,locate} + ln -sf /run $LFS/var/run + ln -sf /run/lock $LFS/var/lock install -d -m 0750 $LFS/root install -d -m 1777 $LFS/tmp $LFS/var/tmp + # LFS 11.2 Section 7.6 + ln -s /proc/self/mounts $LFS/etc/mtab + touch $LFS/var/log/{btmp,lastlog,faillog,wtmp} + chgrp 13 $LFS/var/log/lastlog # 13 == utmp + chmod 664 $LFS/var/log/lastlog + chmod 600 $LFS/var/log/btmp + + # in no particular part of the book, but still needed + mkdir -p $LFS/boot/grub + mkdir -p $LFS/etc/{modprobe.d,ld.so.conf.d} + # removed at end of build mkdir -p $LFS/home/tester chown 101:101 $LFS/home/tester mkdir -p $LFS/sources cp ./packages/* $LFS/sources - # create symlinks - for i in bin lib sbin - do - ln -s usr/$i $LFS/$i - done - ln -s /run $LFS/var/run - ln -s /run/lock $LFS/var/lock - ln -s /proc/self/mounts $LFS/etc/mtab - # install static files echo $LFSHOSTNAME > $LFS/etc/hostname for f in ./static/* @@ -281,12 +301,6 @@ function init_image { mknod -m 600 $LFS/dev/console c 5 1 mknod -m 666 $LFS/dev/null c 1 3 - # create login log files - touch $LFS/var/log/{btmp,lastlog,faillog,wtmp} - chgrp 13 $LFS/var/log/lastlog - chmod 664 $LFS/var/log/lastlog - chmod 600 $LFS/var/log/btmp - # mount stuff from the host onto the target disk mount --bind /dev $LFS/dev mount --bind /dev/pts $LFS/dev/pts diff --git a/phase4/python.sh b/phase4/python.sh index 6f706c9..b374bfe 100644 --- a/phase4/python.sh +++ b/phase4/python.sh @@ -11,6 +11,12 @@ make install install -dm755 /usr/share/doc/python-3.10.6/html +cat > /etc/pip.conf << EOF +[global] +root-user-action = ignore +disable-pip-version-check = true +EOF + tar --strip-components=1 \ --no-same-owner \ --no-same-permissions \ diff --git a/static/etc__group b/static/etc__group index 3043f4c..01283be 100644 --- a/static/etc__group +++ b/static/etc__group @@ -21,7 +21,7 @@ mail:x:34: kvm:x:61: uuidd:x:80: wheel:x:97: -nogroup:x:99: -users:x:999: tester:x:101: +users:x:999: +nogroup:x:65534: diff --git a/static/etc__inittab b/static/etc__inittab index 0564e5b..400ef7c 100644 --- a/static/etc__inittab +++ b/static/etc__inittab @@ -12,7 +12,8 @@ l6:6:wait:/etc/rc.d/init.d/rc 6 ca:12345:ctrlaltdel:/sbin/shutdown -t1 -a -r now -su:S016:once:/sbin/sulogin +su:S06:once:/sbin/sulogin +s1:1:respawn:/sbin/sulogin 1:2345:respawn:/sbin/agetty --noclear tty1 9600 2:2345:respawn:/sbin/agetty tty2 9600 diff --git a/static/etc__passwd b/static/etc__passwd index 93ca714..807f6a0 100644 --- a/static/etc__passwd +++ b/static/etc__passwd @@ -3,6 +3,6 @@ bin:x:1:1:bin:/dev/null:/usr/bin/false daemon:x:6:6:Daemon User:/dev/null:/usr/bin/false messagebus:x:18:18:D-Bus Message Daemon User:/run/dbus:/usr/bin/false uuidd:x:80:80:UUID Generation Daemon User:/dev/null:/usr/bin/false -nobody:x:99:99:Unprivileged User:/dev/null:/usr/bin/false tester:x:101:101::/home/tester:/bin/bash +nobody:x:65534:65534:Unprivileged User:/dev/null:/usr/bin/false diff --git a/static/etc__pip.conf b/static/etc__pip.conf deleted file mode 100644 index 728edf2..0000000 --- a/static/etc__pip.conf +++ /dev/null @@ -1,4 +0,0 @@ -[global] -root-user-action = ignore -disable-pip-version-check = true - diff --git a/static/etc__sysconfig__clock b/static/etc__sysconfig__clock deleted file mode 100644 index 5ac69b2..0000000 --- a/static/etc__sysconfig__clock +++ /dev/null @@ -1,6 +0,0 @@ -UTC=1 - -# Set this to any options you might need to give to hwclock, -# such as machine hardware clock type for Alphas. -CLOCKPARAMS= -