Building your own v2.6.x Kernel in the Debian manner.
Posted by nevermind in the Packages section on Wed 3 Aug 2005 at 13:05
Собрать ядро в Debian довольно просто , для начала запускаем:
aptitude -f install kernel-source-2.6.8
Будет проверена текущая версия ядра.
Далее распаковываем ядро:
cd /usr/src
tar xvfj kernel-source-2.6.8.tar.bz2
Будет создан каталог "kernel-source-2.6.8" внутри /usr/src.
После этого можно запустить конфиг-меню:
cd /usr/src/kernel-source-2.6.8/
make menuconfig
(Если меню не запускается , попробуйте "apt-get install libncurses5-dev").
По умолчанию конфиг от 2.6 kernel для Debian Sarge лежит в "/boot".
Загружаем файл "config-2.6.8-*-*", где первая звездочка "*" - номер subversion для ядра,
и вторая "*" - название ОС.
(Для определения текущей версии ядра запускаем "uname -a").
Если вы ничего не хотите изменить в ядре,а просто еще раз его собрать,
можно выйти из программы configuration menu.
При выходе Exit из меню у вас попросят подтвердить изменения. Выберите "yes".
А теперь рассмотрим специфическую дебиановскую команду перестройки ядра под названием
"make-kpkg".
make-kpkg - это утилита , которая получает на входе несколько параметров ,
важнейшими из которых являются:
- --revision number
- позволяет присвоить ядру специальное уникальное имя .
- --initrd
- запуск на создание initrd image. По умолчанию поддержка initrd включена в Debian.
Далее выбираем тип компиляции :
Нужно ли компилить пакеты ? Как насчет хидеров ?
Полный список таргетов можно посмотреть с помощью опции --targets при запуске команды make-kpkg.
Для простой компиляции ядра и минимального набора модулей наберем команду:
make-kpkg --initrd --revision examplerev01 kernel_image
Во время компиляции make-kpkg будет задавать следующие вопросы :
Warning: You are using the initrd option, that may not
work, depending on your kernel version and architecture,
unless you have applied the initrd cramfs patch to
the kernel, or modified mkinitrd not to use cramfs by
default. The cramfs initrd patch, is included in the
Debian supplied kernel sources. New kernels on most
architectures do work fine.
By default, I assume you know what you are doing, and I
apologize for being so annoying. Should I abort[Ny]?
На этот вопрос отвечаем "N", от греха подальше;)
Компиляция может занять около 35 минут на 1.2ghz AMD Duron.
(Для ускорения посмотрите using ccache, or distcc to build across multiple hosts - если у вас есть еще и другие машины).
После этого можно заняться пакетом kernel-headers -
если вы например хотите собрать такие модули ядра , как Nvidia drivers,
или gmail filesystem.
make-kpkg --initrd --revision examplerev01 kernel_headers
Эта команда должна выполниться быстро.
В результате получаем 2 файла в каталоге /usr/src ,
после чего смотрим в этом каталоге:
kernel-headers-2.6.8_2.6.8-3examplerev01_i386.deb
kernel-image-2.6.8_2.6.8-3examplerev01_i386.deb
Далее запускаем команду dpkg:
dpkg -i kernel-image-2.6.8_2.6.8-3examplerev01_i386.deb
На вопрос отвечайте "Yes".
dpkg -i kernel-headers-2.6.8_2.6.8-3examplerev01_i386.deb
Для инициализации initrd image запускаем:
mkinitrd /boot/config-2.6.8 2.6.8
Если у вас стоит лило , добавляем в его конфигуратор :
image=/vmlinuz
initrd=/initrd.img
label=Linux
read-only
optional
После этого активируем "lilo -v" - и reboot .
|
KiDex kidex@gmail.ru | даровте,..
хелп плиз!!
у мня проблемка токого рода,..
у мня модем Intel536ep при установке даравов он просит please install kernel source!!, а именно:
KD:homekidex][ламmodem3intel-536EP-2.56.76.0# make 536
Module precompile check
Current running kernel is: 2.6.18-4-686
libmodules... autoconf.h does not exist
please install kernel source
make: *** [check] Ошибка 1
рыскал в нете, окозалась установка этого модема эт проблема нэта!,
у мня Debian 4.0 kernel 2.6.18
незнал что делать, решил
пробывал собирать ядро по схеме данной выше, 2часа собирал, ууу... дашол до mkinitrd bootconfig-2.6.8
говарит мол нет такой команды mkinitrd, вот такой облом,
SOS, помогите поставить модем,!, а то так нохото win загружать,.. а в Debian приятно сидеть,...
зароние благодарен.... 2007-08-07 10:51:04 | Сергей Яко� | Могу предложить следующий вариант :
нужно скачать пакет :
тут
он должен собраться для твоего ядра и твоего модема
распаковать архив
потом там нужно поправить и сохранить один скрипт - Intel536_inst
там нужно руками вбить строку
DISTRIB_ID=DEBIAN
после сохранения изменений набрать :
make clean && make 536 && make install
2007-08-07 11:52:27 | KiDex kidex@gmail.ru | ого, а всё-таки есть на свете рай-это Linux так и знай,
пасиб, ща попробую,... 2007-08-07 12:19:51 | KiDex kidex@gmail.ru | мдя,непавучаеца...
а мона поточнее про "там нужно руками вбить строку"
мож я не то что нада тварю,..
если мона покажите как нуна исправить,..
буду очень благобадарен,! :) 2007-08-07 13:00:31 | Яковлев Се� | В скрипте есть кусок :
case $D in
*mandrake*) DISTRIB_ID=MANDRAKE;;
*suse*) DISTRIB_ID=SUSE;;
*redhat*) DISTRIB_ID=REDHAT;;
*redflag*) DISTRIB_ID=REDFLAG;;
*conectiva*) DISTRIB_ID=CONECTIVA;;
*ubuntu*) DISTRIB_ID=UBUNTU;;
*debian*) DISTRIB_ID=DEBIAN;;
*slackware*) DISTRIB_ID=SLACKWARE;;
*gentoo*) DISTRIB_ID=GENTOO;;
*knoppix*) DISTRIB_ID=KNOPPIX;;
esac
Вот сразу после него написать:
DISTRIB_ID=DEBIAN
Взято отсюда
2007-08-07 13:45:15 | KiDex kidex@gmail.ru | ЕЕЕеее..
ну эээ, РАБОТАЕТ!
проблема была в том что у мня то ядро 2.6.18-4-686, под ним не хотела грузится нивкакую,
но по указанию выше я ставил ядро 2.6.18 , и ... думал что непоставил из-за
ошибки в конце установки, но тута я отправился на рессет. и бац граб показал два ядра на выбар,
я так падумал "вроде 2.6.18 непоставилась",
ай думаю загружу,.. опа всё отличненько!,
залажу в кансоль uname -r бац 2.6.18, гы
куул,
дай попробую дрова поставить ,ии ...
после некотарых шаманских действий драва стаят!,
вось так, посиб Сергей Яковлев за предоставленный хэлп!, очень помог,....
пакедова....удачи
:)
2007-08-07 14:45:01 | Mastela | Ребяты...
НАда помощь.. я чет запнулся на первойже строчке.
fant:usrsrc# uname -a
Linux fant 2.6.18-6-k7 #1 SMP Fri Dec 12 17:19:09 UTC 2008 i686 GNULinux
fant:usrsrc# aptitude -f install kernel-source-2.6.18
Чтение списков пакетов... Готово
Построение дерева зависимостей... Готово
Чтение информации о расширенных состояниях
Инициализация состояний пакетов... Готово
Чтение описаний задач... Готово
Построение базы данных тегов... Готово
Не удалось найти пакеты, содержащих "kernel-source-2.6.18" в своём имени или описании
Ни одного пакета не будет установлено, обновлено или удалено.
0 пакетов обновлено, 0 установлено новых, 0 пакетов отмечено для удаления, и 0 пакетов не обновлено.
Необходимо получить 0B архивов. После распаковки 0B будет занято.
поэтому попробовал
fant:usrsrc# aptitude -f install kernel-source-2.6.8
Чтение списков пакетов... Готово
Построение дерева зависимостей... Готово
Чтение информации о расширенных состояниях
Инициализация состояний пакетов... Готово
Чтение описаний задач... Готово
Построение базы данных тегов... Готово
Не удалось найти пакеты, содержащих "kernel-source-2.6.8" в своём имени или описании
Ни одного пакета не будет установлено, обновлено или удалено.
0 пакетов обновлено, 0 установлено новых, 0 пакетов отмечено для удаления, и 0 пакетов не обновлено.
Необходимо получить 0B архивов. После распаковки 0B будет занято.
подскажите пожалуйста какого репозитария у мну нету???
Очень прошу.
P.S.: моха просит исходники ядра
fant:homemastelamoxamxser# make clean
fant:homemastelamoxamxser# make install
**********************************************************************
Debian GNULinux 4.0
l 2.6.18-6-k7
MOXA SmartioIndustio Family Multiport Board Device Driver ver 1.13.5.
Release Date: 20081114
**********************************************************************
*********************************ERROR********************************
Unable to locate matching source for kernel 2.6.18-6-k7.
Please install proper kernel-headersource or contact support@moxa.com.
**********************************************************************
Build Fail! Please check build.log for further information
and send it to support@moxa.com.
make[1]: *** [module] Ошибка 1
make: *** [driver_install] Ошибка 2
а я даже скачать их не могу (( 2009-03-02 23:51:10 | Яковлев Се� | Можно предложить следующий сценарий :
1 Закачиваем хидеры
apt-get install kernel-source-2.x.y
2. Распаковываем
cd usrsrc
tar -xjvf kernel-source-2.x.y.tar.bz2
3. генерим конфиг :
cd kernel-source-2.x.y
cp bootconfig-2.x.y-z-arch .config
4. генерим зависимости
make-kpkg --append-to-version "-z-arch" --revision 2.x.y-z --config old configure
5. Создаем симлинк :
rm -f libmodules2.x.y-z-archbuild
ln -s usrsrckernel-source-2.x.y libmodules2.x.y-z-archbuild
По идее , система теперь знает , где у нее хидеры ... 2009-03-03 10:46:40 | Яковлев Се� | Вообще , поставить текущие хидеры :
apt-get install kernel-source-`uname -r`
Посмотреть список всех доступных хидеров :
apt-cache search kernel-source 2009-03-03 10:53:01 | |
|