The OpenNET Project / Index page

[ новости /+++ | форум | wiki | теги | ]

Пересборка Linux ядра в Debian и Ubuntu (linux kernel compile deb debian ubuntu)


<< Предыдущая ИНДЕКС Исправить src / Печать Следующая >>
Ключевые слова: linux, kernel, compile, deb, debian, ubuntu,  (найти похожие документы)
From: SIR <http://jedi-linux.blogspot.com>; Date: Sun, 10 Mar 2008 17:02:14 +0000 (UTC) Subject: Пересборка Linux ядра в Debian и Ubuntu Оригинал: http://jedi-linux.blogspot.com/2007/09/blog-post_3999.html Подготовка. Для того, чтобы у нас все получилось, необходимо сначала установить в системе следующие пакеты: * linux-source-2.6.18 * build-essential * kernel-package * fakeroot * msort-gui * initrd-tools * pkg-config * qt3-dev-tools * libqt3-mt-dev "Одноходовка" установки выглядит так: # apt-get install linux-source-2.6.18 build-essential kernel-package fakeroot \ msort-gui initrd-tools pkg-config qt3-dev-tools libqt3-mt-dev А еще одна подготовка... Лучше день потерять, потом за 5 минут долететь. (С) М/ф " Крылья, ноги, хвосты" :-) Здесь и далее будьте ВНИМАТЕЛЬНЫ на то, кем выполняется операция $ - юзером, или # - root-ом! Как юзера менять помним? Тогда повторим: $ su - Password: # ... это мы стали root-ом Если мы еще находимся в этой же консоли, то можно просто выйти из окружения root-a, так: # exit $ Если сразу были root-ом, то: # su - vasya $ ... это мы стали обычным пользователем. Итак, все наши приготовления закончены. Ну-с, приступим! Ну-с, приступим! Делаем каталог /usr/src/ доступным для записи пользователя vasya (у вас свой юзер): debian:~# chown vasya -R /usr/src/ Или можно добавить себя в группу src. Если сразу запускали консоль под рутом, то: debian:~# su - vasya Или, описание смотри выше... debian:~# exit Переходим в директорию с архивом исходников: vasya@debian:~$ cd /usr/src Проверяем, а там есть архив? vasya@debian:~$ ls -l Распакуем архив ядра (имейте ввиду - процесс небыстрый!): vasya@debian:/usr/src$ tar -jxvf linux-source-2.6.18.tar.bz2 Скопируем конфиг-файл из нашей системы для дальнейшего "тюнинга": vasya@debian:/usr/src$ cp /boot/config-2.6.18-4-686 /usr/src/linux-source-2.6.18/.config vasya@debian:/usr/src$ cd /usr/src/linux-source-2.6.18 Если с этими исходниками уже была компиляция ядра ранее, то нужно "почистить хвосты" за ней: vasya@debian:/usr/src/linux-source-2.6.18$ make clean && make mrproper Тогда после этого нужно скопировать либо "исходный" файл конфига ядра: vasya@debian:/usr/src/linux-source-2.6.18$ cp /boot/config-2.6.18-4-686 /usr/src/linux-source-2.6.18/.config ... либо использовать сохраненную ранее "заначку" в виде вашего config-файла, так же скопировать. Конфигурируем ядро. Подробнейший документ по конфигурированию ядра взять здесь или здесь. Так же, в обязательном порядке прокачать тему нашего товарища по-оружию. :-) Ну, теперь сконфигурим наше ядро, из графической оболочки, написанной на QT прямо для KDE :-) ! vasya@debian:/usr/src/linux-source-2.6.18$ make xconfig Note: Если уж все-таки это все для вас осталось "матрицей за гранью разума", то тогда вот вам задание - сделать пингвина при загрузке. Прям как в Knoppix-e. Если вы еще этого не видели, то тогда срочно сюда, а посмотреть можно здесь. А для этого в разделе: Graphics support -> Logo configuration Включаем опцию: Bootup logo -> Standart 224-color Linux logo Дальше делаем: File -> Save File -> Exit Компиляция! Итак мы на финишной прямой. Сейчас самый важный и долгий момент. Если ваш комп не такой уж мощный как хотелось бы, то приготовьтесь к нескольким часам компиляции (как вариант - на ночь). Меняем свои полномочия: vasya@debian:/usr/src/linux-source-2.6.18$ su - Password: debian:~# cd /usr/src/linux-source-2.6.18 Финальная команда для компиляции, создания рамдиска, прописывания в grub: debian:/usr/src/linux-source-2.6.18# make-kpkg --append-to-version "-tux" --revision "2.6.18" --us --uc --initrd kernel_image Создает deb-пакет готовый к "употреблению": /usr/src/linux-image-2.6.18-tux_2.6.18_i386.deb Можно теперь его "накатить" обычным образом: debian:/usr/src# dpkg -i linux-image-2.6.18-tux_2.6.18_i386.deb И ВСЕ! Вариант. Бывает ситуация когда нет смысла держать исходники ядра у себя на винте (это то, что в папке /usr/src/linux-source-2.6.18). Даже размер тому может являться причиной - как никак 256 Мб. И не забудьте, что это корневая директория. Попробуйте выполнить команду, как на рисунке ниже. А сколько у вас свободного места? А если несколько ядер? Исходники ядра бывают нужны, например, для установки правильных драйверов для видеокарты они нужны. А если получилось собрать жутко оптимальное ядро, и сменили производителя видео-карты, а? Ну для десктоповых машин это может быть не очень и важно, а если у вас ноутбук?? Ну аргументов для этого можно привести целую массу. Короче! Если вселенная против того, чтобы мы держали исходники ядра на будущее у себя именно в этой директории (/usr/src/), то для этих целей придуманы т.н. headers (типа "заголовки" на самое важное в структуре ядра). С несоизмеримо-меньшими размерами. И если мы не знаем, понадобятся нам в дальнейшем исходники ядра, или не понадобятся, то тогда после конфигурирования ядра выполни немного модифицированную команду. Итак - финальная команда для компиляции, создания рамдиска, прописывания в grub и создания т.н. Headers-ов: debian:/usr/src/linux-source-2.6.18# make-kpkg --append-to-version "-tux" --revision "2.6.18" --us --uc --initrd kernel_image kernel_headers Создает 2 бинарных файла с ядром: /usr/src/linux-headers-2.6.18-tux_2.6.18_i386.deb /usr/src/linux-image-2.6.18-tux_2.6.18_i386.deb Установим: debian:/usr/src# dpkg -i linux-headers-2.6.18-tux_2.6.18_i386.deb linux-image-2.6.18-tux_2.6.18_i386.deb И опять ВСЕ! Причем, господа, имейте ввиду, что после этой команды Debian сам установит вообще ВСЕ, и даже пропишет нужные строчки в меню нашего загрузчика GRUB, и причем еще со "служебным" вариантом загрузки нашего нового ядра!!! Ну не прелесть ли, а? :-) Да, если кто правда делал пингвина при загрузке, то надо добавить в файл /boot/grub/menu.lst в конец строки kernel /vmlinuz-2.6.18-tux root=/dev/xxx ro vga=791 где ххх - ваш корневой диск. Если точнее, то партиция где находится каталок grub. vga=791 - означает, что нужно выводить всю информацию загрузки в разрешении 1024х768 Подробнее про загрузчик Grub - на блоге. Естественно сделать это можно из-под рута, например, в mc. И что в итоге?! Теперь самое время послать сиситему в reboot, и с замиранием сердца ожидаем загрузку системы. Заключение. Ну вот и все. Теперь, когда самый сложный и ранее непонятный процесс подготовки и компиляции ядра нами освоен, настало самое время заняться исключительно творчеством - сосредоточиться на конфигурации ядра. А эта очень обширная и достаточно сложная тема. Надеюсь, к ней еще вернемся. Удачи в творчестве!

