diff options
Diffstat (limited to 'essential.sh')
-rw-r--r-- | essential.sh | 71 |
1 files changed, 71 insertions, 0 deletions
diff --git a/essential.sh b/essential.sh new file mode 100644 index 0000000..0b8afce --- /dev/null +++ b/essential.sh @@ -0,0 +1,71 @@ +#!/bin/bash + +set -e + + +pushd "${LFS}" >/dev/null || exit 1 + +printf "%b" "${GRN}Creating essential files and symbolic links${RST}... " +if [[ -f "sources/essential" ]]; then + printf "%b" "\n ${IGRN}Essential files and symbolic links already created${RST}\n" +else + + + sudo ln -sf proc/self/mounts etc/mtab + sudo bash -c 'echo "127.0.0.1 localhost $(hostname)" > etc/hosts' + + sudo bash -c '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:/run/dbus:/bin/false +uuidd:x:80:80:UUID Generation Daemon User:/dev/null:/bin/false +nobody:x:99:99:Unprivileged User:/dev/null:/bin/false +EOF' + + sudo bash -c '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: +uuidd:x:80: +wheel:x:97: +nogroup:x:99: +users:x:999: +EOF' + + sudo bash -c 'echo "tester:x:"'"${TESTERUID}"'":101::/home/tester:/bin/bash" >> etc/passwd' + sudo bash -c 'echo "tester:x:101:" >> etc/group' + sudo install -o "${TESTERUID}" -d home/tester + + sudo touch var/log/btmp + sudo touch var/log/lastlog + sudo touch var/log/faillog + sudo touch var/log/tmp + sudo chgrp utmp var/log/lastlog + sudo chmod 664 var/log/lastlog + sudo chmod 600 var/log/btmp + + sudo touch sources/essential + sudo printf "%b" "${IGRN}OK${RST}\n" + +fi + +popd >/dev/null || exit 1 |