summaryrefslogtreecommitdiffstats
path: root/airootfs/etc/systemd/scripts/choose-mirror
diff options
context:
space:
mode:
authorFlorian Pritz <bluewind@xinu.at>2015-10-26 17:50:31 +0100
committerFlorian Pritz <bluewind@xinu.at>2015-10-26 17:50:31 +0100
commit7646f26e425b0997818c450543b9bf5c70b6a26e (patch)
tree786ec2378f384cde6959c10b6958f532ba5040b2 /airootfs/etc/systemd/scripts/choose-mirror
downloadarchiso-config-7646f26e425b0997818c450543b9bf5c70b6a26e.tar.gz
archiso-config-7646f26e425b0997818c450543b9bf5c70b6a26e.tar.xz
initial commit
Signed-off-by: Florian Pritz <bluewind@xinu.at>
Diffstat (limited to 'airootfs/etc/systemd/scripts/choose-mirror')
-rwxr-xr-xairootfs/etc/systemd/scripts/choose-mirror26
1 files changed, 26 insertions, 0 deletions
diff --git a/airootfs/etc/systemd/scripts/choose-mirror b/airootfs/etc/systemd/scripts/choose-mirror
new file mode 100755
index 0000000..0ae0806
--- /dev/null
+++ b/airootfs/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 archiso_http_srv)
+[[ $mirror ]] || exit 0
+
+mv /etc/pacman.d/mirrorlist /etc/pacman.d/mirrorlist.orig
+cat >/etc/pacman.d/mirrorlist << EOF
+#
+# Arch Linux repository mirrorlist
+# Generated by archiso
+#
+
+Server = ${mirror%%/}/\$repo/os/\$arch
+EOF