Update
This commit is contained in:
parent
b6f5c9545c
commit
aa78e6f968
|
@ -1,35 +0,0 @@
|
||||||
#!/usr/bin/env bash
|
|
||||||
#
|
|
||||||
# Rebuild all the initrds using dracut
|
|
||||||
|
|
||||||
# This finds the best token for systemd-boot
|
|
||||||
find_token() {
|
|
||||||
if [[ -s /etc/kernel/entry-token ]] ; then
|
|
||||||
cat /etc/kernel/entry-token
|
|
||||||
elif [[ -s /etc/machine-id ]] ; then
|
|
||||||
cat /etc/machine-id
|
|
||||||
elif [[ $(grep "^IMAGE_ID=" /etc/os-release) ]] ; then
|
|
||||||
grep "^IMAGE_ID=" /etc/os-release | awk -F"=" '{print $2}'
|
|
||||||
elif [[ $(grep "^ID=" /etc/os-release) ]] ; then
|
|
||||||
grep "^ID=" /etc/os-release | awk -F"=" '{print $2}'
|
|
||||||
fi
|
|
||||||
}
|
|
||||||
|
|
||||||
[[ -f /etc/kernel-install-for-dracut.conf ]] && source /etc/kernel-install-for-dracut.conf
|
|
||||||
ESP=$(bootctl --print-esp-path)
|
|
||||||
TOKEN=$(find_token)
|
|
||||||
while read -r pkgbase; do
|
|
||||||
kernelversion=$(basename "${pkgbase%/pkgbase}")
|
|
||||||
kernelname=$(cat "${pkgbase}")
|
|
||||||
INITRD_PATH="${ESP}/${TOKEN}/${kernelversion}"
|
|
||||||
if [[ ! -d "$INITRD_PATH" ]] ; then
|
|
||||||
echo 'Failed to build initrds, use "sudo reinstall-kernels" instead' 1>&2
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
echo "Running dracut for ${kernelname}-${kernelversion}"
|
|
||||||
[[ ${DRACUT_QUIET} == "true" ]] && DRACUT_EXTRA_PARAMS=" --quiet"
|
|
||||||
dracut --force --hostonly --no-hostonly-cmdline${DRACUT_EXTRA_PARAMS} "${INITRD_PATH}/initrd" "${kernelversion}"
|
|
||||||
[[ ${NO_DRACUT_FALLBACK} != "true" ]] && dracut --force --no-hostonly${DRACUT_EXTRA_PARAMS} "${INITRD_PATH}/initrd-fallback" "${kernelversion}"
|
|
||||||
done < <(find /usr/lib/modules -maxdepth 2 -type f -name pkgbase)
|
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue