Форум русскоязычного сообщества Ubuntu


Хотите сделать посильный вклад в развитие Ubuntu и русскоязычного сообщества?
Помогите нам с документацией!

Автор Тема: Пересборка ядра  (Прочитано 2049 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн Dreyk

  • Автор темы
  • Новичок
  • *
  • Сообщений: 7
    • Просмотр профиля
Пересборка ядра
« : 15 Мая 2011, 05:40:57 »
Приветствую.

Мне необходимо пересобрать ядро в Ubuntu 11.04 с применением патча. Делаю это впервые.

1. Какой именно должна быть моя последовательность действий? Файл старого конфига должен быть скопирован в папку с исходниками сразу после их распаковки?
2. Исходники ядра должны быть взяты с сайта kernel.org или лучше будет пакет "Linux kernel source with Ubuntu patches"?
3. Что такое "linux-headers"? Зачем они нужны и пригодится ли это мне при пересборке?

Хочу пересобрать ядро и применить патч наиболее чистым и безболезненным образом.
Возможно потом появится желание покопаться в опциях ядра, но пока до этого дело не доходит :)

Заранее спасибо за помощь.
« Последнее редактирование: 15 Мая 2011, 05:42:32 от Dreyk »

Оффлайн rusty

  • Любитель
  • *
  • Сообщений: 55
    • Просмотр профиля

Оффлайн Dreyk

  • Автор темы
  • Новичок
  • *
  • Сообщений: 7
    • Просмотр профиля
Re: Пересборка ядра
« Ответ #2 : 21 Мая 2011, 14:50:34 »
Может кто-нибудь посоветует что-нибудь более конкретное или скинет ссылки на годный гайды по этому делу?
Ибо эта GUIшная хрень мне не понравилась...

Оффлайн Alie Alexandross

  • Старожил
  • *
  • Сообщений: 1576
    • Просмотр профиля
Re: Пересборка ядра
« Ответ #3 : 21 Мая 2011, 15:45:33 »
Стандартные операции:
1). Берёте нужную версию ядра с сайта kernel.org. Обратите внимание, версии git и nextgen доступны только в виде патчей, source code придётся "готовить" самому. Стоит упомянуть что стабильность nextgen ядра никто не гарантирует и не факт что оно вообще запустится.
2). Архив с ядром перенесите в каталог /usr/src и там распакуйте. Вообще удобно предварительно дать простому пользователю права на использование /usr/src чтоб не работать с sudo.
3). Копируете в появившийся каталог с ядром свой патч и переходите в него (каталог).
4). Пропатчивание:
patch -p1 < your_patch_name5). Конфигурируете будущее ядро:
make menuconfig
aptitude depended операции:
6). Собираете ядро в пакет:
fakeroot make-kpkg --initrd --append-to-version=-your_version_name kernel-image kernel-headers7). Устанавливаете пакет с ядром:
dpkg -i /usr/src/your_kernel_version.debdpkg -i /usr/src/your_kernel_headers.deb9). Обновляете GRUB:
sudo update-drub10). Перезагружайтесь в новое ядро.



aptitude independent операции:
6). Собираете ядро:
makemake объединила в себе три комманды, которые нужно было в прошлом запускать по очереди. Так что вполне можно наткнутся на ман, в котором указаны именно они:
make mrproper
make bzimage
make modules
Устанавливаете модули:
make modules_install7). Создаёте образ ядра и переносите в каталог /boot:
sudo mkinitramfs -k your_kernel -o /boot/your_image_name8]. Копируете bzImage в /boot
sudo cp arch/x86/boot/bzImage /boot/your_vmlinuz_name9). Обновляете GRUB:
sudo update-drub10). Перезагружаетесь.

-------Касательно вопросов---------
1). Старый конфиг копируете до пропатчивания.
2). В принципе - не важно откуда берёте исходники. Разница лишь в тех самых патчах, которые мантайнеры ubuntu накладывают на ванильное ядро.
3). linux_headers нужны некоторым приложениям для работы с ядром. Можно и не ставить, если у вас нет библиотек, использующих headers -  можете пропустить.
« Последнее редактирование: 21 Мая 2011, 15:52:19 от Alie Alexandross »
Подпись автора jillsmitt истинна...

 

Страница сгенерирована за 0.052 секунд. Запросов: 23.