12/20/2006

Некоторые замечания о сборке ядра Linux: как собрать ядро в Линукс

Если вы столкнулись с необходимостью собрать ядро Linux, наложить патч для ядра Линукс или просто вы уже забыли, как это делается - здесь приводятся рекомендации и ссылки для "быстрого старта".


Зачем собирать ядро Linux?
Если всё работает, цветёт и пахнет - не трогайте ничего! Есть старая поговорка "не сломалось - не чини!", в ней мудрость многих поколений пользователей UNIX, бессонные ночи и море слёз. Ну так зачем же это надо?

Как говорят классики, полезно пересобрать ядро в следующих случаях:
  • чтобы задействовать свойства, которых нет в поставляемых сборках ядра (например, поддержка памяти больше 1Гб, сжатых файловых систем или других интересных возможностей);
  • создания монолитного ядра, без модулей (бывает необходимо при создании специфичных систем, например LiveCD);
  • для установки обновлённого ядра, в котором есть необходимые свойства или поддержка вашего оборудования;
  • чтобы больше узнать о ядрах Linux.
Не бойтесь пересобирать ядро Линукс. Это забавно и полезно. И никакой чёрной магии в этом нет.


Как собрать или пересобрать ядро Линукс?
Вы хорошо подумали, взвесили все "за" и "против" и решились-таки на этот шаг. Это не так сложно, как может показаться, процесс автоматизирован и упрощён до известных пределов. Я поделюсь некоторыми очевидными (для тех, кто уже наступал на грабли) или не очень (кто их удачно обошёл) подводными камнями, подстерегающими вас на этом пути.
Прежде всего, заполучите статью "Ставим ядро 2.6, или Ядерная физика для домохозяйки" (тут - новая версия этой статьи). Не надо оскорбляться таким названием - это исчерпывающая статья по сборке ядра, её автор, Михаил Зарипов, перевёл на русский почти все опции ядра!

Статья построена из расчёта, что человек использует make menuconfig и некоторых параметров вы в ней не найдёте, но основное в ней отражено. Качаем, читаем и следуем приведённым в ней рецептам - это 99% даст положительный результат.

Как узнать Linux версию ядрa?
Для этого в консоли от простого пользователя пишем:
uname -a
в ответ получаем что-то вроде:
Linux dot 2.6.33.1 #1 SMP PREEMPT Fri Mar 26 09:54:11 EST 2010 i686 GNU/Linux
Красным выделена версия ядра - 2.6.33.1 так что теперь можно ориентироваться в том, какая версия ядра на сайте kernel.org для вас более свежая.

Какие бывают ядра Линукс?
Вот здесь об этом здесь много и долго говорилось. Кратко: идём в архив официальной серии ядер, выпускаемых непосредственно Линусом Торвальдсом. Прежде всего, надо разобраться, что такое стабильные и нестабильные ядра (stable и development) и как они нумеруются. Пусть имеется ядро версии a.b.c.d
  • a - это основной номер версии. Меняется он раз в несколько лет, как правило, когда нестабильная серия с очень существенными изменениями становится стабильной.
  • b - это patchlevel. Именно он определяет, является ли данное ядро стабильным или нет. Если он четный - ядро стабильное, если нечетный - нестабильное. Числа a и b в виде a.b называется серией ядер.
  • с - это sublevel. Он определяет номер ядра в серии, отличия не радикальные, но существенные: появились новые драйвера, устранены ошибки, добавлены новые возможности.
  • d - это extraversion устраняются мелкие баги.
Официальные ядра в виде исходных текстов можно скачать с ftp://ftp.kernel.org. Идём туда и видим кучу ядер. Нам какое? Есть несколько соображений:
  • берём то, которое посвежее: и оборудования побольше поддерживается, и старых глюков меньше;
  • лучше всего брать ядро с последним номером в серии, то есть ядро с максимальным номером d: например, 2.6.15.7 (а дальше идут уже 2.6.16);
  • погуглить на тему проблем в ядре a.b.c.d которое вы выбрали - вдруг там что-то нужное вам временно поломали.

