1# $NetBSD: usermode.conf,v 1.3 2013/02/03 09:16:25 christos 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 11specialdirs="/kern /proc" 12usermodedirs="/var.cow /etc.cow /root.cow /pkgs" 13 14make_filesystems() { 15 newfs /dev/r${vnddev}a 16 mount /dev/${vnddev}a ${mnt} 17} 18 19make_fstab() { 20cat > ${mnt}/etc/fstab << EOF 21# NetBSD/usermode /etc/fstab 22/dev/ld0a / ffs ro 1 1 23/dev/ld1a /pkgs ffs ro 1 2 24kernfs /kern kernfs rw 25ptyfs /dev/pts ptyfs rw 26procfs /proc procfs rw 27# mount /root as tmpfs on top of existing dir 28tmpfs /root.cow tmpfs rw,-s2M 0 0 29/root.cow /root union rw,hidden 0 0 30# mount /etc as tmpfs on top of existing dir 31tmpfs /etc.cow tmpfs rw,-s12M 0 0 32/etc.cow /etc union rw,hidden 0 0 33# mount /var as tmpfs on top of existing dir 34tmpfs /var.cow tmpfs rw,-s32M 0 0 35/var.cow /var union rw,hidden - - 36tmpfs /tmp tmpfs rw,-s32M 0 0 37/dev/cd0a /cdrom cd9660 ro,noauto 38EOF 39} 40 41customize() { 42cat >> ${mnt}/etc/rc.conf << EOF 43# make sure we have the right rw filesystem at boot 44critical_filesystems_local="/var.cow /var /etc.cow /etc /root.cow /root" 45 46# Add local overrides below 47# 48dhcpcd=YES 49sshd=YES 50EOF 51 52echo "${bar} making extra directories ${bar}" 53for d in ${usermodedirs}; do 54 mkdir -p ${mnt}/${d} 55done 56 57echo "${bar} customising /var/tmp ${bar}" 58rm -rf ${mnt}/var/tmp 59(cd ${mnt}/var && ln -s /tmp tmp) 60 61# package-related stuff 62(cat ${mnt}/etc/csh.cshrc;echo "setenv PKG_DBDIR /usr/pkg/.dbdir") > ${tmp} 63mv ${tmp} ${mnt}/etc/csh.cshrc 64(cat ${mnt}/etc/profile;echo "export PKG_DBDIR=/usr/pkg/.dbdir") > ${tmp} 65mv ${tmp} ${mnt}/etc/profile 66(echo "PKG_DBDIR=/usr/pkg/.dbdir") > ${tmp} 67mv ${tmp} ${mnt}/etc/mk.conf 68(cd ${mnt}/usr && ln -s /pkgs/usr/pkg pkg) 69 70# last, customisation stage 71if [ -d ${custom} ]; then 72 echo "${bar} user customisations from files in ${custom} ${bar}" 73 (cd ${custom} && pax -rwpe . ${mnt}) 74fi 75 76df ${mnt} 77} 78 79cleanup() { 80} 81