xref: /netbsd-src/distrib/utils/embedded/conf/usermode.conf (revision fdd524d4ccd2bb0c6f67401e938dabf773eb0372)
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