Skip to content

Commit

Permalink
add mkinitcpio hook for Arch and sample /etc/mkinitcpio.conf
Browse files Browse the repository at this point in the history
  • Loading branch information
Christophe B Billheimer committed Jul 29, 2018
1 parent b5094ee commit ad41c2f
Show file tree
Hide file tree
Showing 3 changed files with 97 additions and 0 deletions.
14 changes: 14 additions & 0 deletions arch/etc/initcpio/hooks/bcachefs
Original file line number Diff line number Diff line change
@@ -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:
17 changes: 17 additions & 0 deletions arch/etc/initcpio/install/bcachefs
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
#!/bin/bash

build() {
add_module `bcachefs`
add_binary "bcachefs"

add_runscript

}

help() {
cat <<HELPEOF
This hook is for getting the bcachefs unlock prompt at boot
HELPEOF
}

# vim set ft=sh ts=4 sw=4 et:
66 changes: 66 additions & 0 deletions arch/etc/mkinitcpio.conf
Original file line number Diff line number Diff line change
@@ -0,0 +1,66 @@
# 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=(bcachefs)

# 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=(bcachefs)

# 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=(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=""

0 comments on commit ad41c2f

Please sign in to comment.