Add rebuild-initramfs script
This commit is contained in:
parent
e20af413aa
commit
c77167e8af
2 changed files with 29 additions and 1 deletions
5
PKGBUILD
5
PKGBUILD
|
@ -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"
|
||||
|
|
25
src/usr/bin/rebuild-initramfs
Normal file
25
src/usr/bin/rebuild-initramfs
Normal 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)
|
Loading…
Add table
Reference in a new issue