Пересборка ядра
dots 17 декабря, 2016 - 20:18
Доброго времени суток.
До вчерашнего дня никогда не доводилось иметь дело как с source-based дистрибутивами, так и со сборкой чего-либо из исходников вообще.
Поставил Gentoo по русскому хэндбуку и по ходу установки возникла пара вопросов:
1) При конфигурировании ядра menuconfig-ом, пункт меню (например, драйвер) не отмечается как модуль, т.е., при нажатии клавиши "m" напротив пункта ничего не меняется (если стояла звездочка, то она там и остается). С раскладкой клавиатуры все хорошо, да и сама кнопка работает. Что я делаю не так?
2) Как после сборки и установки ядра правильно пересобрать его еще раз, если нужно что-то перенастроить? (Где можно про это почитать?)
»
- Для комментирования войдите или зарегистрируйтесь
Для начала научись
Для начала научись пользоваться поиском и поищи здесь на форуме - эта тема уже порядочно затаскана...
Потом поищи в Инете: для общего развития первая же ссылка подойдет.
P.S. Настоятельно рекомендую пользоваться оригинальной (английской) версией хендбука, т.к. русская обычно существенно запаздывает с обновлениями и может порой дезориентировать (особенно когда новые плюшки появляются). Также полезно почитать тут и тут.
P.P.S. По поводу твоих вопросов:
1. Если не показывает и не дает установить как модуль, значит зависимости не позволяют, это нормально. Бывает и наоборот - можно только модулем.
2. Пересборка ничем не отличается от просто сборки: меняешь параметры и компилируешь как обычно. Только, если копируешь конфигурацию откуда-либо, не забывай
make oldconfig
и НИКОГДА не редактируй конфиг ядра редактором вручную! :)Большое спасибо. Обязательно
Большое спасибо. Обязательно почитаю. Просто я немного запутался: пересборка создаст второе ядро из старых исходников, правильно? Старое ядро никуда не денется, полагаю, надо сделать update grub и при следующем запуске системы нужно будет выбрать, какое из двух загружать.
c базовым уровнем знаний
c базовым уровнем знаний нужно делать emerge -C grub. и переходить на более простое и понятное – uefi загрузку или если его нет, lilo.
Я бы как раз не рекомендовал
Я бы как раз не рекомендовал
lilo
начинающим, т.к. он более чувствителен к ошибкам и с ним возни больше.И что
uefi
проще тоже не соглашусь....
Практика показывает, что в общем случае с грубом необходимы те же действия.
Только их необходимость не прописана явно и далеко не очевидна.
:wq
--
Live free or die
возни больше? OMG… в грубе
возни больше? OMG… в грубе 100500 переменных, файлов и прочая. и генерируемый конфиг глазами на ошибки не проверишь. для случая «имею_пару_ядер» лило более наглядно и ремонтопригодно.
uefi – проще некуда. при наличии лени достаточно одной команды efibootmgr а при наличии еще большей лени – один раз настроить refind а потом просто копировать bzImage.
Только вот я один раз
Только вот я один раз настроил /etc/default/grub и новые настройки генерирую grub-mkconfig, а в uefi у моей материнки проблема: при записи больше 8 раз её нужно сбросить, иначе ничего не запишется... Так что всё зависит от конкретной ситуации.
я – одмин более одного
я – одмин более одного [локал]хоста и могу ответственно заявить, что да, один раз настроить (что требует некоторого курения, поскольку далеко не навскидку ясно, как получать нужную строку параметров ядра exactly) и потом новые ядра подкидывать – не проблема. а вот сменить диск/раздел, переустановить из под чрута – тут не всегда, но регулярно начинаются проблемы на пустом месте. в лило проще – там можно все явно написать.
>>при записи больше 8 раз
а зайчем столько писать? как я говорил, что-то вроде refind решает очень многие проблемы сам, сканируя все вокруг, и очень неплохо.
Хотел бы подчеркнуть, что
Хотел бы подчеркнуть, что речь идет о системе для новичков, поэтому:
1. ГРУБ обычно работает сразу "из коробки" на типовых конфигурациях и начальная установка прописана достаточно доступно во всех руководствах.
2. ЛИЛО позиционно-зависимый и требует переустановки после каждой (!) перекомпиляции ядра.
3. УЕФИ еще не всегда и не везде стабильно работает, и уж точно не заработает "из коробки".
А я вот grub так и не
А я вот grub так и не осилил...
Так десяток лет на lilo и сижу...
emerge Your world
Gentoogle
груб достаточно хорошо
груб достаточно хорошо маскирует основные вопросы загрузки ядра – root= resume=, что приводит к недоумениям при малейших шевелениях. он хорошо подходит для убунты, где ядра (и ненужная инитрама) ставятся автоматически.
кроме того, и грубу НАДО переконфиг делать и лило. я не вижу особого плюса в автоматических действиях, если они не обладают:
– полнотой (я сделал make && make modules_install и что? все само переконфигурировалось?)
– и прозрачностью (в сгенерированном конфиге груба все понятно, особенно новичку, ага. или новичку НЕ_НУЖНО понимать, что и как делает загрузчик?)
куда полезнее (особенно для новичка) один раз понять как загружается ядро и зачем ему всякие параметры.
я как-то делал конфиг для груба, который сам сканирует имеющиеся ядра и кое-какие еще мелочи, но все равно – это лютая костыльщина. с переездом на refind (uefi) все стало в разы проще:
cp arch/x86_64/boot/bzImage /boot/efi/EFI/gentoo/vmlinuz-xxx.efi
и все. не говоря о том, что конфигурирование refind не в пример понятнее, проще и прозрачнее конфигурирования груба, да и всякие воткнутые флэшки и прочие загрузчики шиндовс определяются автоматически.Нет, неправильно.
Нет, неправильно. Если версия/модификатор не поменялись, то перекомпиляция просто перепишет старое.
Но, в зависимости от установщика, при перезаписи бинарников в
/boot/
они (или ссылки) могут переименовываться.И еще раз нет - в
/usr/src/linux/
обновятся те же бинарники, а вот в/boot/
- см. выше.https://wiki.gentoo.org/wiki/
https://wiki.gentoo.org/wiki/Kernel/Rebuild