diff --git a/arch/etc/initcpio/hooks/bcachefs b/arch/etc/initcpio/hooks/bcachefs new file mode 100644 index 00000000..cc2ed7e9 --- /dev/null +++ b/arch/etc/initcpio/hooks/bcachefs @@ -0,0 +1,14 @@ +#!/usr/bin/ash + +run_hook() { + +# check if $root needs unlocking +if bcachefs unlock -c $root >/dev/null 2>&1; then + echo "Unlocking $root:" + while true; do + bcachefs unlock $root && break + done +fi +} + +# vim: set ft=sh ts=4 sw=4 et: diff --git a/arch/etc/initcpio/install/bcachefs b/arch/etc/initcpio/install/bcachefs new file mode 100644 index 00000000..67ce186d --- /dev/null +++ b/arch/etc/initcpio/install/bcachefs @@ -0,0 +1,17 @@ +#!/bin/bash + +build() { + add_module `bcachefs` + add_binary "bcachefs" + + add_runscript + +} + +help() { + cat <' 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=(base udev autodetect modconf block filesystems bcachefs keyboard fsck) + +# COMPRESSION +# Use this to compress the initramfs image. By default, gzip compression +# is used. Use 'cat' to create an uncompressed image. +#COMPRESSION="gzip" +#COMPRESSION="bzip2" +#COMPRESSION="lzma" +#COMPRESSION="xz" +#COMPRESSION="lzop" +#COMPRESSION="lz4" + +# COMPRESSION_OPTIONS +# Additional options for the compressor +#COMPRESSION_OPTIONS=""