Какие могут быть проблемы при сборке ядра?

Проблем при сборке обычно не бывает, только если вы не намудрили с компилятором или недоустановили его. В процессе сборки проблем не так много, они обычно возникают после сборки ядра по следующим причинам:
  • вы не включили в ядро то, что очень нужно, и теперь
  1. система не загружается;
  2. пропала возможность работы с некоторым оборудованием;
  • вы включили в ядро то, что не надо (особенно с надписью EXPERIMENTAL) и теперь
  1. система работает нестабильно или очень медленно;
  2. ядро вываливается в kernel panic;
  • вы взяли нестабильное ядро и/или компилятор в бета-версии/выставили дикие флаги оптимизации
  1. вас предупреждали
На эти грабли можно и не наступать - есть несколько рекомендаций.


С чего начать?
С того, что к сборке ядра нужно подготовиться: это займёт много времени, особенно если вы это делаете в первый раз. У меня пересборка первого ядра заняла 4 часа - вдумчивое чтение статьи, поиск параметра, включение или выключение и так далее. У вас это может занять времени меньше - затем я это и пишу.
Хорошо бы взять конфиг из вашего дистрибутива - дистростроители в сборке ядер понимают, как правило, больше вас, так что не стесняйтесь. Копируем в каталог с ядром и пишем
make oldconfig
Флажки параметров ядра должны расставиться соответствующем конфигу образом, если только в вашем дистрибутиве не принято накладывать на ядро 33 заплатки. Конфиг так же можно попросить у ближайшего линуксоида - будет кого пинать и доставать своими вопросами. Если охота проявить творчество, можно попросить создать конфиг с умолчальными настройками:
make defaultconfig
Не увлекайтесь заплатками, особенно поначалу. Каждая из них добавляет возможности в ядро, но может привести к дестабилизации системы и крайне неприятным последствиям. Обзор различных интересных патчей и веток ядер Линукс дан в этой прекрасной статье.


Где лежат большие грабли
Как и всё остальное в Линукс, тексты ядра прокомментированы и можно в процессе сборки попросить помощи. В menuconfig это крайняя правая кнопка HELP. Комментарии есть практически к каждой опции, более или менее внятные, и их стоит почитать, если из статьи не ясно, что это такое.

Перво-наперво,
не включайте в ядро и не делайте модулем никаких функций, рядом с которыми написано слово
EXPERIMENTAL или DEPRECATED!
Это может вывести систему из стабильного состояния и добавить вам совершенно ненужных проблем - включайте только в том случае, если это очень необходимо и вы знаете, что делаете.

Чтобы система после перезагрузке загрузилась с новым ядром, обязательно включите поддержку следующих опций монолитно:
  • файловой системы, которую вы используете на системном диске;
  • файловых систем initramfs и cramfs в меню Device drivers --- Block devices, иначе система не сможет считать стартовый образ ядра;
  • поддержку вашего дискового контроллера в Device drivers --- ATA/ATAPI/MFM/RLL support

