94 lines
3.0 KiB
Markdown
94 lines
3.0 KiB
Markdown
## 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**: SELinux must be set to permissive.
|
|
|
|
**Note**: There may be cases where a build will fail in mock. If this is the
|
|
case, you will need to use `--isolation=simple`.
|
|
|
|
#### Live Image Example (EPEL)
|
|
|
|
The below makes an XFCE live image using SIG/Core packages.
|
|
|
|
```
|
|
# Use SIG/Core
|
|
% git clone https://git.resf.org/sig_core/mock-rocky-configs
|
|
% bash deploy.sh
|
|
% mock -r rl-9-x86_64-core-infra --init
|
|
% mock -r rl-9-x86_64-core-infra --install kiwi-cli git \
|
|
dracut-kiwi-live \
|
|
kiwi-systemdeps-{bootloaders,containers,core,disk-images,filesystems,image-validation,iso-media} \
|
|
epel-release \
|
|
rocky-release-core
|
|
|
|
% sudo setenforce 0
|
|
% mock -r rl-9-x86_64-core-infra --shell --enable-network
|
|
% git clone https://git.resf.org/sig_core/rocky-kiwi-descriptions -b r9
|
|
% cd rocky-kiwi-descriptions
|
|
% 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
|
|
```
|
|
|
|
The below uses EPEL instead if you do not wish to use SIG/Core.
|
|
|
|
```
|
|
# Use EPEL
|
|
% mock -r rocky+epel-9-x86_64 --init
|
|
% mock -r rocky+epel-9-x86_64 --install kiwi-cli git \
|
|
dracut-kiwi-live \
|
|
kiwi-systemdeps-{bootloaders,containers,core,disk-images,filesystems,image-validation,iso-media} \
|
|
distribution-gpg-keys \
|
|
epel-release
|
|
|
|
% sudo setenforce 0
|
|
% 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
|
|
% 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
|
|
```
|
|
|
|
On the other hand, you can run the live-build.sh script after setting up your
|
|
mock environment.
|
|
|
|
```
|
|
% bash live-build.sh --live-image XFCE --output-dir /builddir/xfce
|
|
```
|