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
|
pkgname=eos-systemd-boot
|
||||||
pkgver=0.02
|
pkgver=0.03
|
||||||
pkgrel=1
|
pkgrel=1
|
||||||
pkgdesc='Enables systemd-boot automation using kernel-install on EndeavourOS'
|
pkgdesc='Enables systemd-boot automation using kernel-install on EndeavourOS'
|
||||||
arch=(any)
|
arch=(any)
|
||||||
|
@ -14,6 +14,9 @@ package()
|
||||||
# install the package files
|
# install the package files
|
||||||
cp -a ${srcdir}/${pkgname}/src/usr ${pkgdir}
|
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
|
# mask the default loaderentry creator
|
||||||
mkdir -p "${pkgdir}/etc/kernel/install.d"
|
mkdir -p "${pkgdir}/etc/kernel/install.d"
|
||||||
touch "${pkgdir}/etc/kernel/install.d/90-loaderentry.install"
|
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