ROSAForum
Forum about ROSA Linux Distros
Правильное обновление\установка нового ядра.
Правильное обновление\установка нового ядра.
Сообщение DrXank » 07 янв 2016, 12:32
Всем привет и С Рождеством.
Ребята опишите пожалуйста как правильно обновить/установить новое ядро.
Критерии:
1 Какие пакеты устанавливать, как правильно установить (urpmi или через оконное приложение)?
2 Как настроить, получение обновления для каждого отдельного ядра(если это правильно).
3 Какие пакеты следует удалять, после обновления/установки/удаления ядра.
4 Как будет правильно ставить обновления для системы (через urpmi или Rpmdrake).
Просто в репозитории там множество пакетов, и какой, за, что отвечает я не знаю.
Re: Правильное обновление\установка нового ядра.
Сообщение keleg » 07 янв 2016, 12:43
Re: Правильное обновление\установка нового ядра.
Сообщение DrXank » 07 янв 2016, 13:01
Re: Правильное обновление\установка нового ядра.
Re: Правильное обновление\установка нового ядра.
Сообщение DrXank » 07 янв 2016, 14:03
Re: Правильное обновление\установка нового ядра.
Сообщение euspectre » 07 янв 2016, 14:28
1. Для начала стоит решить, какой вариант ядра нужен, nrj-desktop или nrj-laptop. Они во многом похожи, но в nrj-laptop сделаны кое-какие настройки, чтобы энергопотребление было пониже. Впрочем, эффект от этого сильно зависит от железа.
Если система 32-битная, стоит попробовать PAE-вариант ядра. (nrj-desktop-pae или nrj-laptop-pae, соответственно).
Допустим, остановились на варианте nrj-desktop. С остальными всё аналогично.
Устанавливать можно как из командной строки, так и из GUI (rpmdrake). Я сам rpmdrake пользуюсь редко, так что опишу, как всё сделать в ком. строке.
2. Если установлены пакеты kernel-nrj-desktop-latest и kernel-nrj-desktop-devel-latest, их полезно удалить. Они тянут по зависимостям самую новую версию ядра из доступных, а это не всегда то, что хочется.
3. Если используются проприетарные драйверы (nvidiaXXX, fglrx, broadcom-wl) или драйверы из Contrib’а (rtl8812au, например), они могут не работать с новым ядром. А могут и работать.
Как минимум, с новым ядром лучше использовать свободные графические драйверы (radeon, nouveau). Особенно это важно для систем с графикой AMD. C NVidia обычно проблем меньше, но всё равно.
4. Если я правильно понимаю, репозитории с ядром 4.3 у вас уже подключены. Тогда для установки самой новой версии этого ядра достаточно выполнить такую команду:
Ядро 4.3.x будет установлено и в дальнейшем будут приходить его обновления.
cpupower (механизм управления частотой процессора) тоже будет при это обновлён — пусть работает тот его вариант, который соотв. устанавливаемому ядру. Это не всегда обязательно, но так проще.
5. Предыдущие версии ядра не удаляются при установке новых. Лучше какое-то время их и не удалять, посмотрите, как система будет работать с новым ядром. Мало ли.
6. Перезагрузите систему и выберите при загрузке новое ядро, как обычно.
Установка неофициальных версий ядра
Помимо официально поддерживаемых версий ядра, в ROSA R9 (и новее) можно установить и другие его версии.
Это бывает полезно, например, если нужна поддержка более нового (или наоборот, более старого) оборудования, а также — для отладки, экспериментов и т.д.
Различные стабильные версии ядра доступны здесь: для 64-битных систем, для 32-битных систем.
Примечание 1. Для установки этих вариантов ядра необходимо подключение к сети. Во время установки не следует выключать питание компьютера.
Примечание 2. Проприетарные драйверы (например, nvidiaXYZ, broadcom-wl) могут не работать с версиями ядра, отличными от официально поддерживаемых.
Для установки, скажем, наиболее свежего ядра версии 4.18.0-x, достаточно выполнить следующие команды.
Затем нужно перезагрузить компьютер и выбрать при загрузке новое ядро.
Чтобы загрузить систему со старым ядром, нужно выбрать его в меню загрузки при включении компьютера.
Собираем ядро Linux
Самым основным компонентом операционной системы Linux есть ядро. Именно ядро выступает промежуточным звеном между пользовательскими программами и оборудованием компьютера. Во всех бинарных дистрибутивах нам не нужно заботиться о сборке и настройке ядра, все уже сделали за нас разработчики дистрибутива. Но если мы хотим собрать свой дистрибутив сами или установить самую свежую версию ядра, нам придется собирать ядро вручную.
Первый вариант раньше был актуален для тех кто хотел получить максимальную производительность от своего оборудования, но сейчас, учитывая стремительное увеличение мощности компьютеров увеличение производительности при сборке ядра совсем незаметно. Сейчас сборка ядра может понадобиться пользователям не бинарных дистрибутивов, таких как Gentoo, тем, кто хочет внести некоторые изменения в ядро, получить новую самую свежую версию ядра и, конечно, же тем, кто хочет полностью разобраться в работе своей системы.
В этой инструкции мы рассмотрим как собрать ядро Linux. Первая часть расскажет как настроить ядро в автоматическом режиме. Так сказать, для тех кто не хочет разбираться как оно работает, кому нужно лишь получить на выходе готовый продукт — собранное ядро. Во второй части мы рассмотрим основные этапы ручной настройки ядра, это процесс сложный, и небыстрый, но я попытаюсь дать основу, чтобы вы могли со всем разобраться сами.
Получение исходников ядра
Самое первое что нужно сделать — это скачать исходники ядра. Исходники лучшие брать с сайта вашего дистрибутива, если они там есть или официального сайта ядра: kernel.org. Мы рассмотрим загрузку исходников с kernel.org.
Перед тем как скачивать исходники нам нужно определиться с версией ядра которую будем собирать. Есть две основных версии релизов — стабильные (stable) и кандидаты в релизы (rc), есть, конечно, еще стабильные с длительным периодом поддержки (longterm) но важно сейчас разобраться с первыми двумя. Стабильные это, как правило, не самые новые, но зато уже хорошо протестированные ядра с минимальным количеством багов. Тестовые — наоборот, самые новые, но могут содержать различные ошибки.
Итак когда определились с версией заходим на kernel.org и скачиваем нужные исходники в формате tar.xz:
В этой статье будет использована самая новая на данный момент нестабильная версия 4.4.rc7.
Получить исходники ядра Linux можно также с помощью утилиты git. Сначала создадим папку для исходников:
Для загрузки самой последней версии наберите:
git clone https://github.com/torvalds/linux
Распаковка исходников ядра
Теперь у нас есть сохраненные исходники. Переходим в папку с исходниками:
Или если загружали ядро linux с помощью браузера, то сначала создадим эту папку и скопируем в нее архив:
Распаковываем архив с помощью утилиты tar:
И переходим в папку с распакованным ядром, у меня это:
Автоматическая настройка сборки ядра Linux
Перед тем как начнется сборка ядра linux, нам придется его настроить. Как я и говорил, сначала рассмотрим автоматический вариант настройки сборки ядра. В вашей системе уже есть собранное, настроенное производителем дистрибутива, и полностью рабочее ядро. Если вы не хотите разбираться с тонкостями конфигурации ядра, можно просто извлечь уже готовые настройки старого ядра и сгенерировать на их основе настройки для нового. Нам придется лишь указать значения для новых параметров. Учитывая, что в последних версиях не было и не намечается серьезных изменений можно отвечать на все эти параметры как предлагает скрипт настройки.
Параметры используемого ядра хранятся в архиве по адресу /proc/config.gz. Распакуем конфиг и поместим его в нашу папку утилитой zcat:
zcat /proc/config.gz > .config
А дальше запускаем скрипт адаптации настроек:
В процессе его работы нужно будет ответить на несколько вопросов. Это новые параметры, которые изменились или были добавлены в новое ядро и поддержка нового оборудования, в большинстве случаев можно выбирать вариант по умолчанию. Обычно есть три варианта y — включить, n — не включать, m — включить в качестве модуля. Рекомендованный вариант написан с большой буквы, для его выбора просто нажмите Enter.
На все про-все у вас уйдет около 10-ти минут. После завершения процесса, ядро готово к сборке. Дальше мы рассмотрим настройку ядра вручную, а вы можете сразу перелистать к сборке ядра Linux.
Ручная настройка ядра Linux
Ручная настройка — сложный и трудоемкий процесс, но зато она позволяет понять как работает ваша система, какие функции используются и создать ядро с минимально нужным набором функций под свои потребности. Мы рассмотрим только главные шаги, которые нужно выполнить чтобы ядро собралось и заработало. Со всем остальным вам придется разбираться самому опираясь на документацию ядра. Благо в утилите настройки для каждого параметра есть обширная документация которая поможет вам понять какие еще настройки нужно включить.
Начнем. Для запуска меню настроек ядра linux наберите:
Откроется вот утилита с интерфейсом ncurses:
Как видите, некоторые обязательные опции уже включены, чтобы облегчить вам процесс настройки. Начнем с самых основных настроек. Чтобы включить параметр нажмите y, чтобы включить модулем — m, для перемещения используйте клавиши стрелок и Enter, возвратиться на уровень вверх можно кнопкой Exit Откройте пункт General Setup.
Здесь устанавливаем такие параметры:
Local Version — локальная версия ядра, будет увеличиваться при каждой сборке на единицу, чтобы новые ядра при установке не заменяли собой старые, устанавливаем значение 1.
Automatically append version information to the version string — добавлять версию в название файла ядра.
Kernel Compression Mode — режим сжатия образа ядра, самый эффективный lzma.
Default Hostname — имя компьютера, отображаемое в приглашении ввода
POSIX Message Queues — поддержка очередей POSTIX
Support for paging of anonymous memory — включаем поддержку swap
Control Group support — поддержка механизма распределения ресурсов между группами процессов
Kernel .config support и Enable access to .config through /proc/config.gz— включаем возможность извлечь конфигурацию ядра через /proc/config.gz
Здесь все, возвращаемся на уровень вверх и включаем Enable loadable module support, эта функция разрешает загрузку внешних модулей, дальше открываем его меню и включаем:
Module unloading — поддержка отключения модулей
Forced module unloading — принудительное отключение модулей
Опять возвращаемся назад и открываем Processor type and features:
Processor family (Opteron/Athlon64/Hammer/K8) — выбираем свой тип процессора.
Опять возвращаемся и переходим в раздел File systems, тут установите все нужные галочки.
Обязательно включите The Extended 3 (ext3) filesystem и The Extended 4 (ext4) filesystem — для поддержки стандартных ext3 и ext4 файловых систем
Возвращаемся и идем в Kernel hacking.
Здесь включаем Magic SysRq key — поддержка магических функций SysRq, вещь не первой необходимости, но временами полезная.
Остался еще один пункт, самый сложный, потому что вам его придется пройти самому. Device Drivers — нужно пройтись по разделам и повключать драйвера для своего оборудования. Под оборудованием я подразумеваю нестандартные жесткие диски, мышки, USB устройства, веб-камеры, Bluetooth, WIFI адаптеры, принтеры и т д.
Посмотреть какое оборудование подключено к вашей системе можно командой:
После выполнения всех действий ядро готово к сборке, но вам, скорее всего, предстоит разобраться с очень многим.
Чтобы сохранить настройки переместите указатель с помощью стрелок вправо-влево, з позиции Select в позицию Save и нажмите Enter, потом еще раз подтвердите сохранение:
Чтобы выйти нажмите пару раз кнопку Exit.
Сборка ядра Linux
После завершения всех приготовлений может быть выполнена сборка ядра linux. Для начала процесса сборки выполните:
make && make modules
Теперь можете идти пить кофе или гулять, потому что процесс сборки длинный и займет около получаса.
Установка нового ядра
Когда ядро и модули будут собраны новое ядро можно устанавливать. Можно вручную скопировать файл ядра в папку загрузчика:
cp arch/x86_64/boot/bzImage /boot/vmlinuz
А можно просто выполнить установочный скрипт, сразу установив заодно и модули:
sudo make install && sudo make modules_install
После установки не забудьте обновить конфигурацию загрузчика Grub:
grub-mkconfig -o /boot/grub/grub.cfg
И перезагружаем компьютер чтобы увидеть новое ядро в работе:
Выводы
Вот и все. В этой статье мы подробно рассмотрели как собрать ядро Linux из исходников. Это будет полезно всем желающим лучшие понять свою систему, и тем, кто хочет получить самую новую версию ядра в своей системе. Если остались вопросы, задавайте комментарии!