summaryrefslogtreecommitdiff
path: root/configs/releng/root-image
diff options
context:
space:
mode:
Diffstat (limited to 'configs/releng/root-image')
-rwxr-xr-xconfigs/releng/root-image/etc/systemd/scripts/choose-mirror26
-rw-r--r--configs/releng/root-image/etc/systemd/system/choose-mirror.service10
-rw-r--r--configs/releng/root-image/etc/systemd/system/getty@tty1.service.d/autologin.conf3
-rw-r--r--configs/releng/root-image/etc/udev/rules.d/81-dhcpcd.rules1
-rwxr-xr-xconfigs/releng/root-image/root/customize_root_image.sh11
5 files changed, 43 insertions, 8 deletions
diff --git a/configs/releng/root-image/etc/systemd/scripts/choose-mirror b/configs/releng/root-image/etc/systemd/scripts/choose-mirror
new file mode 100755
index 0000000..13c9f69
--- /dev/null
+++ b/configs/releng/root-image/etc/systemd/scripts/choose-mirror
@@ -0,0 +1,26 @@
+#!/bin/bash
+
+get_cmdline() {
+ local param
+ for param in $(< /proc/cmdline); do
+ case "${param}" in
+ $1=*) echo "${param##*=}";
+ return 0
+ ;;
+ esac
+ done
+}
+
+mirror=$(get_cmdline mirror)
+[[ $mirror = auto ]] && mirror=$(get_cmdline parabolaiso_http_srv)
+[[ $mirror ]] || exit 0
+
+mv /etc/pacman.d/mirrorlist /etc/pacman.d/mirrorlist.orig
+cat >/etc/pacman.d/mirrorlist << EOF
+#
+# Parabola GNU/Linux-libre repository mirrorlist
+# Generated by parabolaiso
+#
+
+Server = ${mirror%%/}/\$repo/os/\$arch
+EOF
diff --git a/configs/releng/root-image/etc/systemd/system/choose-mirror.service b/configs/releng/root-image/etc/systemd/system/choose-mirror.service
new file mode 100644
index 0000000..1e4d771
--- /dev/null
+++ b/configs/releng/root-image/etc/systemd/system/choose-mirror.service
@@ -0,0 +1,10 @@
+[Unit]
+Description=Choose mirror from the kernel command line
+ConditionKernelCommandLine=mirror
+
+[Service]
+Type=oneshot
+ExecStart=/etc/systemd/scripts/choose-mirror
+
+[Install]
+WantedBy=multi-user.target
diff --git a/configs/releng/root-image/etc/systemd/system/getty@tty1.service.d/autologin.conf b/configs/releng/root-image/etc/systemd/system/getty@tty1.service.d/autologin.conf
new file mode 100644
index 0000000..d1d8474
--- /dev/null
+++ b/configs/releng/root-image/etc/systemd/system/getty@tty1.service.d/autologin.conf
@@ -0,0 +1,3 @@
+[Service]
+ExecStart=
+ExecStart=-/sbin/agetty --autologin root --noclear %I 38400 linux
diff --git a/configs/releng/root-image/etc/udev/rules.d/81-dhcpcd.rules b/configs/releng/root-image/etc/udev/rules.d/81-dhcpcd.rules
new file mode 100644
index 0000000..970da69
--- /dev/null
+++ b/configs/releng/root-image/etc/udev/rules.d/81-dhcpcd.rules
@@ -0,0 +1 @@
+ACTION=="add", SUBSYSTEM=="net", ENV{SYSTEMD_WANTS}="dhcpcd@$name.service"
diff --git a/configs/releng/root-image/root/customize_root_image.sh b/configs/releng/root-image/root/customize_root_image.sh
index 50c5131..7c9a003 100755
--- a/configs/releng/root-image/root/customize_root_image.sh
+++ b/configs/releng/root-image/root/customize_root_image.sh
@@ -7,19 +7,14 @@ locale-gen
ln -sf /usr/share/zoneinfo/UTC /etc/localtime
-usermod -s /bin/zsh root
+usermod -s /usr/bin/zsh root
cp -aT /etc/skel/ /root/
-useradd -m -p "" -g users -G "adm,audio,floppy,log,network,rfkill,scanner,storage,optical,power,wheel" -s /bin/zsh parabola
+useradd -m -p "" -g users -G "adm,audio,floppy,log,network,rfkill,scanner,storage,optical,power,wheel" -s /usr/bin/zsh parabola
chmod 750 /etc/sudoers.d
chmod 440 /etc/sudoers.d/g_wheel
sed -i "s/#Server/Server/g" /etc/pacman.d/mirrorlist
-sed 's#\(^ExecStart=-/sbin/agetty\)#\1 --autologin root#;
- s#\(^Alias=getty.target.wants/\).\+#\1autologin@tty1.service#' \
- /usr/lib/systemd/system/getty@.service > /etc/systemd/system/autologin@.service
-
-systemctl disable getty@tty1.service
-systemctl enable multi-user.target pacman-init.service autologin@.service dhcpcd.service
+systemctl enable multi-user.target pacman-init.service choose-mirror.service