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