diff options
Diffstat (limited to 'configs/releng/airootfs/usr/local/bin/choose-mirror')
-rwxr-xr-x | configs/releng/airootfs/usr/local/bin/choose-mirror | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/configs/releng/airootfs/usr/local/bin/choose-mirror b/configs/releng/airootfs/usr/local/bin/choose-mirror new file mode 100755 index 0000000..0ae0806 --- /dev/null +++ b/configs/releng/airootfs/usr/local/bin/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 |