Чтобы не ломать голову и не думать, почему не работает что-то, имейте в виду:
  • То, что может быть будет подключаться к системе, полезно сделать модулем, то, чем будете пользоваться постоянно - лучше монолитно (об исключениях - ниже).
  • Драйвера для звуковых карт включаются модульно в меню Device drivers --- Sound --- Advanced Linux Sound Architecture --- чтобы потом их проще было конфигурировать (если для этого нет крайней необходимости, не пользуйтесь OSS).
  • Если в системе есть SATA-диски, планируется подключать флешки и писать CD или DVD-диски - не выключайте поддержку SCSI в меню Device drivers --- SCSI device support, так как очень многое в Линукс работает "как протокол поверх SCSI".
  • Если вы планируете пользоваться кардридером, обязательно включите опцию Device drivers --- SCSI device support --- Probe all LUNs on each SCSI device, иначе будете видеть только первый слот.
  • Файловые системы, которые планируется использовать редко, сделайте модулем. Обязательно включите поддержку петлевого устройства в Device drivers --- Block devices --- Loopback device support, иначе не сможете монтировать образы дисков.
  • Корневую файловую систему включайте монолитно в ядро - иначе система не сможет загрузиться.
  • Будьте внимательны, если используете ReiserFS и не включайте все флажки под ним подряд (лучше вообще никаких не ключайте): один из них (указанный здесь пустым) File systems --- Reiserfs support [ ] Enable reiserfs debug mode приводит к замедлению файловой системы и в логах постоянно будет появляться "WARNING! Using reiserfs in slow mode for debugging" или что-то в этом духе. Не включайте этот флажок!
  • В меню Block layer --- IO Schedulers отмечайте ДА на все планировщики ввода-вывода, потом можно будет на лету их менять (по ситуации).
  • Для ноутбуков я бы советовал включать шину ISA в меню Bus options, так как некоторые встроенные устройства прикрепляются именно к ней.
  • Включите поддержку вашей сетевой карты модулем в меню Device drivers --- Network device support --- Device drivers --- Ethernet (10 or 100Mbit) ---
  • Если хочется мониторинг железа, включаем всё модулями в Device drivers --- Hardware Monitoring support --- и сверяемся ещё раз с постом.
  • Не забываем включить поддержку USB и поддержку нужных флешек в Device drivers --- USB support --- USB Mass Storage support
  • Так же стоит сразу включить поддержку оперативной памяти более 1Гб отметив Processor type and features --- High Memory Support (off) --- 4Gb
Далее для сборки набираем:

