kickstarts/README.md

83 lines
2.8 KiB
Markdown
Raw Normal View History

2022-06-30 02:35:18 +00:00
# R9 specific kickstarts
2021-11-13 22:29:28 +00:00
This branch has Rocky Linux 9 specific kickstarts. These kickstarts vary
2021-11-13 22:29:28 +00:00
between cloud images and live images provided in our repositories and
mirrors.
2024-04-02 00:49:10 +00:00
If you are looking for the kiwi version of these configurations, check
out [this repo](https://git.resf.org/sig_core/rocky-kiwi-descriptions/src/branch/r9).
## Structure
In the root of the repository are the general kickstarts in use that any
user can pick up, use, or modify to their liking to make their own Rocky
Linux live images, cloud images, and so on. These kickstarts are generated
by templates that live in the various directories in this repository.
* `cloud` -> Cloud image templates
* `live` -> Live image templates
* `container` -> Container image templates
These kickstarts are generated using `ksflatten`. Changes made to the
kickstarts generally match between the templates and the full kickstarts
in the root.
For SIG/Core's usage, we use the `live` area as a "working" directory,
where we use the split parts in our automation for the images and the
pre-flattened versions are there for the convenience of all users. This
is easier than using the pre-made ones in empanadas.
2021-11-13 22:29:28 +00:00
## Building Live Images
To build live images, you will need to use `livecd-creator` or
`livemedia-creator`. The former is simpler to use and generally works without
many issues. The latter can be a bit more tricky to work with and typically
runs the installer virtually. However, it can be used without a virtual machine
like in a mock shell.
Optionally, it is possible to use `empanadas` found in the SIG/Core toolkit.
### Automatic: Using empanadas
To be filled.
### Manual: Using livemedia-creator
2021-11-13 22:29:28 +00:00
To use livemedia-creator without using virt, you can use a mock shell. To
setup a mock chroot for the purpose of building a live image, you would
set it up like so:
```
# Install mock if you haven't already
% dnf install epel-release -y
% dnf install mock -y
# Add a user to the mock group
% usermod -a -G mock user
# As the user, setup the mock environment
2022-06-30 02:35:18 +00:00
% mock -r rocky-9-x86_64 --init
% mock -r rocky-9-x86_64 --install lorax-lmc-novirt vim-minimal pykickstart git
# You may need to be in permissive mode temporarily if you have issues
2021-11-13 22:29:28 +00:00
% setenforce 0
# Enter the shell
2022-06-30 02:35:18 +00:00
% mock -r rocky-9-x86_64 --shell --isolation=simple --enable-network
2021-11-13 22:29:28 +00:00
# Clone the kickstarts and run an installation
2023-09-08 01:21:01 +00:00
% git clone https://github.com/rocky-linux/kickstarts -b r9
2021-11-13 22:29:28 +00:00
% cd kickstarts
2022-06-30 02:35:18 +00:00
% livemedia-creator --ks Rocky-9-Workstation.ks \
2021-11-13 22:29:28 +00:00
--no-virt \
--resultdir /var/lmc \
--project="Rocky Linux" \
--make-iso \
2022-06-30 02:35:18 +00:00
--volid Rocky-Workstation-9 \
2021-11-13 22:29:28 +00:00
--iso-only \
2022-06-30 02:35:18 +00:00
--iso-name Rocky-Workstation-9-x86_64.iso \
2022-07-11 22:49:54 +00:00
--releasever=9 \
2021-11-13 22:29:28 +00:00
--nomacboot # This option is important to set, mkfs.hfsplus is not available
```
With the example above, all of the results will appear in
2022-06-30 02:35:18 +00:00
`/var/lib/mock/rocky-9-x86_64/root/var/lmc`.