87 lines
2 KiB
Bash
Executable file
87 lines
2 KiB
Bash
Executable file
#!/tools/bin/bash -e
|
|
|
|
#. /etc/pkg/pkg.conf
|
|
#. /var/lib/pkg/functions
|
|
|
|
mkdir -pv /{bin,boot,etc/{opt,sysconfig},home,lib/firmware,mnt,opt}
|
|
mkdir -pv /{media/{floppy,cdrom},sbin,srv,var}
|
|
install -dv -m 0750 /root
|
|
install -dv -m 1777 /tmp /var/tmp
|
|
mkdir -pv /usr/{,local/}{bin,include,lib,sbin,src}
|
|
mkdir -pv /usr/{,local/}share/{color,dict,doc,info,locale,man}
|
|
mkdir -v /usr/{,local/}share/{misc,terminfo,zoneinfo}
|
|
mkdir -v /usr/libexec
|
|
mkdir -pv /usr/{,local/}share/man/man{1..8}
|
|
|
|
case $(uname -m) in
|
|
x86_64) mkdir -v /lib64 ;;
|
|
esac
|
|
|
|
mkdir -v /var/{log,mail,spool}
|
|
ln -sv /run /var/run
|
|
ln -sv /run/lock /var/lock
|
|
mkdir -pv /var/{opt,cache,lib/{color,misc,locate},local}
|
|
|
|
|
|
ln -sv /tools/bin/{bash,cat,dd,echo,ln,pwd,rm,stty} /bin
|
|
ln -sv /tools/bin/{env,install,perl} /usr/bin
|
|
ln -sv /tools/lib/libgcc_s.so{,.1} /usr/lib
|
|
ln -sv /tools/lib/libstdc++.{a,so{,.6}} /usr/lib
|
|
for lib in blkid lzma mount uuid
|
|
do
|
|
ln -sv /tools/lib/lib$lib.so* /usr/lib
|
|
done
|
|
ln -svf /tools/include/blkid /usr/include
|
|
ln -svf /tools/include/libmount /usr/include
|
|
ln -svf /tools/include/uuid /usr/include
|
|
install -vdm755 /usr/lib/pkgconfig
|
|
for pc in blkid mount uuid
|
|
do
|
|
sed 's@tools@usr@g' /tools/lib/pkgconfig/${pc}.pc \
|
|
> /usr/lib/pkgconfig/${pc}.pc
|
|
done
|
|
ln -sv bash /bin/sh
|
|
|
|
ln -sv /proc/self/mounts /etc/mtab
|
|
|
|
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:
|
|
systemd-journal:x:23:
|
|
input:x:24:
|
|
mail:x:34:
|
|
nogroup:x:99:
|
|
users:x:999:
|
|
EOF
|
|
|
|
exec /tools/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
|
|
|