Как правильно перекомпилировать ядро?
Hmury 24 июня, 2010 - 21:45
Задача - перекомпилировать текущее ядро с новыми параметрами.
Делаю примерно вот так:
# cp -R /usr/src/linux-2.6.32-gentoo-r7/ /usr/src/linux-2.6.32-gentoo-r7-2/ # eselect kernel set 2 # cd /usr/src/linux/ # make menuconfig # make && make modules_install # module-rebuild populate # module-rebuild rebuild # make install # cp /usr/src/linux/arch/x86_64/bzImage /boot/bzImage
(соответственно grub грузится как раз из этого bzImage)
Перезагружаюсь, а все без изменений - включенные функции (все это делается для установки KVM) отсутствуют...
Опыта большого в этих делах нет, делаю все по мануалу. Но видимо что-то не так...
»
- Для комментирования войдите или зарегистрируйтесь
В каком это мануале написано
В каком это мануале написано "размножать" исходники ядра?
Где то рядом есть тема типа кто как обновляет ядро,почитайте.На вики есть хау-ту.
http://ru.gentoo-wiki.com/wiki/Компиляция_ядра_Linux
Вот ещё интересная ссылка
Думаю вы найдёте ответ на ваш вопрос.
"Перекомпилировать с новыми
"Перекомпилировать с новыми параметрами" aka модулями, железом, etc. Исходники копировать ни к чему, делаем make menuconfig, собираем новое ядро, затем
в grub.conf соответственно прописываются разные ядра, названия и т.д. Перед сборкой нового ядра выполняем
make mrproper
make clean
буду честен, я не знаю, почему у меня все работает
Да,только менять EXTRAVERSION
Да,только менять EXTRAVERSION в Makefile или устанавливать LOCALVERSION через make menuconfig.
Чтобы не затереть модули старого ядра.
Ну если не брать в расчет
Ну если не брать в расчет копирование исходников (что в контексте вышесказанного мало что меняет) - то я ведь практически то же самое и делаю. Отличие только в том, что заменяю текущее ядро, а не оставляю несколько разных.
Более того, сейчас вспоминаю, что сразу после установки тоже чуть перемудрил с параметрами ядра, тогда наоборот - включил KVM, и VMWare не хотела ставиться, выдавала сообщение, что для ее работы необходимо пересобрать ядро без KVM, что и было сделано в точном соответствии с раскладкой из первого поста. И после этого VMWare замечательно установилась, т.е. ядро действительно было с новыми параметрами.
Сейчас же не пойму в чем дело...
Может все и собралось, как надо, а дело в чем-то другом? Тогда еще дополнительно спрошу (гуглы ответа также не дают :) ) - как посмотреть включен или выключен какой-либо конкретный параметр в текущем (уже скомпилированном и установленном) ядре?
valet2valet написал(а): В
Да в том-то и дело, что одна за другой эти ссылки объясняют, как АПГРЕЙДИТЬ ядро, а не обновлять текущее. И собственно, по аналогии (поскольку при обновлении новые исходники копируются в новую папку) я просто создал новую папку из той же версии.
А дальше все также как пишут.
Вкратце так: У вас ядро
Вкратце так:
У вас ядро допустим 2.6.32-gentoo-r7,вы хотите что то изменить.
cd /usr/src/linux make mrproper(удалит файлы от предыдущих сборок,в том числе и .config!!) zcat /proc/config.gz > .config make prepare make oldconfig make menuconfig(меняете что вам надо,не забываете изменить LOCALVERSION в General setup ,ну допустим ставите -my1) make && make modules_install cp arch/i386/boot/bzImage /boot/kernel-2.6.32-gentoo-r7-my1 module-rebuild populate && module-rebuild rebuild
Прописуете новое ядро в /boot/grub/grub.conf
Теперь понятно?
valet2valet
Спасибо, попробую... Хотя принципиальных отличий кроме make mrproper и make prepare, с тем, что у меня, все равно не вижу... Но может как раз в этом дело..
К тому же сегодня как раз вроде 2.6.33-gentoo-r2 появился - еще повод поэкспериментировать... )
Осиль genkernel. $ sudo
Осиль genkernel.
cheerfulboy написал(а):Осиль
Спасибо, я тут уже autounmask осилил как-то вначале освоения... Потом недели две в последствиях разбирался... :)
Не доверяю всяким "авто"-утилитам, когда можно то же самое сделать руками.
Тем более, что в результате все пересобралось нормально, там проблема, похоже в процедуре установки самой KVM, которую я где-то не так делаю, а не в ядре. Но это уже другую тему надо открывать
Genkernel не делает ничего,
Genkernel не делает ничего, кроме того, что ты ему сказал, конечно те же команды можно выполнить вручную, но зачем? особенно новичку - это только повышает шанс возникновения проблем.
ps я не агитирую всех перейти на genkernel, я протестую против деления на сборку "ручками" и genkernel
Насчет autounmask - согласен, я лучше сам размаскирую 3-4 пакета, чем буду разбираться в том, что сотворил и почему.
Эта самая автоутилита не
Эта самая автоутилита не делает ничего такого, за чем ты не смог бы проследить. Но жизнь упрощает во много раз. Вообще не понимаю, с чего народ берет, что genkernel для новичков, и что оно какая-то волшебная тузла, собирающая ядро. Просто она хранит конфиги ядра в одном месте, делает make install и еще и создает initramfs.