diff options
| -rwxr-xr-x | build-arch-gce | 15 | ||||
| -rw-r--r-- | sys/etc/mkinitcpio.conf | 67 | ||||
| -rw-r--r-- | sys/etc/mkinitcpio.d/linux.preset | 10 |
3 files changed, 82 insertions, 10 deletions
diff --git a/build-arch-gce b/build-arch-gce index 1432439..ececc62 100755 --- a/build-arch-gce +++ b/build-arch-gce @@ -117,6 +117,10 @@ cp ./sys/etc/ssh/sshd_config $mount_dir/etc/ssh/ echo '-- Creating pacman-init service.' cp ./sys/etc/systemd/system/pacman-init.service $mount_dir/etc/systemd/system/ +echo '-- Configuring initcpio.' +cp ./sys/etc/mkinitcpio.conf $mount_dir/etc/ +cp ./sys/etc/mkinitcpio.d/linux.preset $mount_dir/etc/mkinitcpio.d/ + arch-chroot -- "$mount_dir" /bin/bash -s <<-'EOS' set -eEuo pipefail trap 'echo "Error: \`$BASH_COMMAND\` exited with status $?"' ERR @@ -156,16 +160,7 @@ arch-chroot -- "$mount_dir" /bin/bash -s <<-'EOS' echo '-- Enabling other services.' systemctl --quiet enable dhclient@eth0.service - echo '-- Configuring initcpio.' - gawk -i assert -i inplace ' - /^MODULES=/ { $0 = "MODULES=(virtio_pci virtio_scsi sd_mod ext4)"; ++f1 } - /^BINARIES=/ { $0 = "BINARIES=(fsck fsck.ext4)"; ++f2 } - /^HOOKS=/ { $0 = "HOOKS=(systemd modconf)"; ++f3 } - { print } END { assert(f1 * f2 * f3 == 1, "f == 1") }' /etc/mkinitcpio.conf - gawk -i assert -i inplace ' - /^PRESETS=/ { $0 = "PRESETS=(default)"; ++f } - /#?fallback_/ { next } - { print } END { assert(f == 1, "f == 1") }' /etc/mkinitcpio.d/linux.preset + echo '-- Running mkinitcpio.' rm /boot/initramfs-linux-fallback.img mkinitcpio --nocolor --preset linux 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=() diff --git a/sys/etc/mkinitcpio.d/linux.preset b/sys/etc/mkinitcpio.d/linux.preset new file mode 100644 index 0000000..6fcee70 --- /dev/null +++ b/sys/etc/mkinitcpio.d/linux.preset @@ -0,0 +1,10 @@ +# mkinitcpio preset file for the 'linux' package + +ALL_config="/etc/mkinitcpio.conf" +ALL_kver="/boot/vmlinuz-linux" + +PRESETS=('default') + +#default_config="/etc/mkinitcpio.conf" +default_image="/boot/initramfs-linux.img" +#default_options="" |
