Go to file
2024-05-01 15:15:59 -07:00
cloud fix script and remove norescue 2024-05-01 15:14:13 -07:00
components Add KDE and Cinnamon spins 2024-04-01 18:19:03 -07:00
configs add core and kernel repos 2024-04-30 22:31:07 -07:00
container add container definitions 2024-04-23 14:18:31 -07:00
live Add KDE and Cinnamon spins 2024-04-01 18:19:03 -07:00
repositories add core and kernel repos 2024-04-30 22:31:07 -07:00
root/etc poc: init for r9 2024-03-28 23:19:47 -07:00
vagrant remove hyperv 2024-05-01 15:00:10 -07:00
cloud-build.sh fix cloud-build script 2024-05-01 15:15:59 -07:00
config.sh add missing pam.d/su portion 2024-05-01 14:41:45 -07:00
config.xml config adjustments 2024-03-28 23:38:44 -07:00
grub.tmpl poc: init for r9 2024-03-28 23:19:47 -07:00
live-build.sh Minor adjustments 2024-04-13 23:55:05 -07:00
README.md update readme about isolation 2024-05-01 15:10:45 -07:00

rocky-kiwi-descriptions

Kiwi descriptions for Rocky Linux 9.

config.xml is a symlink to rocky.xml. this way the symlink can just be changed to deal with live images (as kiwi doesn't seem to support using the --kiwi-file option for iso).

Can't you use the same config.xml? Why are you symlinking?

Yes and the reason why we're symlinking is that "name" and "displayname" are not flexible. They are only set/read at the very top level <image> (at least from testing at the time of this writing). As our images and volume names (at least for live images) have a very specific format, and we want it to be easy to rename them, we did it this way.

Cloud, container, vagrant images can all use the first config, likely just fine. The live images were the problematic ones, thus, symlinks with a default to the rocky.xml config.

I found an issue...

Please fork and make a PR! We're still learning how this tool works ourselves.

How to try it out

You can actually do this in mock pretty easily. You could also probably get this running in a podman container or otherwise. As of this writing, we haven't tried it yet. Theory says it should work.

Note that selinux must be set to permissive.

Live Image Example (EPEL)

The below makes an XFCE live image using EPEL packages.

% mock -r rocky+epel-9-x86_64 --init
% mock -r rocky+epel-9-x86_64 --install kiwi-cli \
  dracut-kiwi-live \
  kiwi-systemdeps-{bootloaders,containers,core,disk-images,filesystems,image-validation,iso-media} \
  distribution-gpg-keys \
  epel-release

% sudo setenforce 0
# Some builds require --isolation=simple -- Add it if you have issues
% mock -r rocky+epel-9-x86_64 --shell --enable-network
% git clone https://git.resf.org/sig_core/rocky-kiwi-descriptions -b r9
% cd rocky-kiwi-descriptions
% sed -i 's/ZZVOLVERZZ/9/g ; s/ZZVERZZ/9/g' $(find . -name "*.xml")
% ln -sf configs/live-xfce.xml config.xml
% kiwi-ng --debug --type="iso" \
  --profile="XFCE-Live" \
  --color-output system \
  build \ 
  --description="./" \
  --target-dir /builddir/lmc