From ad41c2fb76a96f772d75f3b4b7687fcd29aa0574 Mon Sep 17 00:00:00 2001 From: Christophe B Billheimer Date: Sat, 28 Jul 2018 22:54:36 -0400 Subject: [PATCH] add mkinitcpio hook for Arch and sample /etc/mkinitcpio.conf --- arch/etc/initcpio/hooks/bcachefs | 14 +++++++ arch/etc/initcpio/install/bcachefs | 17 ++++++++ arch/etc/mkinitcpio.conf | 66 ++++++++++++++++++++++++++++++ 3 files changed, 97 insertions(+) create mode 100644 arch/etc/initcpio/hooks/bcachefs create mode 100644 arch/etc/initcpio/install/bcachefs create mode 100644 arch/etc/mkinitcpio.conf diff --git a/arch/etc/initcpio/hooks/bcachefs b/arch/etc/initcpio/hooks/bcachefs new file mode 100644 index 0000000..cc2ed7e --- /dev/null +++ b/arch/etc/initcpio/hooks/bcachefs @@ -0,0 +1,14 @@ +#!/usr/bin/bash + +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 0000000..67ce186 --- /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=""