# alx specific functions add_conf_prot() { local i for i in $@ do export CONFIG_PROTECT="${CONFIG_PROTECT} ${i}" done } add_conf_prot_mask() { local i for i in $@ do export CONFIG_PROTECT_MASK="${CONFIG_PROTECT_MASK} ${i}" done } # updates /boot/grub/grub.conf with given params # example: alx_grub_update kernel-image-name description alx_grub_update() { local KERNEL_IMAGE local KERNEL_DESCRIPTION local old_image KERNEL_IMAGE="$1" KERNEL_DESCRIPTION="$2" # some checks if [ -z "${KERNEL_IMAGE}" ] then echo "At least a kernel-image must be given" return 1 fi [ -z "${KERNEL_DESCRIPTION}" ] && KERNEL_DESCRIPTION="${KERNEL_IMAGE}" if [ ! -f /boot/grub/grub.conf ] then echo "/boot/grub/grub.conf not found" return 1 fi # fix description sed -i "s:^\(title=\).*:\1${KERNEL_DESCRIPTION}:" /boot/grub/grub.conf # fix kernel image old_image="$(basename $(cat /boot/grub/grub.conf|grep kernel |cut -d' ' -f2))" sed -i "s:${old_image}:${KERNEL_IMAGE}:" /boot/grub/grub.conf } # updates /boot/grub/grub.conf with given params # example: alx_grub_update kernel-image-name description alx_grub_update_new() { local KERNEL_IMAGE local KERNEL_DESCRIPTION local i local rootfs local grubroot local OLD_IFS local grubconf="/boot/grub/grub.conf" KERNEL_IMAGE="$1" KERNEL_DESCRIPTION="$2" # some checks if [ -z "${KERNEL_IMAGE}" ] then echo "At least a kernel-image must be given" return 1 fi [ -z "${KERNEL_DESCRIPTION}" ] && KERNEL_DESCRIPTION="${KERNEL_IMAGE}" if [ ! -f ${grubconf} ] then echo "${grubconf} not found" return 1 fi # first of all get the first rootfs instance for i in $(< ${grubconf}) do rootfs="$(echo ${i} | grep root=)" [[ -n ${rootfs} ]] && break done # then get the grub-root OLD_IFS="$IFS" IFS=$'\n' for i in $(< ${grubconf}) do grubroot="$(echo ${i} | grep 'root (' | cut -d' ' -f2)" [[ -n ${grubroot} ]] && break done IFS="${OLD_IFS}" # fix description : > ${grubconf} echo "default 0" >> ${grubconf} echo "timeout 3" >> ${grubconf} # using roots current password echo "password --md5 $(cat /etc/shadow | grep root | cut -d: -f2)" >> ${grubconf} echo >> ${grubconf} acho "# normal boot" >> ${grubconf} echo "title ${KERNEL_DESCRIPTION}" >> ${grubconf} echo "root ${grubroot}" >> ${grubconf} echo "kernel ${grubroot}/boot/${KERNEL_IMAGE} ${rootfs} quiet" >> ${grubconf} echo >> ${grubconf} echo "# admin boots" >> ${grubconf} echo "title ${KERNEL_DESCRIPTION} - Re-run hardware-detection" >> ${grubconf} echo "lock" >> ${grubconf} echo "root ${grubroot}" >> ${grubconf} echo "kernel ${grubroot}/boot/${KERNEL_IMAGE} ${rootfs} quiet hardware-auto-detection" >> ${grubconf} echo >> ${grubconf} echo "title ${KERNEL_DESCRIPTION} - Reset *all* local settings" >> ${grubconf} echo "lock" >> ${grubconf} echo "root ${grubroot}" >> ${grubconf} echo "kernel ${grubroot}/boot/${KERNEL_IMAGE} ${rootfs} quiet alx-reset-settings" >> ${grubconf} } # checks if compilation should be against alx target_alx_dev() { local i if [ -n "${MAGE_TARGETS}" ] then for i in ${MAGE_TARGETS} do [[ ${i} = -alx_dev ]] && return 0 # alx-dev will always build when building target alx, # so target alx ist also allowed to be alx-dev [[ ${i} = -alx ]] && return 0 done fi # nothing match, we are *not* on alx linux return 1 } # check if compilation should be against stripped down alx for livecds target_alx_livecd() { if [ -n "${MAGE_TARGETS}" ] then for i in ${MAGE_TARGETS} do [[ ${i} = alx_livecd ]] && return 0 done fi # nothing match, we are *not* on alx linux return 1 } # check if compilation should be against stripped down alx target_alx() { if [ -n "${MAGE_TARGETS}" ] then for i in ${MAGE_TARGETS} do [[ ${i} = -alx ]] && return 0 done fi # nothing match, we are *not* on alx linux return 1 }