от простого пользователя:
make bzImage
(собрать ядро)
make modules
(собрать модули

от пользователя root:
make modules_install
(установить модули)
make install
(установить ядро)

После того, как ядро собрано, следует создать загрузочный образ (в Дебиане это применяется). Для этого нужно выполнить либо

mkinitramfs -o /boot/initrd-вашаверсияядра вашаверсияядра
либо (для старых или специфических дистрибутивов)
mkinitrd -o /boot/initrd-вашаверсияядра вашаверсияядра
То есть например:
mkinitramfs -o /boot/initrd-2.6.20 2.6.20
После этого прописываем в загрузчике (скорее всего это будет GRUB):
title Debian Linux (2.6.20)
root (hd0,0)
kernel /vmlinuz-2.6.20 ro root=/dev/sda1
initrd /initrd-2.6.20.img

Номер системы, загружаемой по умолчанию, равен 0. Чтобы определить по умолчанию загрузку вашего нового ядра, либо поместите описывающий его раздел файла, в начало, либо измените номер системы по умолчанию на нужный вам (помните, что номера начинаются с 0) Если вы используете GRUB, после редактирования файла конфигурации вам не нужно выполнять какие-либо команды.

Вот все грабли, на которые я наступал и которые вспомнил. Уважаемые комментаторы приглашаются к конструктивной критике и дополнению вышеописанных подводных камней.

Ссылки
Собственно, они в основном приведены в теле документа, но всё-таки. О сборке ядер "по технологии Дебиан" говорится здесь. Восхитительная статья по сборке ядер 2.6 тут (а тут её обновление). Замечательный обзор того, какие ядра Линукс, кроме канонической ветки Линуса Торвальдса, есть здесь. Тут можно посмотреть ещё некоторые полезные замечания по сборке ядра.

Уважаемые комментаторы накопали ещё несколько очень полезных ссылок. Вот здесь говорится о сборке ядра для Убунты, а тут - для Дебиана на английском. Может, кому поможет.

37 комментариев:

  1. В последнее время стало популярным ядро с suspend2. Много опций experimental очень полезны.. И для хорошей работы того самого suspend2 лучше включить модулем побольше. Кстати, при большом желании можно модулем включить и корень, и ещё много чего. Для этого надо использовать initrd. Мне, однако, это не нравится.

    ОтветитьУдалить
  2. Если говорить о debian, то стоит упомянуть кошерный для этого дистрибутива метод (make-kpkg) - http://www.debian.org/doc/FAQ/ch-kernel.en.html

    ОтветитьУдалить
  3. Извините, не обратил внимания на "Ссылки". но всё-же это записки дебианщика ;)/
    Статья хорошая, спасибо.

    ОтветитьУдалить
  4. Еще ссылка в тему http://www.howtoforge.com/kernel_compilation_ubuntu
    Очень хорошо расписано для начинающих, особенно как просто пропатчить.

    ОтветитьУдалить
  5. Огромнейшее спасибо за статью! Рано или поздно все равно придется этим заниматься. :)

    ОтветитьУдалить
  6. Увидев по началу количество комментариев, испугался: ну, думаю, сейчас запинают :-)

    2 Igor
    В последнее время стало популярным ядро с suspend2.
    Хм... ну не знаю, не знаю. Я предпочитаю не пользоваться такими вещами. Странно, но у меня и без того ноутбук долго работает в автономе (5-6 часов).

    Много опций experimental очень полезны..
    Не сомневаюсь: у самого включена поддержка ACPI специально для ноутов ASUS (experimental). И ничего, работает. Но в своё время врубил что-то экспериментальное ещё на Woody, в 2.4.18, и получил kernel panic при включении usbшной мыши :-)

    2 fiend
    Если говорить о debian, то стоит упомянуть кошерный для этого дистрибутива метод
    Никогда им не пользовался, а так, по-старинке make menuconfig. Но замечание принял.

    2


    2 serhiy cherevko
    Еще ссылка в тему
    Да, пробегала мимо меня, но как-то не обратил на неё внимания. И, как выяснилось, напрасно. Спасибо за ссылку!

    2 vonderer@darkstar
    Огромнейшее спасибо за статью! Рано или поздно все равно придется этим заниматься.
    Пожалуйста. Это все грабли, которые мне припомнились и по которым я пропрыгал в своё время :-) Надеюсь, поможет на них не наступить кому-то ещё.

    Если я какие грабли при сборке ядра забыл или не знаю - не стесняйтесь написать в комментариях.

    ОтветитьУдалить
  7. М-ммм. У меня два вопроса.

    1. Разве в дефолтной дебиановской сборке не включено high mem, которое больше 1 гига? (Потому что было еще то, кторое больше 4 гиг.) Дело в том, что у меня 1.5 гигабайта памяти и стандартное ядро из sarge. Все top'ы показывают, что используются все полтора гига, см. http://paste.tyneo.net/y2q24r-125 , что я делаю не так?

    2. А не могли бы Вы рассказать или ткнуть пальцем в толмуд, как кошерно ставить свое ядро в дебиане? Ну всякие там make-kpkg, заворачивание в *.deb, и иже с ним. Потому что ставить-то ядро по make install && make modules_install я еще в шлаквари ставил, а вот в дебиане и чтоб правильно -- не приходилось, всегда обходился тем, что ставилось по apt-get dist-upgrade из коробки.

    ОтветитьУдалить
  8. А есть какая-нибудь разница: брать исходники ядра из репозитария или с kernel.org?

    ОтветитьУдалить
  9. 2 oal
    1. Разве в дефолтной дебиановской сборке не включено high mem, которое больше 1 гига?
    В Сарже, по-моему, нет, т.к. мне в своё время писали письмо с сервера, который на Сарже, с вопросом: как заставить видеть Сарж больше чем гиг.
    Если собирать ядро руками, легко это упустить.

    2. А не могли бы Вы рассказать или ткнуть пальцем в толмуд, как кошерно ставить свое ядро в дебиане?

    Здесь не Слака, богов нет, так что как удобнее, так и ставьте. На debian.org в официальной доке намекают, что они не просто так ваяли пакет kpkg :-)
    Я ставлю через make и не обламываюсь, т.к. религия позволяет :-)

    2 Anonymous
    А есть какая-нибудь разница: брать исходники ядра из репозитария или с kernel.org?
    Есть: дебиановское ядро уже сконфигурировано и даже скомпилировано, а на kernel.org - сырцы. Зато там самый свежак :-)

    ОтветитьУдалить
  10. Есть: дебиановское ядро уже сконфигурировано и даже скомпилировано, а на kernel.org - сырцы.
    Нет-нет, мой вопрос был как раз о сырцах в репозитарии -- то есть о пакетах linux-source-*

    Можно взять сырцы как с kernel.org, так и с репозитария. Но есть ли какое-нибудь преимущество сырцов из репозитария перед сырцами с kernel.org?

    ОтветитьУдалить
  11. Но есть ли какое-нибудь преимущество сырцов из репозитария перед сырцами с kernel.org?
    Сомневаюсь. Скорее всего, наложили какие-нибудь мелкие патчи. Я всегда беру каноническое ядро и патчу для получения squashFS.

    ОтветитьУдалить
  12. Если в системе есть SATA-диски, планируется подключать флешки и писать CD или DVD-диски - не выключайте поддержку SCSI
    диски уж несколько лет как пишутся нативно, а не через SCSI ;)

    ОтветитьУдалить
  13. Virens, смотрю ты в своем блоге при упоминании про сборку ядра все пиаришь ссылку на linuxcenter. Однако там версия 1.1 статьи. Пошел на авторский сайт и нашел версию 2.0 статьи. Рекомендую: http://linux.alhimia.ru/pub/archive/doc/encyclopedia/0.2/online/4_Tuning/kernel/kernel-2.6-install/index.html

    ОтветитьУдалить
  14. Более правильная ссылка такая:
    http://linux.alhimia.ru/pub/archive/doc/kernel-2.6/2.0/kernel-2.6-install-2.0.html

    ОтветитьУдалить
  15. 2 Anonymous
    Virens, смотрю ты в своем блоге при упоминании про сборку ядра все пиаришь ссылку на linuxcenter.
    Дык пиарю то, что знаю :-) Большое спасибо, Анонимус, за ссылку - не занал. Статью поправлю.

    Рекомендую
    Мерси. Будет учтено при следующих правках блога.

    ОтветитьУдалить
  16. ежели бояться опций с приставкой EXPERIMENTAL, то лучше сидеть под вендой

    ОтветитьУдалить
  17. 2 Anonymous
    ежели бояться опций с приставкой EXPERIMENTAL, то лучше сидеть под вендой
    Да вы, батенька, экстремал! :-) На самом деле, эти строчки были написаны для "очень начинающих" - включат какой-нибудь kexec или sysrq, а потом будут кричать на форумах...
    У меня на ноуте многое в ядре скомпилировано из раздела ACPI с Experimental - и ничего, всё работает.

    ОтветитьУдалить
  18. >В Сарже, по-моему, нет, т.к. мне в своё время писали письмо с сервера, который на Сарже, с вопросом: как заставить видеть Сарж больше чем гиг.
    В smp sarge-ядре точно поддержка включена. На сервере вертится - там 1.5GiB RAM видны целиком.

    ОтветитьУдалить
  19. Кстати флэшки тоже могут обойтись без SCSI есть в ядре 2.6 другой драйвер и видиться они будут не /dev/sd[a-..] a /dev/ud[a..]
    что мне кажется более понятно, хотя там стоит заметка что он более медленный, но я не заметил ..

    ОтветитьУдалить
  20. 2 Anonymous
    В smp sarge-ядре точно поддержка включена. На сервере вертится - там 1.5GiB RAM видны целиком.
    Так по умолчанию ставится generic. Вот и вопросы ко мне были - чего он всю память не видит.

    2 Anonymous said...
    Кстати флэшки тоже могут обойтись без SCSI есть в ядре 2.6 другой драйвер и видиться они будут не /dev/sd[a-..] a /dev/ud[a..]
    Ммм... интересно. Надо будет попробовать. Спасибо!

    Хотя поддержку скази всё равно лучше не выкидывать - экономия не велика, а возможностей прибавляется много.

    ОтветитьУдалить
  21. ошибка в нумерации версии ядра. начиная с 2.6 - это current и более не делится на чет/нечет

    ОтветитьУдалить
  22. Спасибо за статью, очень пригодилась!
    Только вот есть один вопрос, который меня мучает перед тем, как я решусь собрать ядро самостоятельно.
    Если я поставлю свое ядро, то как быть с headers, которые нужны для установки многих драйверов, например видео-дров? Обычно просто скачиваешь из репозитория linux-headers нужный и все. А как быть тут? Какие заголовки использовать?
    Почему-то нигде это не упоминается...

    ОтветитьУдалить
  23. А как быть тут? Какие заголовки использовать?
    Почему-то нигде это не упоминается...

    Заголовки со своего ядра, конечно.
    Не знаю как в Debian/Ubuntu, но в Mandriva уже несколько лет существует такая вещь, как DKMS (Dynamic Kernel Modules Support) - позволяет использовать модули от одного ядра в другом. Т.е. пересобрал ты ядро, оно теперь как бы другое. А DKMS позволяет подхватить, например, модули от драйверов NVIDIA.

    ОтветитьУдалить
  24. статья конечно хорошая, но я столкнулся немного с другой проблемой. У меня есть дебиан, на виртуальной машине, нужно было под ним пересобрать ядро, что бы подключить сетевуху.Я бы мог примонтировать флешку с новым ядром и так собрать. Но я захотел взять ядро из дистрибутива, при установке ядро в каталог usr/src/linux... не копируется(сорцы), как мне выдрать это ядро из дистрибутива?

    ОтветитьУдалить
  25. Спасибо за статью.
    Ссылка на новую верси статьи для домохозяек не работает.
    Вот нашел альтернативную: http://linux4u.jinr.ru/docs/add04/kernel-2.6-install-2.0.html

    ОтветитьУдалить
  26. 2 BaBL пишет...
    ошибка в нумерации версии ядра. начиная с 2.6 - это current и более не делится на чет/нечет
    Так как ядро 2.4 всё ещё продолжает развиваться, то не ошибка. Как Торвальдс в будущем решит - поправлю пост :-)

    2 paveless пишет...
    Спасибо за статью, очень пригодилась!
    Пожалуйста. А уж мне она сколько раз пригодилась :-)))

    Если я поставлю свое ядро, то как быть с headers, которые нужны для установки многих драйверов, например видео-дров? Обычно просто скачиваешь из репозитория
    Легко и просто: не стирайте то, что останется после сборки в каталоге /usr/src - вот вам ваши headers. Драйвера ставятся так же, т.е. без проблем.

    Почему-то нигде это не упоминается...
    Ммм... в общем, до этого несложно догадаться. Но согласен - фичреквест. Поправлю при оказии.


    2 Анонимный пишет...
    Не знаю как в Debian/Ubuntu, но в Mandriva уже несколько лет существует такая вещь, как DKMS (Dynamic Kernel Modules Support) - позволяет использовать модули от одного ядра в другом.
    Круто, я не знал. Погуглю - вещь в самом деле нужная. Спасибо!


    2 Stomp пишет...
    Но я захотел взять ядро из дистрибутива, при установке ядро в каталог usr/src/linux... не копируется(сорцы), как мне выдрать это ядро из дистрибутива?
    То ли вечер уже, то ли я начал тормозить - не понял вопроса. Если ещё актуально, пишите в личку, ближе к концу сентября будет время -отвечу.

    2 Анонимный пишет...
    Ссылка на новую верси статьи для домохозяек не работает.
    Вот нашел альтернативную:

    О! Спасибо, добрый человек! Поправил ссылку, немного статью подрихтовал.

    ОтветитьУдалить
  27. Я бы хотел нормальное ядро..
    Какое ядро можно выбрать для амд-64? Из дистрибутивных? А то выбрал 2.6.22-3-амд64, и всё.
    На 2.6.18-4-к7 у меня всё работало,а теперь как-то тормознее,и QEMU c kqemu не собирается,(компилятор шибко умный)А виртуалбокс ругается на конфигурацию при запуске,вмваре тоже не ставиться.

    ОтветитьУдалить
  28. Большое спасибо! Я начинающий в мире линукс, установил Debian, но сетевая карта работала некорректно. Скачал драйвера, а они в исходниках :( Сидел в интернете полдня - нашел советы, что для нормальной работы надо пересобрать ядро с этими драйверами. Но только в вашей статье наткнулся на адрес ОТКУДА скачать(ftp.kernel.org). Остальные отделывались строчкой "... apt-get install kernel-source-2.6.x ...", на которую apt ругался и слал меня лесом. Еще раз огромное спасибо! (кстати, ставил дебиан я тоже по вашей статье :) )

    ОтветитьУдалить
  29. 2 Анонимный пишет...
    Я бы хотел нормальное ядро..
    Нормальное ядро - это как большая и чистая любовь. Все его хотят, и вещь-то вроде не мудрёная, а поди ж ты :-)

    и QEMU c kqemu не собирается,(компилятор шибко умный)
    QEMU собирается только с gcc-3.4

    2 Анонимный пишет...
    Но только в вашей статье наткнулся на адрес ОТКУДА скачать(ftp.kernel.org).
    Это да, народ не любит писать о простых вещах.

    Можно пересобрать дистрибутивное ядро, но оно уже с патчами и не факт, что ваши патчи наложатся правильно.

    Еще раз огромное спасибо!
    Пожалуйста. Статью писал по мотивам грабель, которые собирал собственной головой :-)

    (кстати, ставил дебиан я тоже по вашей статье :) )
    Стало быть, блог помог дважды. И это есть хорошо :-)

    ОтветитьУдалить
  30. Спасибо. Полезная статья. У меня вопрос: После установки нового ядра иксы загрузятся нормально?
    Видео у меня Нвидия, дистр- Убанту.
    Спасибо

    ОтветитьУдалить
  31. У меня такая тема. Старое ядро диски именует как sda sdb ... А новое hda hdb ... почему?

    ОтветитьУдалить
  32. Вчера-сегодня конфигил-компилил.
    А вот загрузиться не смог. Пришлось включить метод научного тыка. В Вашем примере:
    mkinitramfs -o /boot/initrd-2.6.20 2.6.20
    необходимо после initrd включить .img.
    чтобы получилось initrd.img-2.6.20
    Но и это не все.
    Мне пришлось создать на полученный файл симлинк в корневой директории.
    Только после этого ядро загрузилось.
    Может, я в чем-то неправ, но изложил голые факты.

    ОтветитьУдалить
  33. Как-то познакомился с Debian, отношения дошли до ядра, долго искал подход и вот что получилось:
    # update-initramfs -c -k 2.6.бла.бла-полная-версия
    # update-grub
    Создаем initrd.img
    Grub все сам должен найти

    ОтветитьУдалить
  34. Перевод некоторых параметров ядра Linux 2.6: http://www.kryukov.biz/wiki/Параметры_ядра_Linux

    ОтветитьУдалить
  35. Спасибо за статью!
    А кто-нибудь ядро версии 3.1.4 пробовал собирать?
    Отпишитесь в целом как?!

    ОтветитьУдалить
  36. Есть ли смысл ставить качать новое ядро на старый писюк (K6-2 500, 386 MB GeForce2 Pro 32Mb)?

    ОтветитьУдалить