bdisk/docs/manual/user/fslayout/TEMPLATES.adoc

3.1 KiB
Raw Blame History

templates/

This directory contains dynamic templates used for dynamic configuration building and other such things. They are written in Jinja2. If you havent used Jinja2 before, the templating documentation will prove to be very useful.

This allows you to customize low-level behaviour of BDisk without modifying the source.

BIOS/

The isolinux.cfg.arch.j2 template controls boot options for the single-arch versions of BDisk. In other words if you only build an i686 or only an x86_64 version, this is the template that would be used for BIOS boot mode.

The isolinux.cfg.multi.j2 is used for multi-arch. It manages booting for both i686 and x86_64 versions.

These files will let you change the behaviour of booting in BIOS systems. The menu colour, the menu entries, the menu default, etc.

EFI/

The files in here are systemd-boot configurations. The distributed defaults are:

base.conf.j2, which controls the "main"/default entry.

loader.conf.j2, the meta configuration file which tells the loader which entry to load by default and which entries to include.

ram.conf.j2 which allows BDisk to run entirely from RAM.

uefi1.conf.j2 which provides a UEFI shell (for older UEFI systems).

uefi2.conf.j2 which provides a UEFI shell (for newer UEFI systems).

GPG.j2

This file contains default parameters for the GPG key generation, if we need to automatically generate a key.

iPXE/

This directory holds templates for iPXE/mini builds.

The BIOS/ directory is similar to BIOS/ mentioned above, but it only needs one configuration file and is a much more minimal design (since its entire purpose is to chainload to the iPXE loader).

The EFI/ directory is similar to EFI/ above also, but needs fewer configuration files (its only purpose is to bootstrap iPXE).

EMBED.j2 is the iPXE embedded script (more info). This is what chainloads the remote resources (kernel, intird, squashed filesystem images, and so forth).

The patches/ directory largely control branding of the mini ISO. They are in unified diff (or "patch") format.

overlay/

This directory contains templated overlays. These are intended to be templated by the user. See the overlay section for more information on how to use this. Remember to suffix your template files with the .j2 extension.

pre-build.d/

This directory contains templated overlays. These are intended to not be managed by the user, as they handle configuration necessary for building an ISO. See the pre-build.d section for more information on this.

VERSION_INFO.txt.j2

This template specifies a VERSION_INFO.txt file placed in various locations throughout the builds to help identify which version, build, etc. the ISO is.