#!/bin/sh -e # Setup base directories. for d in boot dev etc home mnt usr var opt run; do install -dm 755 "$1/$d" done install -dm 555 "$1/proc" install -dm 555 "$1/sys" install -dm 0750 "$1/root" install -dm 1777 "$1/tmp" # Setup /usr hierarchy. for d in bin include lib lib32 share src; do install -d -m755 "$1"/usr/"$d" done # Setup manpages directories. for d in 1 2 3 4 5 6 7 8; do install -dm 755 "$1/usr/share/man/man$d" done # Add symlinks. ln -s usr/bin "$1/bin" ln -s usr/bin "$1/sbin" ln -s bin "$1/usr/sbin" ln -s usr/lib "$1/lib" ln -s usr/lib "$1/lib64" ln -s lib "$1/usr/lib64" # Setup /var. for d in cache local opt log/old lib/misc empty service; do install -dm 755 "$1/var/$d" done install -dm 1777 "$1/var/tmp" install -dm 1777 "$1/var/spool/mail" ln -s spool/mail "$1/var/mail" ln -s ../run "$1/var/run" ln -s ../run/lock "$1/var/lock" # Setup /usr/local (usually for any programs installed outside package manager). for d in bin etc games include lib man sbin share src; do install -dm 755 "$1/usr/local/$d" done ln -s ../man "$1/usr/local/share/man" # /etc skeleton files. for f in fstab group host.conf hosts issue os-release \ passwd profile securetty shells mime.types; do install -m 644 "$f" "$1/etc" done for f in crypttab shadow; do install -m 600 "$f" "$1/etc" done ln -s /proc/self/mounts "$1/etc/mtab"