@@ -14,6 +14,10 @@ echo "Configure image: [$kiwi_iname]..."
1414# --------------------------------------
1515systemctl enable sshd
1616
17+ # for some reason systemd automount unit wants to mount the
18+ # ESP to /efi instead of /boot/efi.
19+ mkdir -p /efi
20+
1721# ======================================
1822# kernel links
1923# --------------------------------------
@@ -57,23 +61,75 @@ for profile in ${kiwi_profiles//,/ }; do
5761 # ssh host keys must exist prior read-only
5862 /usr/sbin/sshd-gen-keys-start
5963
60- cat > /etc/fstab.append << - EOF
61- # we want home on the persistent storage if present
62- overlay /home overlay defaults,lowerdir=/run/overlay/rootfsbase/home,upperdir=/run/overlay/overlayfs/home/rw,workdir=/run/overlay/overlayfs/home/work 0 0
63-
64- # we want root home to be 128M in memory
65- tmpfs /run/overlay/overlayfs/root tmpfs defaults,size=128M 0 0
66- overlay /root overlay defaults,x-systemd.required-by=run-overlay-overlayfs-root.mount,lowerdir=/run/overlay/rootfsbase/root,upperdir=/run/overlay/overlayfs/root/rw,workdir=/run/overlay/overlayfs/root/work 0 0
64+ # we want home on the persistent storage if present
65+ cat > /usr/lib/systemd/system/home.mount << -EOF
66+ [Unit]
67+ DefaultDependencies=no
68+ [Mount]
69+ Where=/home
70+ Options=lowerdir=/run/overlay/rootfsbase/home,upperdir=/run/overlay/overlayfs/home/rw,workdir=/run/overlay/overlayfs/home/work
71+ What=overlay
72+ Type=overlay
73+ DirectoryMode=0755
74+ [Install]
75+ WantedBy=multi-user.target
76+ EOF
77+ systemctl enable home.mount
6778
68- # required write areas on a read-only (/)
69- tmpfs /etc/lvm/devices tmpfs defaults 0 0
70- tmpfs /tmp tmpfs defaults 0 0
71- tmpfs /var/tmp tmpfs defaults 0 0
72- tmpfs /var/log tmpfs defaults 0 0
73- tmpfs /var/lib/private/systemd/timesync tmpfs defaults 0 0
74- tmpfs /var/lib/systemd/timesync tmpfs defaults 0 0
75- tmpfs /var/lib/systemd/linger tmpfs defaults 0 0
79+ # we want root home to be 128M in memory
80+ cat > /usr/lib/systemd/system/run-overlay-overlayfs-root.mount << -EOF
81+ [Unit]
82+ DefaultDependencies=no
83+ [Mount]
84+ Where=/run/overlay/overlayfs/root
85+ What=tmpfs
86+ Options=size=128M
87+ Type=tmpfs
88+ DirectoryMode=0755
89+ [Install]
90+ WantedBy=multi-user.target
7691 EOF
92+ cat > /usr/lib/systemd/system/root.mount << -EOF
93+ [Unit]
94+ DefaultDependencies=no
95+ Requires=run-overlay-overlayfs-root.mount
96+ After=run-overlay-overlayfs-root.mount
97+ [Mount]
98+ Where=/root
99+ Options=lowerdir=/run/overlay/rootfsbase/root,upperdir=/run/overlay/overlayfs/root/rw,workdir=/run/overlay/overlayfs/root/work
100+ What=overlay
101+ Type=overlay
102+ DirectoryMode=0755
103+ [Install]
104+ WantedBy=multi-user.target
105+ EOF
106+ systemctl enable run-overlay-overlayfs-root.mount
107+ systemctl enable root.mount
108+
109+ # required write areas on a read-only (/)
110+ for target in \
111+ etc/lvm/devices \
112+ tmp \
113+ var/tmp \
114+ var/log \
115+ var/lib/private/systemd/timesync \
116+ var/lib/systemd/timesync \
117+ var/lib/systemd/linger;
118+ do
119+ name=$( echo " ${target} " | tr / -)
120+ cat > /usr/lib/systemd/system/" ${name} " .mount << -EOF
121+ [Unit]
122+ DefaultDependencies=no
123+ [Mount]
124+ Where=/${target}
125+ What=tmpfs
126+ Type=tmpfs
127+ DirectoryMode=0755
128+ [Install]
129+ WantedBy=multi-user.target
130+ EOF
131+ systemctl enable " ${name} " .mount
132+ done
77133 fi
78134done
79135
0 commit comments