Gentoo kernel upgrade: различия между версиями
ALEX (обсуждение | вклад) |
ALEX (обсуждение | вклад) |
||
Строка 1: | Строка 1: | ||
== | ==Общие слова о обновлении ядра в Gentoo Linux== | ||
Сидел я долгое время на ядре версии 2.4. Потом обновил железо и решил поставить новую систему с новым ядром - 2.6 на 64 bit. Всё было отлично, но прошёл год, мне к тому времени понадобилось внести некоторые изменения в ядро и пересобрать его. Думал как всегда вызвать '''genkernel''' и '''menuconfig''' и не трудиться особенно, но потом решил проверить, а может вышли новые версии ядра. И действительно - за год версия немного изменилась. Ну что же, раз пересобирать ядро и править '''.config''', то тогда сразу на новое из портажей. С предисловием закончил приступим к делу =). | Сидел я долгое время на ядре версии 2.4. Потом обновил железо и решил поставить новую систему с новым ядром - 2.6 на 64 bit. Всё было отлично, но прошёл год, мне к тому времени понадобилось внести некоторые изменения в ядро и пересобрать его. Думал как всегда вызвать '''genkernel''' и '''menuconfig''' и не трудиться особенно, но потом решил проверить, а может вышли новые версии ядра. И действительно - за год версия немного изменилась. Ну что же, раз пересобирать ядро и править '''.config''', то тогда сразу на новое из портажей. С предисловием закончил приступим к делу =). | ||
==Подготовка к обновлению ядра== | ==Подготовка к обновлению ядра Gentoo== | ||
Для начала обновим портажи | Для начала обновим портажи | ||
{{root|emerge --sync}} | {{root|emerge --sync}} | ||
Строка 33: | Строка 33: | ||
Если всё в порядке, то мы должны увидеть в папке подпапку с исходниками нового ядра Gentoo. Теперь переходим к настройке системы, самого ядра и его компиляции (сборки ядра Gentoo). | Если всё в порядке, то мы должны увидеть в папке подпапку с исходниками нового ядра Gentoo. Теперь переходим к настройке системы, самого ядра и его компиляции (сборки ядра Gentoo). | ||
==Настройка системы | ==Настройка системы и конфигурирование исходников ядра== | ||
Если вы не сохранили свой конфиг ядра при его первоначальной сборке, то самое время сделать это сейчас. Настраивать ядро с нуля (особенно если последний раз вы этим занимались не вчера и даже не полгода назад) не очень простая задача и достаточно трудоёмка. Есть смысл иметь конфиг, где потом просмотреть только необходимые места. | Если вы не сохранили свой конфиг ядра при его первоначальной сборке, то самое время сделать это сейчас. Настраивать ядро с нуля (особенно если последний раз вы этим занимались не вчера и даже не полгода назад) не очень простая задача и достаточно трудоёмка. Есть смысл иметь конфиг, где потом просмотреть только необходимые места. | ||
Строка 57: | Строка 57: | ||
==Компиляция нового ядра из исходников== | ==Компиляция нового ядра из исходников== | ||
Для | Для сборки нового ядра из исходников запускаем любимый мною genkernel | ||
{{root| genkernel --menuconfig all}} | {{root| genkernel --menuconfig all}} | ||
Строка 75: | Строка 75: | ||
Всё теперь находясь в главном меню menuconfig'а нажимаем два раза '''esc''' и наше ядро начинает компилироваться! | Всё теперь находясь в главном меню menuconfig'а нажимаем два раза '''esc''' и наше ядро начинает компилироваться! | ||
Когда все эти операции позади - мы получаем новое ядро. Теперь надо подмонтировать /boot и прописать в GRUB загрузку этого ядра. Но это уже совсем другая статья дожна быть =). | Когда все эти операции позади - мы получаем новое ядро. Теперь надо подмонтировать {{path|/boot}} и прописать в '''GRUB''' загрузку этого ядра. Но это уже совсем другая статья дожна быть =). | ||
Далее мы можем пересобрать все внешние модули, которые мы не встроили в ядро, а выбрали букву M вместо *. | Далее мы можем пересобрать все внешние модули, которые мы не встроили в ядро, а выбрали букву M вместо *. |
Версия 16:47, 30 января 2010
Общие слова о обновлении ядра в Gentoo Linux
Сидел я долгое время на ядре версии 2.4. Потом обновил железо и решил поставить новую систему с новым ядром - 2.6 на 64 bit. Всё было отлично, но прошёл год, мне к тому времени понадобилось внести некоторые изменения в ядро и пересобрать его. Думал как всегда вызвать genkernel и menuconfig и не трудиться особенно, но потом решил проверить, а может вышли новые версии ядра. И действительно - за год версия немного изменилась. Ну что же, раз пересобирать ядро и править .config, то тогда сразу на новое из портажей. С предисловием закончил приступим к делу =).
Подготовка к обновлению ядра Gentoo
Для начала обновим портажи
Я привык уже пользоваться sys-kernel/genkernel, так что обновляем и это приложение.
Теперь обновим пакеты app-admin/eselect и sys-kernel/module-rebuild (или если их нет то поставим с нуля)
С подготовкой закончили. Теперь самое время приступать к обновлению.
Установка исходников (source) ядра
Для начала давайте посмотрим, а что за систему мы имеем в данный момент:
Теперь проверим, а что есть нового в портажах к данному моменту.
Мы получим на экране что-то типа
Calculating dependencies... done! [ebuild NS ] sys-kernel/gentoo-sources....
где NS будет означать, что исходники ядра будут установлены рядом со старым в новый слот. В общем ставим их, а точнее качаем с нета, стандартно выполнив:
Можем теперь посмотреть на них
Если всё в порядке, то мы должны увидеть в папке подпапку с исходниками нового ядра Gentoo. Теперь переходим к настройке системы, самого ядра и его компиляции (сборки ядра Gentoo).
Настройка системы и конфигурирование исходников ядра
Если вы не сохранили свой конфиг ядра при его первоначальной сборке, то самое время сделать это сейчас. Настраивать ядро с нуля (особенно если последний раз вы этим занимались не вчера и даже не полгода назад) не очень простая задача и достаточно трудоёмка. Есть смысл иметь конфиг, где потом просмотреть только необходимые места.
В общем сохраняем конфиг старого ядра:
При просмотре исхдников в предыдущем пункте вы наверняка обратили внимание на файл linux, который явдяется simlink'ом, и указывает на текущую версию ядра. Для того, чтобы "нацелить" его на свежие исходники, выполняем следующие действия. Сперва есть смысл посмотреть список всех текущих доступных версий ядра.
Будет выведено что-то типа:
Available kernel symlink targets: [1] linux-2.6.25-gentoo-r6 [2] linux-2.6.27-gentoo-r8 [3] linux-2.6.31-gentoo-r6 *
Нацеливаем файл linux на свежие исходники командой
Всё теперь смело можем приступать к сборке нового ядра!
Компиляция нового ядра из исходников
Для сборки нового ядра из исходников запускаем любимый мною genkernel
Внутри интерфейса консольной программы, написанного с использованием ncurses, находим пункт меню
Load an Alternate Configuration File
Что позволяет нам загрузить наш конфигурационный файл. Соответственно нам просто надо указать путь, куда мы забэкапили старый конфиг (например /root/.config_backup.
Всё файл загружен и мы имеем уже наше старое настроенное ядрышко. При этом в связи с изменением ядра на более новое, все новшества и новые опции и фичи будут отмечены ключевыми словами NEW. Настраиваем как нам угодно наше ядро, меняем то что хотели в нём и, и компилируем его? - Нет сперва надо сохранить наш конфигурационный файл с правками в папку, где genkernel будет его искать, то есть по адресу /usr/src/linux/.config. Но т.к. мы находимся в menuconfig, то нам надо выполнить лишь действия сохранения из главного меню:
Save an Alternate Configuration File
Где в качестве полного имени файла указываем .config, что и сохранит его сразу в нужную папку (/usr/src/linux/).
Всё теперь находясь в главном меню menuconfig'а нажимаем два раза esc и наше ядро начинает компилироваться!
Когда все эти операции позади - мы получаем новое ядро. Теперь надо подмонтировать /boot и прописать в GRUB загрузку этого ядра. Но это уже совсем другая статья дожна быть =).
Далее мы можем пересобрать все внешние модули, которые мы не встроили в ядро, а выбрали букву M вместо *.
Ссылки
- Блог человека, который мне помог и стал основой данного хелпа
- BackUP блога, который выше (на всякий пожарный).
- Gentoo Linux Kernel Upgrade Guide