]> git.plutz.net Git - blast/blob - modules/live.mk
enable pxe/nbd boot
[blast] / modules / live.mk
1 PACKAGES += bilibop-lockfs live-boot live-boot-initramfs-tools
2
3 .PHONY: _live_lockfs _live_sudo _live_sudo_users _live_modules
4
5 ifdef users
6   _config: _live_sudo_users
7 endif
8
9 _live_modules: ${CFGROOT}
10         printf 'aufs\n' >>"$${CFGROOT}/etc/initramfs-tools/modules"
11         sed -i 's;^MODULES=.*$$;MODULES=netboot;' "$${CFGROOT}/etc/initramfs-tools/initramfs.conf"
12
13 _umount: _live_lockfs
14 _live_lockfs: ${CFGROOT} _bootloader
15         sed -i 's; root=; lockfs=1G root=;' "$${CFGROOT}/boot/bootmenu.cfg" "$${CFGROOT}/boot/grub.cfg" \
16         || sed -i 's; root=; lockfs=1G root=;' "$${CFGROOT}/boot/cmdline.txt"
17
18 _config: _live_sudo _live_modules
19 _live_sudo: ${CFGROOT}/etc/sudoers.d/nopassword
20 _live_sudo: ${CFGROOT}/var/lib/polkit-1/localauthority/50-local.d/disable-passwords.pkla
21
22 ${CFGROOT}/etc/sudoers.d/nopassword: ${CFGROOT}
23         printf '%%sudo ALL=NOPASSWD: ALL\n' >"$@"
24         chmod 440 "$@"
25
26 ${CFGROOT}/var/lib/polkit-1/localauthority/50-local.d/disable-passwords.pkla: ${CFGROOT}
27         mkdir -p -m 700 "$${CFGROOT}/var/lib/polkit-1/"
28         mkdir -p "$(dir $@)"
29         printf '[Nopassword]\nIdentity=unix-group:sudo\nAction=*\nResultActive=yes\n' >"$@"
30
31 _live_sudo_users: _users
32         for u in $(subst ${comma_},${space_},${users}); do \
33           chroot "$${CFGROOT}" adduser "$$u" sudo; \
34         done