Add rebuild-initramfs script

This commit is contained in:
dalto 2021-02-22 18:15:53 -06:00
parent e20af413aa
commit c77167e8af
2 changed files with 29 additions and 1 deletions

View file

@ -1,5 +1,5 @@
pkgname=eos-systemd-boot
pkgver=0.02
pkgver=0.03
pkgrel=1
pkgdesc='Enables systemd-boot automation using kernel-install on EndeavourOS'
arch=(any)
@ -14,6 +14,9 @@ package()
# install the package files
cp -a ${srcdir}/${pkgname}/src/usr ${pkgdir}
# set the permissions on the files in /usr/bin
chmod 755 ${pkgdir}/usr/bin/rebuild-initramfs
# mask the default loaderentry creator
mkdir -p "${pkgdir}/etc/kernel/install.d"
touch "${pkgdir}/etc/kernel/install.d/90-loaderentry.install"

View file

@ -0,0 +1,25 @@
#!/usr/bin/env bash
# Rebuilds all the initramsfs in a systemd-boot system using kernel-install
# Find the configured esp
esp=$(bootctl -p)
# Prepare the efi partition for kernel-install
machineid=$(cat /etc/machine-id)
if [[ ${machineid} ]]; then
mkdir ${esp}/${machineid}
else
echo "Failed to get the machine ID"
exit
fi
# Run kernel install for all the installed kernels
while read -r kernel; do
kernelversion=$(basename "${kernel%/vmlinuz}")
mkdir -p ${esp}/${machineid}/${kernelversion}
echo "Generating initramfs for kernel ${kernelversion}"
mkinitcpio -k ${kernelversion} -g ${esp}/${machineid}/${kernelversion}/initrd
echo "Generating fallback initramfs for kernel ${kernelversion}"
mkinitcpio -S autodetect -k ${kernelversion} -g ${esp}/${machineid}/${kernelversion}/initrd-fallback
done < <(find /usr/lib/modules -maxdepth 2 -type f -name vmlinuz)