aboutsummaryrefslogtreecommitdiff
path: root/sys/etc/mkinitcpio.conf
diff options
context:
space:
mode:
authorShulhan <ms@kilabit.info>2022-07-03 02:59:01 +0700
committerShulhan <ms@kilabit.info>2022-07-25 19:29:22 +0700
commitff5f303619eade1089cb22a3acbd6584facad414 (patch)
tree0bcf099c5868ab5d5a48496d0aab427a8e8e7597 /sys/etc/mkinitcpio.conf
parent9f8819d2a7682da47da16e0f13860e6026e273bd (diff)
downloadcompute-archlinux-image-builder-ff5f303619eade1089cb22a3acbd6584facad414.tar.xz
all: use predefined files to configure mkinitcpio
Using this method simplify maintenance on the build script and give flexibility to custom image builder. While at it, we add "udev autodetect block filesystems keyboard" into the HOOKS to allow testing the image using qemu and "fsck" to allow system run disk check on boot.
Diffstat (limited to 'sys/etc/mkinitcpio.conf')
-rw-r--r--sys/etc/mkinitcpio.conf67
1 files changed, 67 insertions, 0 deletions
diff --git a/sys/etc/mkinitcpio.conf b/sys/etc/mkinitcpio.conf
new file mode 100644
index 0000000..de97b63
--- /dev/null
+++ b/sys/etc/mkinitcpio.conf
@@ -0,0 +1,67 @@
+# vim:set ft=sh
+# MODULES
+# The following modules are loaded before any boot hooks are
+# run. Advanced users may wish to specify all system modules
+# in this array. For instance:
+# MODULES=(piix ide_disk reiserfs)
+MODULES=(virtio_pci virtio_scsi sd_mod ext4)
+
+# BINARIES
+# This setting includes any additional binaries a given user may
+# wish into the CPIO image. This is run last, so it may be used to
+# override the actual binaries included by a given hook
+# BINARIES are dependency parsed, so you may safely ignore libraries
+BINARIES=(fsck fsck.ext4)
+
+# FILES
+# This setting is similar to BINARIES above, however, files are added
+# as-is and are not parsed in any way. This is useful for config files.
+FILES=()
+
+# HOOKS
+# This is the most important setting in this file. The HOOKS control the
+# modules and scripts added to the image, and what happens at boot time.
+# Order is important, and it is recommended that you do not change the
+# order in which HOOKS are added. Run 'mkinitcpio -H <hook name>' for
+# help on a given hook.
+# 'base' is _required_ unless you know precisely what you are doing.
+# 'udev' is _required_ in order to automatically load modules
+# 'filesystems' is _required_ unless you specify your fs modules in MODULES
+# Examples:
+## This setup specifies all modules in the MODULES setting above.
+## No raid, lvm2, or encrypted root is needed.
+# HOOKS=(base)
+#
+## This setup will autodetect all modules for your system and should
+## work as a sane default
+# HOOKS=(base udev autodetect block filesystems)
+#
+## This setup will generate a 'full' image which supports most systems.
+## No autodetection is done.
+# HOOKS=(base udev block filesystems)
+#
+## This setup assembles a pata mdadm array with an encrypted root FS.
+## Note: See 'mkinitcpio -H mdadm' for more information on raid devices.
+# HOOKS=(base udev block mdadm encrypt filesystems)
+#
+## This setup loads an lvm2 volume group on a usb device.
+# HOOKS=(base udev block lvm2 filesystems)
+#
+## NOTE: If you have /usr on a separate partition, you MUST include the
+# usr, fsck and shutdown hooks.
+HOOKS=(systemd modconf)
+
+# COMPRESSION
+# Use this to compress the initramfs image. By default, zstd compression
+# is used. Use 'cat' to create an uncompressed image.
+#COMPRESSION="zstd"
+#COMPRESSION="gzip"
+#COMPRESSION="bzip2"
+#COMPRESSION="lzma"
+#COMPRESSION="xz"
+#COMPRESSION="lzop"
+#COMPRESSION="lz4"
+
+# COMPRESSION_OPTIONS
+# Additional options for the compressor
+#COMPRESSION_OPTIONS=()