Note: OL7 Premier Support ended on 31 December 2024, scripts will only be maintained for the OL8 and newer images.
- aarch64 support for vagrant-virtualbox (on Apple silicon)
- UEFI support for x86_64.
BOOT_MODE
can be set tobios
,uefi
orhybrid
. In hybrid mode the image is compatible with both Legacy BIOS and UEFI - new
SERIAL_CONSOLE_RUNTIME
build parameter to configure serial console in the generated image
- The partition layout is now GPT for all images
- Install the audit package (allow SELinux auditing)
- OL9: update BLS files when grub config is updated
- OLVM OL9 templates have now the correct OS id (was set to OL8 for compatibility reason)
- The partitioning in the kickstart files is generated dynamically in the
%pre
section
- Update for OL9.5
- Fix regression for Vagrant Virtualbox boxes (set default NIC type to
virtio
)
- Use a version-based sort on the output of osinfo-query to ensure we always use the latest available variant on the build host when creating the initial VM
- OL 8.10 & OL9.4 update
- Truncate
/etc/resolv.conf
in cleanup - Pin
kernel-uek-core
to prevent accidental removal
cloud-init collect-logs
requirestar
Major refactoring of the scripts, reducing dependencies on third parties.
The build tools mainly rely on qemu-kvm
, using libvirt
and libguestfs
.
As it is a breaking change, previous version has been archived under the olit-legacy
branch (unmaintained).
The overall build process has been changed. In previous releases we had:
- Create image from distribution ISO and a kickstart file
- Customize the image by running provision scripts inside the running VM
- Cleanup the environment by mounting the image filesystems on the host; the outcome is a raw disk image
- Package the image for the target cloud
As of this release, we have:
- Create image: unchanged
- Use
virt-customize
to run the provisioning scripts - Use
virt-sysprep
/virt-sparsify
for the cleanup; the outcome is a compressed qcow2 image - Package image: unchanged
Notable code changes:
- Drop support for VirtualBox as builder (you can still create Vagrant VirtualBox images)
image-scripts.sh
::seal()
functions obsolete; code moved toprovision.sh
::cleanup()
functions. We don't need anymore a separate offline cleanup asvirt-customize
doesn't actually run the built VM.- Simplify
provision.sh
::cleanup()
functions as most parts are now handled byvirt-sysprep
operations. - Add
image-scripts.sh
::customize_args()
and::sysprep_args()
hooks to inject command line parameters forvirt-customize
andvirt-sysprep
. - Root privileges are no longer required on the build host.
- Root access to the image VM is no longer needed at built time. Root password and/or ssh public key can still be set for the image; parameters have been renamed to ensure configuration is secure by default.
- Move common code to the
common.sh
andprovision-common.sh
libraries. - QCOW2 image files now have the
qcow2
extension instead ofqcow
.
Changes to the configuration variables.
See the corresponding env.properties
files for more details.
New variables
- Generic
INSTALL_WAIT_TIME
: configurable timeout for initial image creationOS_VARIANT
(optional): OS variant used when creating the imageBOOT_MODE
: OS boot mode (bios
orefi
)BOOT_COMMAND_SERIAL_CONSOLE
: kernel parameters to enable serial consoleBOOT_LOCATION
(optional): kernel and initrd location on the distribution mediaROOT_PASSWORD
(optional, default: locked): password for the root account in the generated imageROOT_SSH_KEY
(optional): public ssh key the root account in the generated imagePERMIT_ROOT_LOGIN
(Default: prohibit-password): default policy for ssh root loginCACHE_DIR
(Default:.cache
in workspace directory): location of ISO images cache
- utm cloud
OPC_PASSWORD
: password for theopc
user for UTM builds
Changed variables
DISTR
: is now mandatoryISO_LABEL
: is now optionalBOOT_COMMAND
: array of kernel parameters instead of a string
Obsolete variables
LOCK_ROOT
,SSH_KEY_FILE
,SSH_PASSWORD
: root access to the image is not needed anymore, see newROOT_PASSWORD
,ROOT_SSH_KEY
if root access to the generated image is neededX2APIC
PACKER
,PACKER_BUILD_OPTIONS
,PACKER_BUILDER
QEMU_BINARY
- sshd
PermitRootLogin
parameter is nowprohibit-password
by default for all images (instead ofyes
for OL7/OL8) - update azure cloud for OL9
- Wrong pattern matching in bash regular expressions when validating variables
- TERM variable in serial console configuration for OVM not escaped properly
- Wrong swap page size for aarch64 builds when host is running UEK6 kernel
- Workaround for OL8 cloud-init issue in OCI
- Setup OCI yum mirrors for OCI images
README file updated