linux-xanmod-bin 6.17.9-3

This commit is contained in:
2025-11-27 19:45:50 +03:00
parent d153f8e667
commit f74f7ed8d9
3 changed files with 41 additions and 36 deletions

View File

@@ -33,7 +33,7 @@ is_url() {
name='linux-xanmod-bin' name='linux-xanmod-bin'
version='6.17.9' version='6.17.9'
release='2' release='3'
branch='main' branch='main'
pkgverdl="${version%-*}" pkgverdl="${version%-*}"
desc='The Linux kernel, modules and headers with Xanmod patches - Prebuilt version' desc='The Linux kernel, modules and headers with Xanmod patches - Prebuilt version'

View File

@@ -5,84 +5,84 @@ set -e
kernel_version=$(ls -1 /usr/lib/modules/ 2>/dev/null | grep -E '\-xanmod[0-9]*$' | sort -V | tail -n 1) kernel_version=$(ls -1 /usr/lib/modules/ 2>/dev/null | grep -E '\-xanmod[0-9]*$' | sort -V | tail -n 1)
if [ -z "$kernel_version" ]; then if [ -z "$kernel_version" ]; then
echo "Error: Could not determine kernel version" echo "Ошибка: Не удалось определить версию ядра"
exit 1 exit 1
fi fi
echo "Detected kernel $kernel_version, running system hooks..." echo "Обнаружено ядро $kernel_version, выполнение системных хуков..."
kernel_path="/boot/vmlinuz-$kernel_version" kernel_path="/boot/vmlinuz-$kernel_version"
modules_vmlinuz="/usr/lib/modules/$kernel_version/vmlinuz" modules_vmlinuz="/usr/lib/modules/$kernel_version/vmlinuz"
if [ ! -f "$kernel_path" ]; then if [ ! -f "$kernel_path" ]; then
if [ -f "$modules_vmlinuz" ]; then if [ -f "$modules_vmlinuz" ]; then
echo "Copying kernel image to /boot..." echo "Копирование образа ядра в /boot..."
cp "$modules_vmlinuz" "$kernel_path" cp "$modules_vmlinuz" "$kernel_path"
chmod 755 "$kernel_path" chmod 755 "$kernel_path"
else else
echo "Error: Kernel image not found in /boot or modules directory" echo "Ошибка: Образ ядра не найден в /boot или директории модулей"
exit 1 exit 1
fi fi
fi fi
if command -v dracut >/dev/null 2>&1; then if command -v dracut >/dev/null 2>&1; then
initramfs_img="/boot/initramfs-$kernel_version.img" initramfs_img="/boot/initramfs-$kernel_version.img"
echo "Creating initramfs for $kernel_version using dracut..." echo "Создание initramfs для $kernel_version с помощью dracut..."
dracut --force --kmoddir "/usr/lib/modules/$kernel_version" "$initramfs_img" "$kernel_version" dracut --force --kmoddir "/usr/lib/modules/$kernel_version" "$initramfs_img" "$kernel_version"
echo "Initramfs created: $initramfs_img" echo "Initramfs создан: $initramfs_img"
fi fi
if command -v mkinitcpio >/dev/null 2>&1; then if command -v mkinitcpio >/dev/null 2>&1; then
echo "Creating initramfs for $kernel_version using mkinitcpio..." echo "Создание initramfs для $kernel_version с помощью mkinitcpio..."
mkinitcpio -k "$kernel_version" -g "/boot/initramfs-$kernel_version.img" mkinitcpio -k "$kernel_version" -g "/boot/initramfs-$kernel_version.img"
fi fi
if command -v update-initramfs >/dev/null 2>&1; then if command -v update-initramfs >/dev/null 2>&1; then
echo "Creating initramfs for $kernel_version using update-initramfs..." echo "Создание initramfs для $kernel_version с помощью update-initramfs..."
update-initramfs -c -k "$kernel_version" update-initramfs -c -k "$kernel_version"
fi fi
if command -v mkinitfs >/dev/null 2>&1; then if command -v mkinitfs >/dev/null 2>&1; then
echo "Creating initramfs for $kernel_version using mkinitfs..." echo "Создание initramfs для $kernel_version с помощью mkinitfs..."
mkinitfs -o "/boot/initramfs-$kernel_version" "$kernel_version" mkinitfs -o "/boot/initramfs-$kernel_version" "$kernel_version"
fi fi
echo "Updating bootloader configuration..." echo "Обновление конфигурации загрузчика..."
if command -v grubby >/dev/null 2>&1; then if command -v grubby >/dev/null 2>&1; then
echo "Adding kernel to bootloader using grubby..." echo "Добавление ядра в загрузчик с помощью grubby..."
initrd_path="/boot/initramfs-$kernel_version.img" initrd_path="/boot/initramfs-$kernel_version.img"
if grubby --info="$kernel_path" >/dev/null 2>&1; then if grubby --info="$kernel_path" >/dev/null 2>&1; then
echo "Kernel already registered in bootloader" echo "Ядро уже зарегистрировано в загрузчике"
else else
grubby --add-kernel="$kernel_path" \ grubby --add-kernel="$kernel_path" \
--initrd="$initrd_path" \ --initrd="$initrd_path" \
--title="Red OS Linux ($kernel_version) - Xanmod" \ --title="Red OS Linux ($kernel_version) - Xanmod" \
--copy-default --copy-default
echo "Kernel added to bootloader" echo "Ядро добавлено в загрузчик"
fi fi
elif command -v update-grub >/dev/null 2>&1; then elif command -v update-grub >/dev/null 2>&1; then
echo "Updating GRUB configuration..." echo "Обновление конфигурации GRUB..."
update-grub update-grub
elif command -v grub2-mkconfig >/dev/null 2>&1; then elif command -v grub2-mkconfig >/dev/null 2>&1; then
echo "Updating GRUB2 configuration..." echo "Обновление конфигурации GRUB2..."
grub2-mkconfig -o /boot/grub2/grub.cfg grub2-mkconfig -o /boot/grub2/grub.cfg
elif command -v grub-mkconfig >/dev/null 2>&1; then elif command -v grub-mkconfig >/dev/null 2>&1; then
echo "Updating GRUB configuration..." echo "Обновление конфигурации GRUB..."
grub-mkconfig -o /boot/grub/grub.cfg grub-mkconfig -o /boot/grub/grub.cfg
else else
echo "Warning: No bootloader configuration tool found. Please update your bootloader manually." echo "Предупреждение: Инструмент настройки загрузчика не найден. Обновите загрузчик вручную."
fi fi
echo "" echo ""
echo "==========================================" echo "=========================================="
echo "Kernel $kernel_version installed successfully!" echo "Ядро $kernel_version успешно установлено!"
echo "" echo ""
echo "To boot into this kernel:" echo "Для загрузки с этого ядра:"
echo "1. Reboot your system" echo "1. Перезагрузите систему"
echo "2. Select 'linux-xanmod' from the GRUB menu" echo "2. Выберите 'linux-xanmod' в меню GRUB"
echo "==========================================" echo "=========================================="

View File

@@ -1,60 +1,65 @@
#!/bin/bash #!/bin/bash
if [ "${1:-0}" -ge 1 ]; then
echo "Обнаружено обновление пакета, пропуск очистки"
exit 0
fi
kernel_versions=$(ls /boot/vmlinuz-*-xanmod* 2>/dev/null | sed 's|/boot/vmlinuz-||' || true) kernel_versions=$(ls /boot/vmlinuz-*-xanmod* 2>/dev/null | sed 's|/boot/vmlinuz-||' || true)
if [ -z "$kernel_versions" ]; then if [ -z "$kernel_versions" ]; then
echo "No xanmod kernels found in /boot, cleanup may be incomplete" echo "Ядра xanmod не найдены в /boot, очистка может быть неполной"
exit 0 exit 0
fi fi
for kernel_version in $kernel_versions; do for kernel_version in $kernel_versions; do
echo "Cleaning up kernel $kernel_version..." echo "Очистка ядра $kernel_version..."
kernel_path="/boot/vmlinuz-$kernel_version" kernel_path="/boot/vmlinuz-$kernel_version"
if command -v grubby >/dev/null 2>&1; then if command -v grubby >/dev/null 2>&1; then
if grubby --info="$kernel_path" >/dev/null 2>&1; then if grubby --info="$kernel_path" >/dev/null 2>&1; then
echo "Removing kernel entry using grubby..." echo "Удаление записи ядра из загрузчика..."
grubby --remove-kernel="$kernel_path" || true grubby --remove-kernel="$kernel_path" || true
echo "Kernel removed from bootloader" echo "Ядро удалено из загрузчика"
fi fi
fi fi
initramfs_img="/boot/initramfs-$kernel_version.img" initramfs_img="/boot/initramfs-$kernel_version.img"
if [ -f "$initramfs_img" ]; then if [ -f "$initramfs_img" ]; then
echo "Removing initramfs: $initramfs_img" echo "Удаление initramfs: $initramfs_img"
rm -f "$initramfs_img" rm -f "$initramfs_img"
fi fi
if [ -f "$kernel_path" ]; then if [ -f "$kernel_path" ]; then
echo "Removing kernel image: $kernel_path" echo "Удаление образа ядра: $kernel_path"
rm -f "$kernel_path" rm -f "$kernel_path"
fi fi
if [ -f "/boot/System.map-$kernel_version" ]; then if [ -f "/boot/System.map-$kernel_version" ]; then
echo "Removing System.map: /boot/System.map-$kernel_version" echo "Удаление System.map: /boot/System.map-$kernel_version"
rm -f "/boot/System.map-$kernel_version" rm -f "/boot/System.map-$kernel_version"
fi fi
if [ -d "/usr/lib/modules/$kernel_version" ]; then if [ -d "/usr/lib/modules/$kernel_version" ]; then
echo "Removing modules: /usr/lib/modules/$kernel_version" echo "Удаление модулей: /usr/lib/modules/$kernel_version"
rm -rf "/usr/lib/modules/$kernel_version" rm -rf "/usr/lib/modules/$kernel_version"
fi fi
echo "Kernel $kernel_version has been removed." echo "Ядро $kernel_version удалено."
done done
if command -v update-grub >/dev/null 2>&1; then if command -v update-grub >/dev/null 2>&1; then
echo "Updating GRUB configuration..." echo "Обновление конфигурации GRUB..."
update-grub update-grub
elif command -v grub2-mkconfig >/dev/null 2>&1 && ! command -v grubby >/dev/null 2>&1; then elif command -v grub2-mkconfig >/dev/null 2>&1 && ! command -v grubby >/dev/null 2>&1; then
echo "Updating GRUB2 configuration..." echo "Обновление конфигурации GRUB2..."
grub2-mkconfig -o /boot/grub2/grub.cfg grub2-mkconfig -o /boot/grub2/grub.cfg
elif command -v grub-mkconfig >/dev/null 2>&1 && ! command -v grubby >/dev/null 2>&1; then elif command -v grub-mkconfig >/dev/null 2>&1 && ! command -v grubby >/dev/null 2>&1; then
echo "Updating GRUB configuration..." echo "Обновление конфигурации GRUB..."
grub-mkconfig -o /boot/grub/grub.cfg grub-mkconfig -o /boot/grub/grub.cfg
fi fi
echo "" echo ""
echo "All xanmod kernels have been removed." echo "Все ядра xanmod удалены."
echo "Please ensure you have another kernel installed before rebooting." echo "Убедитесь, что у вас установлено другое ядро перед перезагрузкой."