Building the Filesystem

Dependencies

To build the filesystem you need the following dependencies installed:

  • Buildah

  • Go 1.17

  • e2fsprogs (to provide mkfs.ext4)

  • fuse-ext2

The build process currently uses simple bash scripts but will be moved to please BUILD files to improve dependency management and build speeds.

Building the Podman Image

Before building the image you need to build kstart (see the guide here).

You will also need the modules directory created from the kernel build.

To build the image for the podman driver run build.sh. This will create an image tagged as docker.io/b177y/koble-deb. This will override the default image used by Koble. To share the image you will need to push it to a container registry, and then use image: REGISTRY/YOURNAME/IMAGENAME within Koble.

Building the UML Image

To build the User-Mode Linux image, you must first build the Podman image. You can then run buildah unshare bash uml.sh to build the UML image. This will be output to build/koble-fs.

If you want to rebuild the UML image after already building it, you must remove the build directory first (rm -r build)