diff --git a/src/usr/share/libalpm/scripts/kernel-install b/src/usr/share/libalpm/scripts/kernel-install index d3929de..7410b6d 100755 --- a/src/usr/share/libalpm/scripts/kernel-install +++ b/src/usr/share/libalpm/scripts/kernel-install @@ -1,8 +1,22 @@ -#!/bin/bash -e +#!/usr/bin/env bash while read -r line; do version=$(basename "${line%/vmlinuz}") echo ":: Installing kernel $version" - + kernel-install $1 "${version}" "${line}" done + +# If needed, set /etc/kernel/cmdline to enable kernel-install in a chroot +if [[ ! -e /etc/kernel/cmdline ]]; then + mkdir -p /etc/kernel + + BOOT_OPTIONS="" + read -r -d '' -a line < /proc/cmdline + for i in "${line[@]}"; do + [[ "${i#initrd=*}" != "$i" ]] && continue + [[ "${i#BOOT_IMAGE=*}" != "$i" ]] && continue + BOOT_OPTIONS+="$i " + done + echo ${BOOT_OPTIONS} > /etc/kernel/cmdline +fi