<< Предыдущая ИНДЕКС Исправить src / Печать Следующая >>

Обсуждение [ RSS ]
 
  • 1.1, Aladex (?), 15:50, 09/04/2008 [ответить]    [к модератору]
  • +/
    Отличная статья!
     
  • 1.2, angra (ok), 22:42, 09/04/2008 [ответить]    [к модератору]
  • +/
    А зачем это для сборки ядра?
    * qt3-dev-tools
    * libqt3-mt-dev
     
  • 1.3, GreyG (?), 09:05, 16/04/2008 [ответить]    [к модератору]
  • +/
    //А зачем это для сборки ядра?
    //* qt3-dev-tools
    //* libqt3-mt-dev
    Для xconfig ;)
     
  • 1.4, brigadir (?), 23:45, 27/07/2008 [ответить]    [к модератору]
  • +/
    а чтоб модули подхватились?
    make modules_install?
     
  • 1.5, brigadir (?), 21:00, 30/07/2008 [ответить]    [к модератору]
  • +/
    почему-то после установки ядра, перезагружаюсь, а оно не видит /dev/sda3. Поддержку SCSI включал...
    что за?
     
     
  • 2.6, barankin (?), 23:22, 03/02/2009 [^] [ответить]    [к модератору]  
  • +/
    скорее всего речь о ноутбуке с итегрированным в него AHCI адаптере.
    попробуйте подключить в ядро AHCI
     
  • 1.7, Stoner_di (?), 22:22, 28/05/2009 [ответить]    [к модератору]  
  • +/
    Как можна запустит Bootup logo в Ubuntu 9.04?
    Я сделаю все, но Tux Bootup logo нет!!!!

    Ето В kernel сделаю......

    Support for frame buffer devices FB->VESA VGA graphics support FB_VESA

    Select all in the:

    Console display driver support ->

    selct all in the:

    Bootup logo LOGO->

    В Grub ета:

    kernel /boot/vmlinuz-2.6.29.3 root=UUID=d5b52903-5.... video=vesafb vga=0x0323 ro quiet

    -В file /etc/modprobe.d/blacklist-framebuffer.conf, comment this row:

    #blacklist vesafb

    -in the file /etc/initramfs-tools/modules, add:

    fbcon
    vesafb

    -in the end update initramfs this command:

    update-initramfs -u

    Ета все, но Tux НЕТ???????!!!!!!
    Что я сделаю.....

     

    Ваш комментарий
    Имя:         
    E-Mail:      
    Заголовок:
    Текст:




      Закладки на сайте
      Проследить за страницей
    Created 1996-2017 by Maxim Chirkov  
    ДобавитьРекламаВебмастеруГИД  
    Hosting by Ihor