X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?a=blobdiff_plain;f=src%2Fkernel-install%2F90-loaderentry.install;h=d433e00a5c3fc1508024431558d8c614d9c6c4d2;hb=f9aa5413807e163df49171793eb93a230cd7b955;hp=6fbb14908a596301702fc2bd96084aabc8a6d3eb;hpb=6c10d3997019c4f09dad5650209b49c5ccd11551;p=elogind.git diff --git a/src/kernel-install/90-loaderentry.install b/src/kernel-install/90-loaderentry.install index 6fbb14908..d433e00a5 100644 --- a/src/kernel-install/90-loaderentry.install +++ b/src/kernel-install/90-loaderentry.install @@ -32,6 +32,8 @@ fi if [[ -f /etc/os-release ]]; then . /etc/os-release +elif [[ -f /usr/lib/os-release ]]; then + . /usr/lib/os-release fi if ! [[ $PRETTY_NAME ]]; then @@ -45,11 +47,10 @@ if [[ -f /etc/kernel/cmdline ]]; then fi if ! [[ ${BOOT_OPTIONS[*]} ]]; then - readarray -t line < /proc/cmdline - for i in ${line[*]}; do - if [[ "${i#initrd=*}" == "$i" ]]; then - BOOT_OPTIONS[${#BOOT_OPTIONS[@]}]="$i" - fi + read -a line -r < /proc/cmdline + for i in "${line[@]}"; do + [[ "${i#initrd=*}" != "$i" ]] && continue + BOOT_OPTIONS[${#BOOT_OPTIONS[@]}]="$i" done fi @@ -59,7 +60,9 @@ if ! [[ ${BOOT_OPTIONS[*]} ]]; then exit 1 fi -cp --preserve "$KERNEL_IMAGE" "$BOOT_DIR_ABS/linux" || { +cp "$KERNEL_IMAGE" "$BOOT_DIR_ABS/linux" && + chown root:root "$BOOT_DIR_ABS/linux" && + chmod 0644 "$BOOT_DIR_ABS/linux" || { echo "Could not copy '$KERNEL_IMAGE to '$BOOT_DIR_ABS/linux'." >&2 exit 1 } @@ -77,6 +80,7 @@ mkdir -p "${LOADER_ENTRY%/*}" || { echo "linux $BOOT_DIR/linux" [[ -f $BOOT_DIR_ABS/initrd ]] && \ echo "initrd $BOOT_DIR/initrd" + : } > "$LOADER_ENTRY" || { echo "Could not create loader entry '$LOADER_ENTRY'." >&2 exit 1