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