2021-06-20 09:31:58 +00:00
# Kickstart to RootFS Builder
This project provides the ability build `rootfs` file from `kickstart` input file in a docker/podman container environment. Output rootfs files can be used create base images for different OSs (AlmaLinux, Cent OS, Rocky Linux) etc.
2021-06-21 11:02:47 +00:00
## HOW-TO
Image yet ot published in `hub.docker.com` , until then use local build.
2021-06-23 16:56:33 +00:00
2021-06-21 11:02:47 +00:00
### Building local
2021-06-23 16:56:33 +00:00
```sh
2021-06-24 19:14:05 +00:00
docker build -t almalinux/ks2rootfs .
2021-06-21 11:02:47 +00:00
```
### Using Image
2021-06-23 17:00:43 +00:00
Following command under `tests` folder. Run command uses the `kickstarts/almalinux-8-default.x86_64.ks` file to build.
2021-06-21 11:02:47 +00:00
2021-06-24 16:06:32 +00:00
Use command below to create `default` docker files
2021-06-23 16:56:33 +00:00
```sh
2021-06-21 11:02:47 +00:00
docker run --rm --privileged -v "$PWD:/build:z" \
-e BUILD_KICKSTART=kickstarts/almalinux-8-default.x86_64.ks \
2021-06-24 16:06:32 +00:00
-e BUILD_ROOTFS=almalinux-8-docker-default.x86_64.tar.gz \
2021-06-24 04:00:10 +00:00
-e BUILD_OUTDIR=default \
2021-06-24 19:14:05 +00:00
almalinux/ks2rootfs
2021-06-24 04:00:10 +00:00
```
2021-06-24 16:06:32 +00:00
Use command below to create `minimal` docker files
2021-06-24 04:00:10 +00:00
```sh
docker run --rm --privileged -v "$PWD:/build:z" \
-e BUILD_KICKSTART=kickstarts/almalinux-8-minimal.x86_64.ks \
2021-06-24 16:06:32 +00:00
-e BUILD_ROOTFS=almalinux-8-docker-minimal.x86_64.tar.gz \
2021-06-24 04:00:10 +00:00
-e BUILD_OUTDIR=minimal \
2021-06-24 19:14:05 +00:00
almalinux/ks2rootfs
2021-06-21 11:02:47 +00:00
```
2021-06-23 16:56:33 +00:00
### Environment variables
Container startup script `ks2rootfs` supports multiple environment varible to customize the output. The environment variables and their use as follows
```sh
ENVIRONMENT VARIABLES:
======================
2021-06-24 04:00:10 +00:00
BUILD_KICKSTART : Reuired - Input kickstart source file (.ks)
BUILD_ROOTFS : Required - Rootfs output file name
BUILD_WORK_DIR : Optional - Working dir for kickstart source and image destination. Defaults to current directory.
2021-06-24 08:40:12 +00:00
BUILD_OUTDIR : Optional - Output directory name in working directory. Ddefault value is 'result'.
2021-06-24 04:00:10 +00:00
BUILD_FLAG_OUTOUT_IN_PWD : Optional - Set this flag to true to write output files in current working directory. Default value is false. When value is set to `true` , any value passed to `BUILD_OUTDIR` will be ignored.
BUILD_FLAG_WRITE_META : Optional - Generate meta data about the kickstart build system. Default value is true.
BUILD_FLAG_RETAIN_LOG : Optional - Retain generated output log files under 'logs' output directory. Default value is false.
2021-06-23 16:56:33 +00:00
USAGE:
ks2rootfs KICKSTART_FILE_NAME ROOTFS_FILE_NAME
EXAMPLES:
ks2rootfs os-minimal.ks os-minimal.tar.xz
```