Skip to content

Commit

Permalink
Support specifying a mirror
Browse files Browse the repository at this point in the history
Note: The mirror is only used under the bootstrapping process, the
image contains the default mirrorlist with every server uncommented.

Fix #87
klausenbusk authored and shibumi committed Mar 1, 2020
1 parent 18c6ed1 commit 8a4b17c
Showing 4 changed files with 18 additions and 11 deletions.
5 changes: 3 additions & 2 deletions cloud.json
Original file line number Diff line number Diff line change
@@ -8,7 +8,8 @@
"cpus": "2",
"headless": "true",
"write_zeroes": "",
"boot_wait": "60s"
"boot_wait": "60s",
"mirror": ""
},
"builders": [
{
@@ -40,7 +41,7 @@
"boot_command": [
"<enter><wait10><wait10><wait10><wait10><wait10><enter><enter>",
"curl -O 'http://{{.HTTPIP}}:{{.HTTPPort}}/install{,-common,-cloud}.sh'<enter><wait>",
"bash install.sh < <(cat install-{cloud,common}.sh) && systemctl reboot<enter>"
"MIRROR='{{user `mirror`}}' bash install.sh < <(cat install-{cloud,common}.sh) && systemctl reboot<enter>"
]
}
],
6 changes: 5 additions & 1 deletion http/install.sh
Original file line number Diff line number Diff line change
@@ -25,9 +25,13 @@ mkswap "${device}1"
mkfs.ext4 -L "rootfs" "${device}2"
mount "${device}2" /mnt

pacstrap /mnt base linux grub openssh sudo polkit haveged netctl python reflector
if [ -n "${MIRROR}" ]; then
echo "Server = ${MIRROR}" >/etc/pacman.d/mirrorlist
fi
pacstrap -M /mnt base linux grub openssh sudo polkit haveged netctl python reflector
swapon "${device}1"
genfstab -p /mnt >>/mnt/etc/fstab
swapoff "${device}1"

arch-chroot /mnt /usr/bin/sed -i 's/^#Server/Server/' /etc/pacman.d/mirrorlist
arch-chroot /mnt /bin/bash
9 changes: 5 additions & 4 deletions local.json
Original file line number Diff line number Diff line change
@@ -9,7 +9,8 @@
"cpus": "2",
"headless": "true",
"write_zeroes": "",
"boot_wait": "60s"
"boot_wait": "60s",
"mirror": ""
},
"builders": [
{
@@ -45,7 +46,7 @@
"boot_command": [
"<enter><wait10><wait10><wait10><wait10><wait10><enter><enter>",
"curl -O 'http://{{.HTTPIP}}:{{.HTTPPort}}/install{,-common,-chroot}.sh'<enter><wait>",
"bash install.sh < <(cat install-{chroot,common}.sh) && systemctl reboot<enter>"
"MIRROR='{{user `mirror`}}' bash install.sh < <(cat install-{chroot,common}.sh) && systemctl reboot<enter>"
]
}, {
"type": "qemu",
@@ -74,7 +75,7 @@
"boot_command": [
"<enter><wait10><wait10><wait10><wait10><wait10><enter><enter>",
"curl -O 'http://{{.HTTPIP}}:{{.HTTPPort}}/install{,-common,-chroot}.sh'<enter><wait>",
"bash install.sh < <(cat install-{chroot,common}.sh) && systemctl reboot<enter>"
"MIRROR='{{user `mirror`}}' bash install.sh < <(cat install-{chroot,common}.sh) && systemctl reboot<enter>"
]
}, {
"type": "vmware-iso",
@@ -95,7 +96,7 @@
"boot_command": [
"<enter><wait10><wait10><wait10><wait10><wait10><enter><enter>",
"curl -O 'http://{{.HTTPIP}}:{{.HTTPPort}}/install{,-common,-chroot}.sh'<enter><wait>",
"bash install.sh < <(cat install-{chroot,common}.sh) && systemctl reboot<enter>"
"MIRROR='{{user `mirror`}}' bash install.sh < <(cat install-{chroot,common}.sh) && systemctl reboot<enter>"
]
}

9 changes: 5 additions & 4 deletions vagrant.json
Original file line number Diff line number Diff line change
@@ -9,7 +9,8 @@
"headless": "true",
"vagrant_cloud_token": "PLACEHOLDER",
"write_zeroes": "",
"boot_wait": "60s"
"boot_wait": "60s",
"mirror": ""
},
"builders": [
{
@@ -45,7 +46,7 @@
"boot_command": [
"<enter><wait10><wait10><wait10><wait10><wait10><enter><enter>",
"curl -O 'http://{{.HTTPIP}}:{{.HTTPPort}}/install{,-common,-chroot}.sh'<enter><wait>",
"bash install.sh < <(cat install-{chroot,common}.sh) && systemctl reboot<enter>"
"MIRROR='{{user `mirror`}}' bash install.sh < <(cat install-{chroot,common}.sh) && systemctl reboot<enter>"
]
}, {
"type": "qemu",
@@ -74,7 +75,7 @@
"boot_command": [
"<enter><wait10><wait10><wait10><wait10><wait10><enter><enter>",
"curl -O 'http://{{.HTTPIP}}:{{.HTTPPort}}/install{,-common,-chroot}.sh'<enter><wait>",
"bash install.sh < <(cat install-{chroot,common}.sh) && systemctl reboot<enter>"
"MIRROR='{{user `mirror`}}' bash install.sh < <(cat install-{chroot,common}.sh) && systemctl reboot<enter>"
]
}, {
"type": "vmware-iso",
@@ -95,7 +96,7 @@
"boot_command": [
"<enter><wait10><wait10><wait10><wait10><wait10><enter><enter>",
"curl -O 'http://{{.HTTPIP}}:{{.HTTPPort}}/install{,-common,-chroot}.sh'<enter><wait>",
"bash install.sh < <(cat install-{chroot,common}.sh) && systemctl reboot<enter>"
"MIRROR='{{user `mirror`}}' bash install.sh < <(cat install-{chroot,common}.sh) && systemctl reboot<enter>"
]
}

0 comments on commit 8a4b17c

Please sign in to comment.