From 17d7d71e058e6091d48387484e77a7ba1f3d2924 Mon Sep 17 00:00:00 2001 From: Philippe Vanhaesendonck Date: Sat, 19 Nov 2022 18:27:36 +0100 Subject: [PATCH 1/5] feat(olss): :sparkles: bump /boot to 1GB for ol8/x86 Signed-off-by: Philippe Vanhaesendonck --- oracle-linux-image-tools/distr/ol8-slim/ol8-ks.cfg | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/oracle-linux-image-tools/distr/ol8-slim/ol8-ks.cfg b/oracle-linux-image-tools/distr/ol8-slim/ol8-ks.cfg index cb82344..5947c6c 100644 --- a/oracle-linux-image-tools/distr/ol8-slim/ol8-ks.cfg +++ b/oracle-linux-image-tools/distr/ol8-slim/ol8-ks.cfg @@ -48,7 +48,7 @@ zerombr clearpart --all --initlabel # Disk partitioning information -part /boot --fstype="xfs" --ondisk=sda --size=500 --label=/boot +part /boot --fstype="xfs" --ondisk=sda --size=1024 --label=/boot part swap --fstype="swap" --ondisk=sda --size=4096 --label=swap part / --fstype="xfs" --ondisk=sda --size=4096 --label=root --grow From 7420e34cca52a34771eaa465f659064d927706f3 Mon Sep 17 00:00:00 2001 From: Philippe Vanhaesendonck Date: Sat, 19 Nov 2022 18:28:47 +0100 Subject: [PATCH 2/5] feat(olss): :sparkles: support for OL8U7 Signed-off-by: Philippe Vanhaesendonck --- .../files/vagrant-common.sh | 21 +++++++------------ .../cloud/vagrant-virtualbox/provision.sh | 16 +++++++++++++- .../distr/ol8-aarch64/env.properties | 4 ++-- .../distr/ol8-slim/env.properties | 4 ++-- 4 files changed, 27 insertions(+), 18 deletions(-) diff --git a/oracle-linux-image-tools/cloud/vagrant-virtualbox/files/vagrant-common.sh b/oracle-linux-image-tools/cloud/vagrant-virtualbox/files/vagrant-common.sh index df8a98a..ac43fca 100755 --- a/oracle-linux-image-tools/cloud/vagrant-virtualbox/files/vagrant-common.sh +++ b/oracle-linux-image-tools/cloud/vagrant-virtualbox/files/vagrant-common.sh @@ -12,7 +12,7 @@ ####################################### # Configure Vagrant instance # Globals: -# None +# ORACLE_RELEASE, UEK_RELEASE # Arguments: # None # Returns: @@ -93,7 +93,7 @@ EOF chcon -u system_u -r object_r -t modules_conf_t /etc/modprobe.d/nofloppy.conf # Customize the initramfs - if [[ "${ORACLE_RELEASE}" != "9" ]]; then + if [[ "${ORACLE_RELEASE}" != "9" && "${UEK_RELEASE}" != "7" ]]; then # Enable VMware PVSCSI support for VMware Fusion guests. echo 'add_drivers+=" mptspi "' > /etc/dracut.conf.d/vmware-fusion-drivers.conf restorecon /etc/dracut.conf.d/vmware-fusion-drivers.conf @@ -169,16 +169,11 @@ For additional packages, updates, documentation and community help, see: ####################################### vagrant::cleanup() { - if [[ "${ORACLE_RELEASE}" != "6" ]]; then - # On OL6 we need to keep psmisc and checkpolicy for dependencies; other - # packages are not installed. - distr::remove_rpms usermode \ - rhn\* \ - m2crypto \ - checkpolicy \ - iptables-services - if [[ -z "${RESCUE_KERNEL}" || "${RESCUE_KERNEL,,}" = "no" ]]; then - distr::remove_rpms dracut-config-rescue - fi + distr::remove_rpms usermode \ + rhn\* \ + m2crypto \ + iptables-services + if [[ -z "${RESCUE_KERNEL}" || "${RESCUE_KERNEL,,}" = "no" ]]; then + distr::remove_rpms dracut-config-rescue fi } diff --git a/oracle-linux-image-tools/cloud/vagrant-virtualbox/provision.sh b/oracle-linux-image-tools/cloud/vagrant-virtualbox/provision.sh index cbfbfbe..0bee1f7 100755 --- a/oracle-linux-image-tools/cloud/vagrant-virtualbox/provision.sh +++ b/oracle-linux-image-tools/cloud/vagrant-virtualbox/provision.sh @@ -35,7 +35,7 @@ cloud::config() ####################################### # Install Virtualbox guest agent # Globals: -# YUM_VERBOSE +# KERNEL, YUM_VERBOSE # Arguments: # None # Returns: @@ -53,6 +53,12 @@ cloud::install_agent() yum install -y "${YUM_VERBOSE}" kernel-devel fi + # Orabug 34811820 for OL8 UEK7 -- for the current install + case $(uname -r) in + 5.15.0-*.el8uek*) + export PATH="/opt/rh/gcc-toolset-11/root/usr/bin:$PATH" + esac + # Search for guest additions on cd devices for cdrom in /dev/sr*; do if mount -o ro "${cdrom}" /mnt; then @@ -71,6 +77,14 @@ cloud::install_agent() sh "${additions}" || : umount /mnt + + # Orabug 34811820 for OL8 UEK7 -- for subsequent rebuilds + case $(uname -r) in + 5.15.0-*.el8uek*) + # shellcheck disable=SC2016 + sed -i '/PATH=$PATH/a PATH="/opt/rh/gcc-toolset-11/root/usr/bin:$PATH"' /usr/sbin/rcvboxadd + esac + } ####################################### diff --git a/oracle-linux-image-tools/distr/ol8-aarch64/env.properties b/oracle-linux-image-tools/distr/ol8-aarch64/env.properties index 17ddbe9..64c60b4 100644 --- a/oracle-linux-image-tools/distr/ol8-aarch64/env.properties +++ b/oracle-linux-image-tools/distr/ol8-aarch64/env.properties @@ -3,7 +3,7 @@ # env file. # Distribution name -DISTR_NAME="OL8U6_aarch64" +DISTR_NAME="OL8U7_aarch64" # Distribution release readonly ORACLE_RELEASE=8 @@ -15,7 +15,7 @@ SETUP_SWAP="yes" ROOT_FS="xfs" # Label of the ISO image -ISO_LABEL="OL-8-6-0-BaseOS-aarch64" +ISO_LABEL="OL-8-7-0-BaseOS-aarch64" # Boot command # Variables MUST be escaped as they are evaluated at build time. diff --git a/oracle-linux-image-tools/distr/ol8-slim/env.properties b/oracle-linux-image-tools/distr/ol8-slim/env.properties index b0b6a98..7fe35b4 100644 --- a/oracle-linux-image-tools/distr/ol8-slim/env.properties +++ b/oracle-linux-image-tools/distr/ol8-slim/env.properties @@ -3,7 +3,7 @@ # env file. # Distribution name -DISTR_NAME="OL8U6_x86_64" +DISTR_NAME="OL8U7_x86_64" # Distribution release readonly ORACLE_RELEASE=8 @@ -22,7 +22,7 @@ BOOT_COMMAND=( '${CONSOLE} inst.text inst.ks=${KS_CONFIG} setup_swap=${ KERNEL="uek" # UEK release: 6, 7 -UEK_RELEASE=6 +UEK_RELEASE=7 # Keep rescue kernel: yes, no # Keeping rescue kernel will increase the image size and is most propbalbly From 7c5c01be0621651023862da899a71ebc1a24394f Mon Sep 17 00:00:00 2001 From: Philippe Vanhaesendonck Date: Tue, 22 Nov 2022 09:33:54 +0100 Subject: [PATCH 3/5] fix(olss): :bug: set cloud-init defaults. cloud-init 22.1 package does not provide sensible defaults for OL. system_info section from 21.1 copied to etc/cloud/cloud.cfg.d/90_ol.cfg. Signed-off-by: Philippe Vanhaesendonck --- .../cloud/oci/provision.sh | 18 +++++++++++++++++- .../cloud/olvm/provision.sh | 18 +++++++++++++++++- 2 files changed, 34 insertions(+), 2 deletions(-) diff --git a/oracle-linux-image-tools/cloud/oci/provision.sh b/oracle-linux-image-tools/cloud/oci/provision.sh index ee33135..a3a6438 100755 --- a/oracle-linux-image-tools/cloud/oci/provision.sh +++ b/oracle-linux-image-tools/cloud/oci/provision.sh @@ -75,8 +75,24 @@ cloud::cloud_init() touch /etc/cloud/cloud-init.disabled yum install -y "${YUM_VERBOSE}" cloud-init rm /etc/cloud/cloud-init.disabled + cat > /etc/cloud/cloud.cfg.d/90_ol.cfg <<-EOF + # Provide sensible defaults for OL - see Orabug 34821447 + system_info: + default_user: + name: cloud-user + lock_passwd: true + gecos: Cloud User + groups: [adm, systemd-journal] + sudo: ["ALL=(ALL) NOPASSWD:ALL"] + shell: /bin/bash + distro: rhel + paths: + cloud_dir: /var/lib/cloud + templates_dir: /etc/cloud/templates + ssh_svcname: sshd + EOF if [[ -n "${CLOUD_USER}" ]]; then - sed -i -e "s/\(^\s\+name:\).*/\1 ${CLOUD_USER}/" /etc/cloud/cloud.cfg + sed -i -e "s/\(^\s\+name:\).*/\1 ${CLOUD_USER}/" /etc/cloud/cloud.cfg.d/90_ol.cfg fi fi } diff --git a/oracle-linux-image-tools/cloud/olvm/provision.sh b/oracle-linux-image-tools/cloud/olvm/provision.sh index 7f76cfc..0279135 100755 --- a/oracle-linux-image-tools/cloud/olvm/provision.sh +++ b/oracle-linux-image-tools/cloud/olvm/provision.sh @@ -75,8 +75,24 @@ cloud::cloud_init() touch /etc/cloud/cloud-init.disabled yum install -y "${YUM_VERBOSE}" cloud-init rm /etc/cloud/cloud-init.disabled + cat > /etc/cloud/cloud.cfg.d/90_ol.cfg <<-EOF + # Provide sensible defaults for OL - see Orabug 34821447 + system_info: + default_user: + name: cloud-user + lock_passwd: true + gecos: Cloud User + groups: [adm, systemd-journal] + sudo: ["ALL=(ALL) NOPASSWD:ALL"] + shell: /bin/bash + distro: rhel + paths: + cloud_dir: /var/lib/cloud + templates_dir: /etc/cloud/templates + ssh_svcname: sshd + EOF if [[ -n "${CLOUD_USER}" ]]; then - sed -i -e "s/\(^\s\+name:\).*/\1 ${CLOUD_USER}/" /etc/cloud/cloud.cfg + sed -i -e "s/\(^\s\+name:\).*/\1 ${CLOUD_USER}/" /etc/cloud/cloud.cfg.d/90_ol.cfg fi fi } From 3279f836a41bf6a0cad136cfde0719d6ef12fd0a Mon Sep 17 00:00:00 2001 From: Philippe Vanhaesendonck Date: Fri, 25 Nov 2022 17:31:21 +0100 Subject: [PATCH 4/5] feat(olss): :sparkles: updates for OL9U1 Signed-off-by: Philippe Vanhaesendonck --- oracle-linux-image-tools/distr/ol9-aarch64/env.properties | 4 ++-- oracle-linux-image-tools/distr/ol9-slim/env.properties | 2 +- oracle-linux-image-tools/packer-template/qemu-aarch64.pkr.hcl | 2 +- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/oracle-linux-image-tools/distr/ol9-aarch64/env.properties b/oracle-linux-image-tools/distr/ol9-aarch64/env.properties index 3a7a99a..cc41eaa 100644 --- a/oracle-linux-image-tools/distr/ol9-aarch64/env.properties +++ b/oracle-linux-image-tools/distr/ol9-aarch64/env.properties @@ -3,7 +3,7 @@ # env file. # Distribution name -DISTR_NAME="OL9U0_aarch64" +DISTR_NAME="OL9U1_aarch64" # Distribution release readonly ORACLE_RELEASE=9 @@ -15,7 +15,7 @@ SETUP_SWAP="yes" ROOT_FS="xfs" # Label of the ISO image -ISO_LABEL="OL-9-0-0-BaseOS-aarch64" +ISO_LABEL="OL-9-1-0-BaseOS-aarch64" # Boot command # Variables MUST be escaped as they are evaluated at build time. diff --git a/oracle-linux-image-tools/distr/ol9-slim/env.properties b/oracle-linux-image-tools/distr/ol9-slim/env.properties index ecfd4cb..333c6db 100644 --- a/oracle-linux-image-tools/distr/ol9-slim/env.properties +++ b/oracle-linux-image-tools/distr/ol9-slim/env.properties @@ -3,7 +3,7 @@ # env file. # Distribution name -DISTR_NAME="OL9U0_x86_64" +DISTR_NAME="OL9U1_x86_64" # Distribution release readonly ORACLE_RELEASE=9 diff --git a/oracle-linux-image-tools/packer-template/qemu-aarch64.pkr.hcl b/oracle-linux-image-tools/packer-template/qemu-aarch64.pkr.hcl index 5ef8780..98602bd 100644 --- a/oracle-linux-image-tools/packer-template/qemu-aarch64.pkr.hcl +++ b/oracle-linux-image-tools/packer-template/qemu-aarch64.pkr.hcl @@ -44,7 +44,7 @@ source "qemu" "aarch64" { ssh_password = var.ssh_password ssh_private_key_file = var.ssh_private_key_file ssh_port = 22 - ssh_wait_timeout = "120m" + ssh_wait_timeout = "180m" http_directory = local.http_directory boot_wait = "20s" boot_command = var.boot_command From 5f0d2baa96babf6bf26f18c4122506a324e6ae54 Mon Sep 17 00:00:00 2001 From: Philippe Vanhaesendonck Date: Thu, 8 Dec 2022 14:11:19 +0100 Subject: [PATCH 5/5] fix(olss): :bug: vagrant virtualbox uses virtio nic. Fixes oracle/vagrant-projects#442 Signed-off-by: Philippe Vanhaesendonck --- .../cloud/vagrant-virtualbox/image-scripts.sh | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/oracle-linux-image-tools/cloud/vagrant-virtualbox/image-scripts.sh b/oracle-linux-image-tools/cloud/vagrant-virtualbox/image-scripts.sh index cee38f9..4917d9b 100755 --- a/oracle-linux-image-tools/cloud/vagrant-virtualbox/image-scripts.sh +++ b/oracle-linux-image-tools/cloud/vagrant-virtualbox/image-scripts.sh @@ -110,6 +110,19 @@ cloud::image_package() { vboxmanage storageattach "${VM_NAME}" --storagectl "SATA Controller" --port 1 --device 0 --type hdd --medium ./extra_disk.vdi fi # Create the box - vagrant package --base "${VM_NAME}" --output "${VM_NAME}.box" + if [[ "${ORACLE_RELEASE}" =~ ^[89]$ ]]; then + # For the latest uek kernels (UEK7) we install kernel-uek-core which only has virtio drivers... + cat > Vagrantfile <<-EOF + Vagrant.configure("2") do |config| + config.vm.provider :virtualbox do |v| + v.default_nic_type = "virtio" + end + end + EOF + vagrant package --base "${VM_NAME}" --output "${VM_NAME}.box" --vagrantfile Vagrantfile + rm -rf Vagrantfile .vagrant + else + vagrant package --base "${VM_NAME}" --output "${VM_NAME}.box" + fi vboxmanage unregistervm "${VM_NAME}" --delete }