1# $NetBSD: usermode.conf,v 1.5 2015/04/19 18:28:31 hubertf Exp $ 2# NetBSD/usermode customization script used by mkimage 3 4# XXX: BROKEN, needs to be converted to makefs 5custom=custom 6image=usermode.img 7overhead=8 # in MB 8sets="base etc modules" 9setsdir=/usr/build/release/$(uname -m)/binary/sets 10size=0 # in MB 11usermodedirs="/var.cow /etc.cow /root.cow /pkgs" 12 13make_fstab() { 14cat > ${mnt}/etc/fstab << EOF 15# NetBSD/usermode /etc/fstab 16/dev/ld0a / ffs ro 1 1 17/dev/ld1a /pkgs ffs ro 1 2 18kernfs /kern kernfs rw 19ptyfs /dev/pts ptyfs rw 20procfs /proc procfs rw 21# mount /root as tmpfs on top of existing dir 22tmpfs /root.cow tmpfs rw,-s2M 0 0 23/root.cow /root union rw,hidden 0 0 24# mount /etc as tmpfs on top of existing dir 25tmpfs /etc.cow tmpfs rw,-s12M 0 0 26/etc.cow /etc union rw,hidden 0 0 27# mount /var as tmpfs on top of existing dir 28tmpfs /var.cow tmpfs rw,-s32M 0 0 29/var.cow /var union rw,hidden - - 30tmpfs /tmp tmpfs rw,-s32M 0 0 31/dev/cd0a /cdrom cd9660 ro,noauto 32EOF 33} 34 35customize() { 36cat >> ${mnt}/etc/rc.conf << EOF 37# make sure we have the right rw filesystem at boot 38critical_filesystems_local="/var.cow /var /etc.cow /etc /root.cow /root" 39 40# Add local overrides below 41# 42dhcpcd=YES 43sshd=YES 44EOF 45 46echo "${bar} making extra directories ${bar}" 47for d in ${usermodedirs}; do 48 mkdir -p ${mnt}/${d} 49done 50 51echo "${bar} customising /var/tmp ${bar}" 52rm -rf ${mnt}/var/tmp 53(cd ${mnt}/var && ln -s /tmp tmp) 54 55# package-related stuff 56(cat ${mnt}/etc/csh.cshrc;echo "setenv PKG_DBDIR /usr/pkg/.dbdir") > ${tmp} 57mv ${tmp} ${mnt}/etc/csh.cshrc 58(cat ${mnt}/etc/profile;echo "export PKG_DBDIR=/usr/pkg/.dbdir") > ${tmp} 59mv ${tmp} ${mnt}/etc/profile 60(echo "PKG_DBDIR=/usr/pkg/.dbdir") > ${tmp} 61mv ${tmp} ${mnt}/etc/mk.conf 62(cd ${mnt}/usr && ln -s /pkgs/usr/pkg pkg) 63 64# last, customisation stage 65if [ -d ${custom} ]; then 66 echo "${bar} user customisations from files in ${custom} ${bar}" 67 (cd ${custom} && pax -rwpe . ${mnt}) 68fi 69 70df ${mnt} 71} 72 73cleanup() { 74} 75