Compare commits
2 commits
7f735f515e
...
1ee1e66155
Author | SHA1 | Date | |
---|---|---|---|
1ee1e66155 | |||
2659ec10c9 |
2 changed files with 49 additions and 51 deletions
|
@ -13,8 +13,8 @@ IMAGE_PATH=arch-$(date --iso-8601).img.qcow2
|
||||||
IMAGE_SIZE=10G
|
IMAGE_SIZE=10G
|
||||||
NBD_DEVICE=/dev/nbd0
|
NBD_DEVICE=/dev/nbd0
|
||||||
|
|
||||||
ONE_CONTEXT_VERSION=6.0.0
|
ONE_CONTEXT_VERSION=6.8.1
|
||||||
ONE_CONTEXT_SOURCE_ARCHIVE="https://github.com/OpenNebula/addon-context-linux/archive/v$ONE_CONTEXT_VERSION.tar.gz"
|
ONE_CONTEXT_SOURCE_ARCHIVE="https://github.com/OpenNebula/one-apps/archive/refs/tags/v${ONE_CONTEXT_VERSION:?}.tar.gz"
|
||||||
|
|
||||||
cleanup() {
|
cleanup() {
|
||||||
# The order here is important.
|
# The order here is important.
|
||||||
|
@ -96,76 +96,74 @@ EOF
|
||||||
cat > /mnt/etc/pacman.d/mirrorlist << EOF
|
cat > /mnt/etc/pacman.d/mirrorlist << EOF
|
||||||
##
|
##
|
||||||
## Arch Linux repository mirrorlist
|
## Arch Linux repository mirrorlist
|
||||||
## Generated on 2020-05-12
|
## Generated on 2024-03-07
|
||||||
##
|
##
|
||||||
|
|
||||||
## Switzerland
|
## Switzerland
|
||||||
Server = http://pkg.adfinis-sygroup.ch/archlinux/\$repo/os/\$arch
|
Server = http://pkg.adfinis.com/archlinux/\$repo/os/\$arch
|
||||||
Server = https://pkg.adfinis-sygroup.ch/archlinux/\$repo/os/\$arch
|
Server = https://pkg.adfinis.com/archlinux/\$repo/os/\$arch
|
||||||
Server = http://mirror.init7.net/archlinux/\$repo/os/\$arch
|
Server = http://mirror.init7.net/archlinux/\$repo/os/\$arch
|
||||||
Server = https://mirror.init7.net/archlinux/\$repo/os/\$arch
|
Server = https://mirror.init7.net/archlinux/\$repo/os/\$arch
|
||||||
|
Server = http://mirror.metanet.ch/archlinux/\$repo/os/\$arch
|
||||||
|
Server = https://mirror.metanet.ch/archlinux/\$repo/os/\$arch
|
||||||
Server = http://mirror.puzzle.ch/archlinux/\$repo/os/\$arch
|
Server = http://mirror.puzzle.ch/archlinux/\$repo/os/\$arch
|
||||||
Server = https://mirror.puzzle.ch/archlinux/\$repo/os/\$arch
|
Server = https://mirror.puzzle.ch/archlinux/\$repo/os/\$arch
|
||||||
Server = https://mirror.ungleich.ch/mirror/packages/archlinux/\$repo/os/\$arch
|
Server = https://mirror.ungleich.ch/mirror/packages/archlinux/\$repo/os/\$arch
|
||||||
EOF
|
EOF
|
||||||
run_root pacman -Syu
|
run_root pacman -Syu --noconfirm
|
||||||
#run_root pacman --sync --refresh --upgrade
|
|
||||||
|
|
||||||
# Guest networking is to be handled by the one-context package.
|
|
||||||
# See https://github.com/OpenNebula/addon-context-linux for details.
|
|
||||||
run_root pacman -Sy curl tar rsync --noconfirm
|
|
||||||
run_root curl -L "$ONE_CONTEXT_SOURCE_ARCHIVE" -o one-context.tar.gz
|
|
||||||
run_root tar xf one-context.tar.gz
|
|
||||||
run_root rsync -avrh addon-context-linux-${ONE_CONTEXT_VERSION}/src/* /
|
|
||||||
#run_root cp -rT addon-context-linux-${ONE_CONTEXT_VERSION}/src/ /
|
|
||||||
run_root rm -r addon-context-linux-${ONE_CONTEXT_VERSION}
|
|
||||||
run_root cp -r /usr/lib/systemd/system/one-context.service##arch.one /usr/lib/systemd/system/one-context.service
|
|
||||||
run_root systemctl enable one-context.service
|
|
||||||
|
|
||||||
# Initalize base services.
|
# Initalize base services.
|
||||||
run_root systemd-machine-id-setup
|
run_root systemd-machine-id-setup
|
||||||
|
|
||||||
run_root ln -sf /usr/share/zoneinfo/UTC /etc/localtime
|
|
||||||
run_root systemctl enable systemd-timesyncd.service
|
|
||||||
#run_root pacman -Q linux
|
|
||||||
# Install kernel and generate initramfs.
|
|
||||||
run_root pacman -Sy linux --noconfirm
|
|
||||||
run_root rsync -avrh /usr/lib/modules/ /lib/modules
|
|
||||||
#run_root pacman -Sy linux
|
|
||||||
run_root pacman -Sy mkinitcpio --noconfirm
|
|
||||||
#run_root pacman -S linux
|
|
||||||
run_root mkinitcpio -P
|
|
||||||
|
|
||||||
# Install and configure bootloader.
|
|
||||||
run_root pacman -Sy grub --noconfirm
|
|
||||||
run_root grub-install --target=i386-pc "${NBD_DEVICE}"
|
|
||||||
#run_root sed -i 's/^GRUB_CMDLINE_LINUX=.*$/GRUB_CMDLINE_LINUX="net.ifnames=0 biosdevname=0"/' /etc/default/grub
|
|
||||||
run_root grub-mkconfig -o /boot/grub/grub.cfg
|
|
||||||
# Install en configure SSH daemon.
|
|
||||||
run_root pacman -Sy openssh netctl --noconfirm
|
|
||||||
|
|
||||||
# Install haveged due to lack of entropy in ONE environment.
|
|
||||||
run_root pacman -Sy haveged --noconfirm
|
|
||||||
run_root systemctl enable haveged.service
|
|
||||||
run_root systemctl enable sshd
|
|
||||||
run_root systemctl enable systemd-networkd
|
|
||||||
run_root systemctl enable systemd-resolved
|
|
||||||
run_root systemctl enable systemd-timesyncd
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
# Generate fstab file.
|
# Generate fstab file.
|
||||||
boot_uuid=$(blkid --match-tag UUID --output value "${NBD_DEVICE}p1")
|
boot_uuid=$(blkid --match-tag UUID --output value "${NBD_DEVICE}p1")
|
||||||
root_uuid=$(blkid --match-tag UUID --output value "${NBD_DEVICE}p2")
|
root_uuid=$(blkid --match-tag UUID --output value "${NBD_DEVICE}p2")
|
||||||
cat >>/mnt/etc/fstab <<EOF
|
cat >>/mnt/etc/fstab <<EOF
|
||||||
UUID=$boot_uuid /boot ext4 rw,relatime,data=ordered 0 2
|
UUID=${boot_uuid:?} /boot ext4 rw,relatime,data=ordered 0 2
|
||||||
UUID=$root_uuid / ext4 rw,relatime,data=ordered 0 1
|
UUID=${root_uuid:?} / ext4 rw,relatime,data=ordered 0 1
|
||||||
EOF
|
EOF
|
||||||
|
|
||||||
|
# Guest networking is to be handled by the one-context package.
|
||||||
|
# See https://github.com/OpenNebula/one-apps for details.
|
||||||
|
run_root pacman -Sy curl tar rsync --noconfirm
|
||||||
|
run_root curl -L "$ONE_CONTEXT_SOURCE_ARCHIVE" -o one-context.tar.gz
|
||||||
|
run_root tar xf one-context.tar.gz
|
||||||
|
run_root rsync -ravh "one-apps-${ONE_CONTEXT_VERSION:?}/context-linux/src/"* /
|
||||||
|
run_root rm -r "one-apps-${ONE_CONTEXT_VERSION:?}"
|
||||||
|
run_root cp -r /usr/lib/systemd/system/one-context.service##arch.one /usr/lib/systemd/system/one-context.service
|
||||||
|
run_root systemctl enable one-context.service
|
||||||
|
|
||||||
|
run_root ln -sf /usr/share/zoneinfo/UTC /etc/localtime
|
||||||
|
run_root systemctl enable systemd-timesyncd.service
|
||||||
|
# Install kernel and generate initramfs.
|
||||||
|
run_root ln -s /usr/lib/modules /lib/modules
|
||||||
|
run_root pacman -Sy mkinitcpio linux linux-firmware --noconfirm
|
||||||
|
sed -i '/MODULES=/c\MODULES=(virtio virtio_blk virtio_pci virtio_net)' /mnt/etc/mkinitcpio.conf
|
||||||
|
run_root mkinitcpio -p linux
|
||||||
|
|
||||||
|
# Install and configure bootloader.
|
||||||
|
run_root pacman -Sy grub --noconfirm
|
||||||
|
run_root grub-install --target=i386-pc "${NBD_DEVICE}"
|
||||||
|
run_root grub-mkconfig -o /boot/grub/grub.cfg
|
||||||
|
|
||||||
|
# Install and configure a SSH daemon.
|
||||||
|
run_root pacman -Sy openssh netctl --noconfirm
|
||||||
|
run_root systemctl enable sshd
|
||||||
|
|
||||||
|
# Install haveged due to lack of entropy in ONE environment.
|
||||||
|
run_root pacman -Sy haveged --noconfirm
|
||||||
|
run_root systemctl enable haveged.service
|
||||||
|
|
||||||
|
# Make sure core services are enabled.
|
||||||
|
run_root systemctl enable systemd-networkd
|
||||||
|
run_root systemctl enable systemd-resolved
|
||||||
|
run_root systemctl enable systemd-timesyncd
|
||||||
|
|
||||||
# Reset systemd's environment.
|
# Reset systemd's environment.
|
||||||
run_root rm -f /etc/machine-id
|
run_root rm -f /etc/machine-id
|
||||||
run_root touch /etc/machine-id
|
run_root touch /etc/machine-id
|
||||||
rm -f /var/lib/systemd/random-seed
|
rm -f /var/lib/systemd/random-seed
|
||||||
|
echo "arch" > /mnt/etc/hostname
|
||||||
|
|
||||||
# Make sure everything is written to disk before exiting.
|
# Make sure everything is written to disk before exiting.
|
||||||
sync
|
sync
|
||||||
|
|
|
@ -140,7 +140,7 @@ EOF
|
||||||
run_root rm -f /etc/machine-id
|
run_root rm -f /etc/machine-id
|
||||||
run_root touch /etc/machine-id
|
run_root touch /etc/machine-id
|
||||||
rm -f /var/lib/systemd/random-seed
|
rm -f /var/lib/systemd/random-seed
|
||||||
run_root hostnamectl set-hostname ubuntu
|
echo "ubuntu" > /mnt/etc/hostname
|
||||||
|
|
||||||
# Remove temporary files and reclaim freed disk space.
|
# Remove temporary files and reclaim freed disk space.
|
||||||
run_root apt-get clean
|
run_root apt-get clean
|
||||||
|
|
Loading…
Reference in a new issue