|
|
|
@ -30,6 +30,8 @@ CREATE_BASE=1
|
|
|
|
|
CREATE_NEW=1
|
|
|
|
|
BUILD_KERNEL=1
|
|
|
|
|
CHMOD=0644
|
|
|
|
|
DRACUT=$(which dracut 2>/dev/null)
|
|
|
|
|
declare -a TAILOUT=()
|
|
|
|
|
|
|
|
|
|
: >$DEBUG_LOG
|
|
|
|
|
set -e
|
|
|
|
@ -269,6 +271,12 @@ list_kernel() {
|
|
|
|
|
done
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
einfo_tail() {
|
|
|
|
|
einfo $*
|
|
|
|
|
TAILOUT+=( "$*" )
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
#####################
|
|
|
|
|
# Process options
|
|
|
|
|
#####################
|
|
|
|
@ -331,6 +339,11 @@ then
|
|
|
|
|
eerror "--safemode available for calculate-sources only"
|
|
|
|
|
fi
|
|
|
|
|
|
|
|
|
|
if [[ -n $SAFEMODE ]] && [[ -z $DRACUT ]]
|
|
|
|
|
then
|
|
|
|
|
eerror "--safemode unavailable without dracut"
|
|
|
|
|
fi
|
|
|
|
|
|
|
|
|
|
if ! [[ -d $LOCAL_TEMPLATES_DIR ]]
|
|
|
|
|
then
|
|
|
|
|
(mkdir -p $LOCAL_TEMPLATES_DIR ;
|
|
|
|
@ -415,11 +428,12 @@ then
|
|
|
|
|
do
|
|
|
|
|
if diff -u $i $NEW_TEMPLATE &>/dev/null
|
|
|
|
|
then
|
|
|
|
|
einfo "Kernel configuration is not changed"
|
|
|
|
|
einfo_tail "Kernel configuration is not changed"
|
|
|
|
|
rm $i
|
|
|
|
|
SKIP_CREATE_INFO=1
|
|
|
|
|
else
|
|
|
|
|
newname="$(basename $i)-$(date +%Y%m%d_%H%M -r $i)"
|
|
|
|
|
einfo "Backup template $(basename $i) -> ${newname}"
|
|
|
|
|
einfo_tail "Backup template $(basename $i) -> ${newname}"
|
|
|
|
|
if ! [[ -d ${TEMPLATES_BACKUP} ]]
|
|
|
|
|
then
|
|
|
|
|
(mkdir -p ${TEMPLATES_BACKUP} &&
|
|
|
|
@ -430,10 +444,18 @@ then
|
|
|
|
|
done
|
|
|
|
|
fi
|
|
|
|
|
|
|
|
|
|
mv $NEW_TEMPLATE $TEMPLATE_NAME
|
|
|
|
|
chmod ${CHMOD} $TEMPLATE_NAME
|
|
|
|
|
if [[ $(sed 1d $NEW_TEMPLATE | wc -l) -gt 0 ]]
|
|
|
|
|
then
|
|
|
|
|
mv $NEW_TEMPLATE $TEMPLATE_NAME
|
|
|
|
|
chmod ${CHMOD} $TEMPLATE_NAME
|
|
|
|
|
if [[ -z $SKIP_CREATE_INFO ]]
|
|
|
|
|
then
|
|
|
|
|
einfo_tail "Create template $(basename $TEMPLATE_NAME)"
|
|
|
|
|
fi
|
|
|
|
|
else
|
|
|
|
|
einfo_tail "Skip empty template"
|
|
|
|
|
fi
|
|
|
|
|
|
|
|
|
|
einfo "Create template $(basename $TEMPLATE_NAME)"
|
|
|
|
|
|
|
|
|
|
rm -f $BASE_CONFIG
|
|
|
|
|
|
|
|
|
@ -444,11 +466,14 @@ then
|
|
|
|
|
einfo $KVER
|
|
|
|
|
cd $KERNEL_DIR
|
|
|
|
|
(source_makeconf && make clean && make $MAKEOPTS && make $MAKEOPTS modules_install && make $MAKEOPTS install)
|
|
|
|
|
grep -q "CONFIG_BLK_DEV_INITRD=y" ${NEW_CONFIG} && dracut -fH --kver $KVER /boot/initramfs-${KVER}.img
|
|
|
|
|
if [[ $KVER =~ calculate ]] && [[ -n $SAFEMODE ]]
|
|
|
|
|
if [[ -n $DRACUT ]]
|
|
|
|
|
then
|
|
|
|
|
|
|
|
|
|
grep -q "CONFIG_BLK_DEV_INITRD=y" ${NEW_CONFIG} && dracut -f --kver $KVER /boot/initramfs-${KVER/-calculate/-SafeMode-calculate}.img
|
|
|
|
|
grep -q "CONFIG_BLK_DEV_INITRD=y" ${NEW_CONFIG} && ${DRACUT} -fH --kver $KVER /boot/initramfs-${KVER}.img
|
|
|
|
|
if [[ $KVER =~ calculate ]] && [[ -n $SAFEMODE ]]
|
|
|
|
|
then
|
|
|
|
|
|
|
|
|
|
grep -q "CONFIG_BLK_DEV_INITRD=y" ${NEW_CONFIG} && ${DRACUT} -f --kver $KVER /boot/initramfs-${KVER/-calculate/-SafeMode-calculate}.img
|
|
|
|
|
fi
|
|
|
|
|
fi
|
|
|
|
|
cl-setup-boot
|
|
|
|
|
|
|
|
|
@ -462,6 +487,12 @@ then
|
|
|
|
|
[[ ${HOUR} -gt 0 ]] && echo -n "${HOUR} hour(s) "
|
|
|
|
|
[[ ${MIN} -gt 0 ]] && echo -n "${MIN} minute(s) "
|
|
|
|
|
echo "${SEC} second(s)"
|
|
|
|
|
|
|
|
|
|
for line in "${TAILOUT[@]}"
|
|
|
|
|
do
|
|
|
|
|
einfo $line
|
|
|
|
|
done
|
|
|
|
|
fi
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
einfo "All done!"
|
|
|
|
|