LINUX.ORG.RU

История изменений

Исправление iVS, (текущая версия) :

У меня такой скрипт получается, правда, не запускал

#!/usr/bin/env bash

kernel_list="$(eselect --brief kernel list)"
case $# in
    0)
        kernel_name=${kernel_list##*$'\n'}
        kernel_number=$(wc -l <<< "$kernel_list")
        ;;
    1)
        kernel_name=$(sed -n "${1}p" <<< "$kernel_list")
        if [[ -z $kernel_name ]]; then
            echo "The kernel is not found."
            exit 1
        fi
        kernel_number=$1
        ;;
    *)
        echo "Multiple parameters are not allowed."
        exit 1
        ;;
esac

cd /usr/src/${kernel_name}
[[ ! -f .config ]] && zcat /proc/config.gz > .config

# Update .config of new kernel and store its backup
make oldconfig
[[ ! -d /backup/${kernel_name} ]] && mkdir /backup/${kernel_name}
cp .config /backup/${kernel_name}

# Make a kernel image, modules, and update GRUB2 menu
make dep bzImage modules modules_install
cp arch/x86/boot/bzImage /boot/kernel${kernel_name#linux}
eselect kernel set ${kernel_number}
emerge -v @module-rebuild
grub2-mkconfig -o /boot/grub/grub.cfg

exit 0

Исправление iVS, :

У меня такой скрипт получается, правда, не запускал

#!/usr/bin/env bash

kernel_list="$(eselect --brief kernel list)"
case $# in
    0)
        kernel_name=${kernel_list##*$'\n'}
        kernel_number=$(wc -l <<< "$kernel_list")
        ;;
    1)
        kernel_name=$(sed -n "${1}p" <<< "$kernel_list")
        if [[ -z $kernel_name ]]; then
            echo "The kernel is not found."
            exit 1
        fi
        kernel_number=$1
        ;;
    *)
        echo "Multiple parameters are not allowed."
        exit 1
        ;;
esac

cd /usr/src/${kernel_name}
[[ ! -f .config ]] && zcat /proc/config.gz > .config

# Update .config of new kernel and store its backup
make oldconfig
[[ ! -d /backup/${kernel_name} ]] && mkdir /backup/${kernel_name}
cp .config /backup/${kernel_name}

# Make a kernel image, modules, and update GRUB2 menu
make dep bzImage modules modules_install
cp arch/x86/boot/bzImage /boot/kernel${kernel_name#linux}
eselect kernel set ${kernel_number}
emerge -v @module-rebuild
grub2-mkconfig -o /boot/grub/grub.cfg

Исправление iVS, :

У меня такой скрипт получается, правда, не запускал

#!/usr/bin/env bash

kernel_list="$(eselect --brief kernel list)"
case $# in
    0)
        kernel_name=${kernel_list##*$'\n'}
        kernel_number=$(wc -l <<< "$kernel_list")
        ;;
    1)
        kernel_name=$(sed -n "${1}p" <<< "$kernel_list")
        kernel_number=$1
        ;;
    *)
        echo "Multiple parameters are not allowed."
        exit 1
        ;;
esac

cd /usr/src/${kernel_name}
[[ ! -f .config ]] && zcat /proc/config.gz > .config

# Update .config of new kernel and store its backup
make oldconfig
[[ ! -d /backup/${kernel_name} ]] && mkdir /backup/${kernel_name}
cp .config /backup/${kernel_name}

# Make a kernel image, modules, and update GRUB2 menu
make dep bzImage modules modules_install
cp arch/x86/boot/bzImage /boot/kernel${kernel_name#linux}
eselect kernel set ${kernel_number}
emerge -v @module-rebuild
grub2-mkconfig -o /boot/grub/grub.cfg

Исходная версия iVS, :

У меня такой скрипт получается, правда, не запускал

#!/usr/bin/env bash

kernel_list="$(eselect --brief kernel list)"
case "$#" in
    0)
        kernel_name=${kernel_list##*$'\n'}
        kernel_number=$(wc -l <<< "$kernel_list")
        ;;
    1)
        kernel_name=$(sed -n "${1}p" <<< "$kernel_list")
        kernel_number=$1
        ;;
    *)
        echo "Multiple parameters are not allowed."
        exit 1
        ;;
esac

cd /usr/src/${kernel_name}
[[ ! -f .config ]] && zcat /proc/config.gz > .config

# Update .config of new kernel and store its backup
make oldconfig
[[ ! -d /backup/${kernel_name} ]] && mkdir /backup/${kernel_name}
cp .config /backup/${kernel_name}

# Make a kernel image, modules, and update GRUB2 menu
make dep bzImage modules modules_install
cp arch/x86/boot/bzImage /boot/kernel${kernel_name#linux}
eselect kernel set ${kernel_number}
emerge -v @module-rebuild
grub2-mkconfig -o /boot/grub/grub.cfg