[ONE images] refresh archlinux image
This commit is contained in:
parent
7f735f515e
commit
2659ec10c9
1 changed files with 48 additions and 50 deletions
|
@ -13,8 +13,8 @@ IMAGE_PATH=arch-$(date --iso-8601).img.qcow2
|
|||
IMAGE_SIZE=10G
|
||||
NBD_DEVICE=/dev/nbd0
|
||||
|
||||
ONE_CONTEXT_VERSION=6.0.0
|
||||
ONE_CONTEXT_SOURCE_ARCHIVE="https://github.com/OpenNebula/addon-context-linux/archive/v$ONE_CONTEXT_VERSION.tar.gz"
|
||||
ONE_CONTEXT_VERSION=6.8.1
|
||||
ONE_CONTEXT_SOURCE_ARCHIVE="https://github.com/OpenNebula/one-apps/archive/refs/tags/v${ONE_CONTEXT_VERSION:?}.tar.gz"
|
||||
|
||||
cleanup() {
|
||||
# The order here is important.
|
||||
|
@ -96,76 +96,74 @@ EOF
|
|||
cat > /mnt/etc/pacman.d/mirrorlist << EOF
|
||||
##
|
||||
## Arch Linux repository mirrorlist
|
||||
## Generated on 2020-05-12
|
||||
## Generated on 2024-03-07
|
||||
##
|
||||
|
||||
## Switzerland
|
||||
Server = http://pkg.adfinis-sygroup.ch/archlinux/\$repo/os/\$arch
|
||||
Server = https://pkg.adfinis-sygroup.ch/archlinux/\$repo/os/\$arch
|
||||
Server = http://pkg.adfinis.com/archlinux/\$repo/os/\$arch
|
||||
Server = https://pkg.adfinis.com/archlinux/\$repo/os/\$arch
|
||||
Server = http://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 = https://mirror.puzzle.ch/archlinux/\$repo/os/\$arch
|
||||
Server = https://mirror.ungleich.ch/mirror/packages/archlinux/\$repo/os/\$arch
|
||||
EOF
|
||||
run_root pacman -Syu
|
||||
#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
|
||||
run_root pacman -Syu --noconfirm
|
||||
|
||||
# Initalize base services.
|
||||
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.
|
||||
boot_uuid=$(blkid --match-tag UUID --output value "${NBD_DEVICE}p1")
|
||||
root_uuid=$(blkid --match-tag UUID --output value "${NBD_DEVICE}p2")
|
||||
cat >>/mnt/etc/fstab <<EOF
|
||||
UUID=$boot_uuid /boot ext4 rw,relatime,data=ordered 0 2
|
||||
UUID=$root_uuid / ext4 rw,relatime,data=ordered 0 1
|
||||
UUID=${boot_uuid:?} /boot ext4 rw,relatime,data=ordered 0 2
|
||||
UUID=${root_uuid:?} / ext4 rw,relatime,data=ordered 0 1
|
||||
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.
|
||||
run_root rm -f /etc/machine-id
|
||||
run_root touch /etc/machine-id
|
||||
rm -f /var/lib/systemd/random-seed
|
||||
echo "arch" > /mnt/etc/hostname
|
||||
|
||||
# Make sure everything is written to disk before exiting.
|
||||
sync
|
Loading…
Reference in a new issue