Компиляция ядра

Обсуждается все что связано с Юниксоподобными системами - от дистрибутивов до разбора ядра и конфигурации сервера.

Сообщение MAPA3bM » Чт авг 14, 2003 12:36 am

Итак, ты решился на ЭТО.
Первое, что тебе надо - это компилятор. Набери в командной строке gcc и посмотри результат. Если выйдет справка, то всё нормально, если же command not found - значит, при установке забыли пункты типа software development.
Второе - собственно, исходники <!--emo&:)-->Изображение<!--endemo-->. Их можно взять:
1) В дистрибутиве (пакеты с именами kernel-source)
2) В Инете (лучше всего на <a href='http://kernel.org' target='_blank'>Kernel.Org</a>)
Если сырцы брались из дистрибута, то они сами ставятся куда надо. Еси скачаны из Инета - то их надо вручную распаковать в каталог /usr/src. Всё это лучше делать в командной строке - компиляция много ресурсов тянет, и занимать их графикой не есть хорошо.
==============
Итак, ты получил каталог /usr/src/linux-2.4.### . Именно 2.4, т.к. 2.2 - слишком старые, 2.6 ещё официально не вышло (со всякими RC, pre, test и иже с ними лучше не связываться), а нечётные серии (2.3, 2.5 и т.д.) - это девелоперские, стабильность которых не гарантируется. Не забудь создать симлинк /usr/src/linux на /usr/src/linux-2.4.##, т.к. многие проги, собираемые из сырцов, ожидают наличия там текущего дерева исходников. Входи туда, ищи файл Makefile и открой его в любом редакторе (желательно не графическом <!--emo&;)-->Изображение<!--endemo--> ). Первые 3 строки трогать не надо, а вот в строке EXTRAVERSION (там будет что-нибудь типа -10custom) поставь просто тире или точку и следом число - номер сборки. Я туда добавляю ещё и буквы, обозначающие патчи. И при каждой сборке это число надо менять - тогда свежие ядра не будут затирать старые, и риск грохнуть систему снижается практически до нуля.
(Лирическое отступление. Первым делом я вешаю патч для поддержки XFS, при этом добавляется буква x. Потом поставил сборный патч для увеличения скорости и стабильности..не придумал ничего лучше, и добавил р. В результате полное название выглядело как 2.4.18.хр . Народ смеялся - "Хрен Работать будет!". Так и оказалось...<!--emo&:lol:-->Изображение<!--endemo-->)
После правки Makefile (и его сохранения <!--emo&:)-->Изображение<!--endemo--> ) набирай команду make menuconfig. (Еси кто всё же из-под иксов работает, можно набрать make xconfig - будет то же самое, только в графике). На экране нарисуется конфигурационное меню, где выбирается то, что будет присутствовать в будущем ядре, и прописываются некоторые конфигурационные параметры. По большинству параметров можно вызвать подсказку. Многие вещи можно не только встроить в ядро, но и сделать в виде модулей - в нужный момент система сама их загрузит.
(Ещё отступление. Как-то довольно давно мы наблюдали этот механизм воочию. Был у нас комп со SCSI-стримером. Перекомпилили ядро, половину настроек в самой системе благополучно забыли, и вводим команду - "записать на стример". Дальше происходит следующее: система самостоятельно находит модуль, загружает его, скидывает всё, что надо, и замирает. Мы сидим болтаем. Снова слышно зюззяние стримера. Поворачиваемся и смотрим. Кассета выплюнута, а на экране мессага - "модуль долго не использовался и поэтому выгружен для экономии памяти." В комнате - всеобщий ступор.)
Когда пройдёшь все пункты(или не все - по желанию) жми Save and Exit. Конфигурирование закончено.
===========================
Наступил момент собственно компиляции. Выполняется она командой make install modules modules_install . (Вообще-то параметры можно и по одному писать, но проще все сразу - можно и уйти куда-нибудь.) В зависимости от количества настроек и мощности машины процесс займёт от 3-4 минут до 1,5-2 часа. После этого ты получишь скомпилированные и установленные ядро и модули. Ядро будет лежать в файле /boot/vmlinuz-2.4.###, а модули - в каталоге /lib/modules/2.4.###. Кроме того, в каталоге /boot автоматически создаётся симлинк vmlinuz, указывающий на последнее компилированное ядро.
==========================
Теперь надо вписать свежеиспечённое ядро в загрузчик. Если стоит lilo - то правь файл /etc/lilo.conf. В нём может оказаться следующее:
prompt #выводить список вариантов загрузки. Если этого параметра нет - сразу грузить ядро по умолчанию.
timeout=30 #сколько ждать реакции пользователя(в десятых долях секунды)
vga=ext #рулит видеоотображением при загрузке. В данном случае стоит ext - использовать режим 80х50
#default=new #образ по умолчанию, загружаемый по окончании таймаута
boot=/dev/hda #куда писать lilo. В данном случае - MBR первого диска
map=/boot/map #руками не трогать
install=/boot/boot.b #см. выше
message=/boot/message #сообщение, выдаваемое при загрузке. Лучше не трогать.
lba32 #требуется для винтов 60Г и выше
linear #может потребоваться для некоторых винтов(мне такие не встречались). Взаимоисключающее с предыдущим.

Дальше идут строки вида:

image=/boot/vmlinuz-2.4.20.x3 #что грузить
label=linux #как это обозвать в списке
root=/dev/hd## #где находится корневая ФС
read-only #так надо
Рекомендуется создать раздел со строкой
image=/boot/vmlinuz #всегда кажет на последнее компилённое ядро
прочее - см.выше
Если помимо Linux на винте живёт ещё кто-нибудь, то добавь
other=/dev/hd## #где ЭТО живёт
optional #не ругаться, еси такого не оказалось.
label=XPEHb #Как ЭТО называется :-)
К вопросу о взаимодействии Boot-менеджеров. Стоит сразу решить, кто где живёт - кто в MBR, кто в загрЫзочных записях разделов, и рулить соответственно. У меня лично из всех загрузчиков одно(?) lilo и осталось.
После окончания правки выполни команду lilo. Вот и всё.
Еси в системе не lilo - смотри маны.
==============================
Теперь перезагружайся. Еси lilo графическое(встречается и такая жуть..), то переключайся в текстовый режим и пиши linux 3 (в предположении, что нужный элемент в списке называется linux). Это - команда перезагрузиться в текстовом режиме(без графики). После этого надо докомпилить дрова графики - по крайней мере, для последних карт nVidia и ATI. Дрова для них ищутся на соответствующих сайтах(а для ATI где-то неподалёку и точный адрес пробегал). В противном случае графика, скорее всего, не запустится. Устанавливаются дрова стандартно - разархивация и компиляция(для компиляции в большинстве случаев достаточно просто набрать make. В принципе, можно и с ядром делать так же..только по умолчанию там включается текстовый конфигуратор - когда придётся ответить на кучу вопросов подряд. Ошибся раз - начинай сначала..). Если же сразу после перекомпиляции ядра попытаться загрузить графику, то она, скорее всего, не загрузится(еси только там не мтарая видюха, дрова к которой входят в ядро. Как правило, 3D-ускорения в таких случаях не бывает.). Может, отсюда и проиходят ситуации - "я перекомпилил ядро, и у меня всё сдохло?". Здесь же докомпилируются дрова для других девайсов, и некоторые проги, если они добавляют свои модули в общую свалку модулей ядра(как, к примеру, BestCrypt). Вот, в общем-то, и всё...
MAPA3bM
Полковник
 
Сообщений: 1270
Зарегистрирован: Вт дек 31, 2002 12:54 am
Откуда: Приморье
Пункты репутации: 0

Сообщение MAPA3bM » Чт авг 14, 2003 1:07 am

Часть намбер два. Выбор конфигурации ядра.
Именно на этом этапе решается - как будет работать свежесобранное ядро и что именно оно будет поддерживать. Привожу на примере ядра 2.4.20. Вообще-то практически ко всем пунктам есть помощь, но еси кому лень или неясно - объясняю отдельно.

Code maturity level options - там всего 1 пункт, насчёт экспериментальных, разрабатываемых и т.д. вещей. Включай смело - многие вещи имеют статус "экспериментальных" полгода и более, но работают вполне нормально.
Loadable module support - включить всё. Хуже не будет.
Processor type and features - там устанавливается тип процессора. Можно поставить ниже, чем есть, но выше не рекомендуется - может и не заработать. Всё остальное - по вкусу и по хелпу.
General setup - пачка базовых настроек. Поддержку сети включить обязательно, даже если самой сети и нет - иначе многое может перестать работать. Неиспользуемые или отсутствующие шины(типа МСА) отрубай нафиг, поддержку форматов a.out и MISC можно выкинуть в модуля. Первое - не знаю, где встречается(устаревший формат), второе - позволяет при установленном wine запускать виндозные проги как родные - просто запуском файла. Для управления питанием - лучше ACPI, еси мать поддерживает.
Memory Technology Devices - предназначен для устройств, работающих на базе flash-дисков, типа всевозможных контроллеров, микрокомпьютеров и т.д. НО: подключаемые через USB flash-диски - это НЕ СЮДА! Также с помощью этих вещей можно на ходу перешивать Flash-BIOS, но я с этим не экспериментировал и вам не советую <!--emo&:)-->Изображение<!--endemo-->. Общий вывод - отключаем всё.
Parallel port support - поддержка параллельного порта. Еси ничего на порту нет - можно вообще отключить. Еси есть, то лучше включить Use FIFO/DMA if available и IEEE 1284 transfer modes - чтоб работали ECP/EPP. Support foreign hardware не надо.
Plug and Play configuration - лучше включить. Еси ISA нету, то соответствующий пункт включать не надо.
Block devices - флоп, разумеется, включить(еси он есть конечно). Ещё рекомендую включить модулем Loopback device support - тогда можно будет монтировать файлы как диски. К примеру, сдёрнул ISOшник с сидюка, а потом примонтировал через Loopback - вот тебе и Virtual CD <!--emo&:)-->Изображение<!--endemo-->
Multi-device support (RAID and LVM) - включай, еси оно есть в системе. Впрочем, с помощью LVM можно состряпать из нескольких разделов или физических дисков один логический(помнится, у кого-то возникала такая надобность).
Networking options - сетевые настройки. Куча параметров, которые лучше оставить по умолчанию. Можно включить Network packet filtering - это встроенный в систему firewall (iptables). В этом случае в подпункте IP: Netfilter Configuration повключать всё модулями (кроме ipfwadm и ipchains - это эмуляция старых версий). Прочее лучше не трогать, или хотя бы внимательно почитать help.
Telephony Support - поддержка устройств IP-телефонии. Вряд ли кому понадобится.
ATA/IDE/MFM/RLL support - поддержка устройcтв IDE. Если в системе нет IDE-устройств - можно выключить <!--emo&:)-->Изображение<!--endemo-->. Здесь заслуживает внимания только SCSI emulation support - обязательно включить, еси в системе присутствует CD-RW, иначе не будет работать. Прочее - выбор конкретного контроллера. Кроме того, в подразделе Generic PCI IDE chipset support стоит включить всё, что касается DMA.
SCSI support - стоит включить модулем. Кроме того потребуются:
1) для поддержки многих USB-устройств - SCSI generic support
2) для поддержки USB Flash drive - ещё и SCSI disk support
Low level drivers - это драйвера конкретных SCSI-контроллеров. Если что-то есть - включай.
Fusion MPT device support - Х3, что такое. Простым смертным явно не треба.
IEEE 1394 (FireWire) support - ясно из названия. Кому надо - включит.
I2O device support - редкая вещь, встречается лишь на серверах. Выключить.
Network device support - дрова на сетевухи и сетевые интерфейсы. Если в системе есть модем - включить PPP (point-to-point protocol) support и всё, что к нему относится (можно модулями).
Amateur Radio support - это поддержка низкоскоростных протоколов связи через любительские радиостанции. Для радиолюбителей. Прочим нафиг не надо.
IrDA (infrared) support - поддержка инфракрасных портов. Никогда не пользовался, так что посоветовать ничего не могу.
ISDN support - тоже ясно. По использованию - см. предыдущий пункт.
Input core support - треба для работы USB мышей, клавиатур, джойстиков и т.д. Лучше ставить всё модулями, иначе при загрузке ругаться будет(но всё равно работает)
Character devices - куча разнообразных устройств, таких как: последовательные порты, AGPGART (поддержка AGP, плюс там же выбирается - какие матери будет поддерживать), принтеры, мыши и т.д. Direct Rendering Manager (XFree86 DRI support) тоже включай, еси предполагается работать в графике. Кроме того, еси видюха старая, то надо выбрать её драйвер в списке ниже. Еси видюха новая, и на чипе nVidia/ATI - то качай драйвер с офсайта и ставь отдельно. Про nVidia можно подробнее глянуть <a href='http://www.bog.pp.ru/work/linux_nvidia.html' target='_blank'>здесь</a>.
Multimedia devices - поддержка TV-тюнеров и приёмников. Кому надо - включит. Для обладателей плат от nVidia c видеозахватом дорога <a href='http://rivatv.sourceforge.net/' target='_blank'>сюда</a>.
File systems - поддерживаемые файловые системы. Здесь главное правило: драйвер файловой системы, под которую отформатирован корневой раздел, ОБЯЗАТЕЛЬНО должен быть в ядре. А остальное можно и в модуля повыкидывать. Кроме того, не забыть включить все расширения для iso9660, чтоб не получить на сидюках имена в формате 8.3. Network File Systems - внимания заслуживает лишь SMB, для работы с виндозным "сетевым окружением", причём не забудь включить Use a default NLS и указать там cp866, чтоб не получить крокозяблы вместо русских букв.Partition Types трогать не надо. В Native Language Support поставить Default NLS Option: "koi8-r" и повключать модулями все русские кодировки, а также cp437, iso8859-1, и UTF8.
Console drivers - всё, что связано с работой в консоли. Поддержка VGA, разумеется, нужна <!--emo&:)-->Изображение<!--endemo-->, Video mode selection support тож можно включить - позволяет переключать режимы экрана в тексте. Frame-buffer support - позволяет переключать дисплюй в графический режим и задавать нестандартные текстовые разрешения. К ИКСАМ ОТНОШЕНИЯ НЕ ИМЕЕТ.
Sound - дрова на звук. К некоторым звуковухам можно задать настройки(типа числа колонок).
USB support - поддержка части устройств, вешающихся на USB. К сожалению, тут пока Linux отстаёт от форточек. Выбирается драйвер самой шины, и класс устройств. Для работы флэш-дисков надо USB Mass Storage support, для работы клав/мышей - USB Human Interface Device (full HID) support и HID input layer support. С прочим железом не сталкивался.
Bluetooth support - кому надо, тот включит. Мне не приходилось.
Kernel hacking - простым смертным ни к чему. Разве что Magic SysRq key - позволяет расшевелить даже зависшую систему(или, по крайней мере, корректно выйти), да Check for stack overflows - возможно, часть эксплоитов на переполнение стека перестанет работать <!--emo&:)-->Изображение<!--endemo-->. Второе сам не пробовал.
Library routines - простым смертным не надо.

Вот примерно и всё..у кого будут вопросы или исправления - пишите..
Последний раз редактировалось MAPA3bM Чт авг 14, 2003 3:54 am, всего редактировалось 1 раз.
MAPA3bM
Полковник
 
Сообщений: 1270
Зарегистрирован: Вт дек 31, 2002 12:54 am
Откуда: Приморье
Пункты репутации: 0

Сообщение Sh0Ck_filE » Чт авг 14, 2003 8:25 pm

Спасибо, классна статья, занялся бы этим, но вот не уверен, будем ли мой унутренний мопед работать под новым ядром. Только это и удерживает. А в стабильных чётных версиях с выходом дистрибов третьей цифрой (типа 2.4.!18!) обозначается что? в смысле, раз ядро и так стабильное, то просто поддержка новых девайсов? Или всё-таки баги фиксят?
<!--coloro:red--><span style="color:red"><!--/coloro-->"Для того чтобы быть человеком, надо им какое-то время не быть."<!--colorc--></span><!--/colorc--> ©<a href="http://zhurnal.lib.ru/b/brigadir_j_a/" target="_blank">Ю. А. Бригадир.</a>
<a href="http://counter.li.org/cgi-bin/runscript/display-person.cgi?user=437143" target="_blank">Registered Linux user #437143</a>.
Sh0Ck_filE
Генерал-лейтенант
 
Сообщений: 3474
Зарегистрирован: Пн апр 21, 2003 6:20 pm
Откуда: СССР
Пункты репутации: 0

Сообщение MAPA3bM » Чт авг 14, 2003 9:47 pm

2Sh0Ck_filE
Ну во-первых, если он под новым ядром работать перестанет - всегда можно вернуться к старому. Для этого потребуется всего лишь изменить образ по умолчанию в загрузке. А 3я цифра - это как подверсии, и меняется между ними довольно много - не только багфиксы, но и поддержка железа, новые возможности и т.д.
MAPA3bM
Полковник
 
Сообщений: 1270
Зарегистрирован: Вт дек 31, 2002 12:54 am
Откуда: Приморье
Пункты репутации: 0

Сообщение Виндусович-Маздайская » Пт авг 15, 2003 12:23 pm

*шёпотом*

я всё поняла, но вот это меня смущает:

Еси lilo графическое(встречается и такая жуть..),

у меня там вообще asploader... и никакого переключения в текстовый не предусмотрено...

а вообще - спасибо за ликбез <!--emo&:)-->Изображение<!--endemo-->
Виндусович-Маздайская
Призывник
 
Сообщений: 2
Зарегистрирован: Ср июл 30, 2003 6:41 am
Откуда: Мухосранск
Пункты репутации: 0

Сообщение Shelix » Сб авг 16, 2003 2:42 pm

2MAPA3bM Спасибо за инфу. Сегодня полдня мучился, в итоге перекомпил, только поддержка нтфс и фат отрубилась (хотя я в конфигурации ставил) и звук пропал.
<!--QuoteBegin--></span><table border='0' align='center' width='95%' cellpadding='3' cellspacing='1'><tr><td>QUOTE </td></tr><tr><td id='QUOTE'><!--QuoteEBegin--> make install modules modules_install<!--QuoteEnd--></td></tr></table><span class='postcolor'><!--QuoteEEnd-->
А учебник ("Запускаем Linux") да и сам линух говорят, что здесь нужно make dep, а потом make bzImage. Я чего-то не понимаю?
#make modules показывает ошибки. <!--emo&:(-->Изображение<!--endemo-->
<span style='color:blue'>Если тебе не нравится, как я излагаю, купи себе у бога копирайт на русский язык. (Борис Гребенщиков)</span>
<span style='color:yellow'>Все это лишь шизофреническая фантазия моего воспаленного мозга...</span>
Shelix
Подполковник
 
Сообщений: 574
Зарегистрирован: Сб апр 05, 2003 9:06 am
Откуда: Казань
Пункты репутации: 0

Сообщение Invite » Вс авг 17, 2003 7:47 pm

2Shelix
<!--QuoteBegin--></span><table border='0' align='center' width='95%' cellpadding='3' cellspacing='1'><tr><td>QUOTE </td></tr><tr><td id='QUOTE'><!--QuoteEBegin-->А учебник ... да и сам линух говорят<!--QuoteEnd--></td></tr></table><span class='postcolor'><!--QuoteEEnd--> Все правильно говорят:
make menuconfig
make clean #можно и не делать
make dep
make bzImage
make modules
make modules install
make install
Invite
Старшина
 
Сообщений: 46
Зарегистрирован: Вс апр 07, 2002 8:15 pm
Откуда: Лабытнанги
Пункты репутации: 0

Сообщение Shelix » Вс авг 17, 2003 7:59 pm

2Invite Именно так и делал и наконец собрал рабочее ядро на 5 раз. <!--emo&:)-->Изображение<!--endemo--> Некоторые еще советуют делать make mrproper - а это что такое? Как я понял,
make menuconfig - настройка конфигурации
make clean - очистка старых объектных файлов
make dep - установка зависимостей
make bzImage - создание образа ядра
make modules - компиляция модулей
make modules_install - установка модулей??
make install - а вот это что делает?

Никто не знает, как конфигить ASPLoader?
<span style='color:blue'>Если тебе не нравится, как я излагаю, купи себе у бога копирайт на русский язык. (Борис Гребенщиков)</span>
<span style='color:yellow'>Все это лишь шизофреническая фантазия моего воспаленного мозга...</span>
Shelix
Подполковник
 
Сообщений: 574
Зарегистрирован: Сб апр 05, 2003 9:06 am
Откуда: Казань
Пункты репутации: 0

Сообщение MAPA3bM » Вс авг 17, 2003 10:34 pm

2Виндусович-Маздайская
Ну надо же...кого я вижу <!--emo&;)-->Изображение<!--endemo-->
2Shelix
Параметров у того Makefile целая куча. Но не все одинаково полезны..<!--emo&;)-->Изображение<!--endemo--> А именно: make dep надо выполнить всего 1(один) раз на свежераспакованном исходнике, а также в случае изменения названия его каталога или установки патчей. Кроме того, при выполнении make install автоматически выполнится и dep. Make bzImage - это компиляция ядра в другом формате, можно и его использовать, но это уже по вкусу. Главный недостаток - все ядра имеют одно и то же имя, так что поначалу легко запутаться и затереть чё-нить не то. Make clean - это зачистка древа сырцов после предыдущей компиляции, стирающая бинарники, но оставляющая конфигурацию и зависимости, в отличие от mrproper, стирающей ВСЁ. Так что еси не хошь каждый раз наколачивать конфигу с нуля - лучше так не делай <!--emo&:)-->Изображение<!--endemo-->. Make install - это сборник, выполняющий попутно dep, all, и устанавливающий собранное ядро. В некоторых исходниках эта команда ещё и lilo вызывает - можно сразу перегружаться.
Что касается книжек и прочего. Еси есть желание - можете и с ними поколупаться...но: по поводу вышенаписанного всегда есть с кого спросить. А что касается книжек - тут уж сами смотрите..
Насчёт ошибок в модулях - есть кривоватые дрова. Такие лучше найти и отключить.
Как конфигурить ASPloader - знает man. Я - не знаю.
MAPA3bM
Полковник
 
Сообщений: 1270
Зарегистрирован: Вт дек 31, 2002 12:54 am
Откуда: Приморье
Пункты репутации: 0

Сообщение Invite » Пн авг 18, 2003 2:06 pm

<!--QuoteBegin--></span><table border='0' align='center' width='95%' cellpadding='3' cellspacing='1'><tr><td>QUOTE </td></tr><tr><td id='QUOTE'><!--QuoteEBegin-->Ядро будет лежать в файле /boot/vmlinuz-2.4.###<!--QuoteEnd--></td></tr></table><span class='postcolor'><!--QuoteEEnd--> Скорее ядро обзовется как vmlinuz-2.4.xxТО_ЧТО_ВЫ_ПРОПИСАЛИ_В_EXTRAVERSION Аналогично с модулями. Поэтому это <!--QuoteBegin--></span><table border='0' align='center' width='95%' cellpadding='3' cellspacing='1'><tr><td>QUOTE </td></tr><tr><td id='QUOTE'><!--QuoteEBegin-->все ядра имеют одно и то же имя<!--QuoteEnd--></td></tr></table><span class='postcolor'><!--QuoteEEnd--> не совсем верно.

В мандрейке столкнулся с такой проблемой: make install прописывает в /etc/lilo.conf initrd=bla-bla-bla, если initrd не используется (CONFIG_BLK_DEV_INITRD = N), эту строчку нужно удалить и перезапустить лило (/sbin/lilo)

В debian свой способ (debian-way) компилирования:
man make-kpkg
/usr/share/doc/kernel-source-2.4.xx/debian.README.gz
Если надо могу поподробней рассказать.
Invite
Старшина
 
Сообщений: 46
Зарегистрирован: Вс апр 07, 2002 8:15 pm
Откуда: Лабытнанги
Пункты репутации: 0

Сообщение MAPA3bM » Пн авг 18, 2003 10:09 pm

2Invite
<!--QuoteBegin--></span><table border='0' align='center' width='95%' cellpadding='3' cellspacing='1'><tr><td>QUOTE </td></tr><tr><td id='QUOTE'><!--QuoteEBegin-->Скорее ядро обзовется как vmlinuz-2.4.xxТО_ЧТО_ВЫ_ПРОПИСАЛИ_В_EXTRAVERSION Аналогично с модулями.<!--QuoteEnd--></td></tr></table><span class='postcolor'><!--QuoteEEnd-->
Читай внимательней. Выше это указывалось.
Что же касается прописывания в лило - ни разу с таким не сталкивался(максисмум - перезапуск lilo, и то не всегда)...у тебя какая версия ядра? Или это персональные мандраковские заморочки? Впрочем, в любом случае скачанное с Инета новое ядро такой хренью страдать не будет, а перекомпилить ядро, идущее с дистрибутом, вряд ли имеет смысл - еси тока для облегчения, поскольку все присутствующие вещи обычно уже встроены..
MAPA3bM
Полковник
 
Сообщений: 1270
Зарегистрирован: Вт дек 31, 2002 12:54 am
Откуда: Приморье
Пункты репутации: 0

Сообщение Invite » Пн авг 18, 2003 11:48 pm

2MAPA3bM
<!--QuoteBegin--></span><table border='0' align='center' width='95%' cellpadding='3' cellspacing='1'><tr><td>QUOTE </td></tr><tr><td id='QUOTE'><!--QuoteEBegin-->перекомпилить ядро, идущее с дистрибутом, вряд ли имеет смысл<!--QuoteEnd--></td></tr></table><span class='postcolor'><!--QuoteEEnd--> Ну почему же, убрать лишнее, добавить нужное, процессор выбрать и т. д. разве не имеет смысла?
<!--QuoteBegin--></span><table border='0' align='center' width='95%' cellpadding='3' cellspacing='1'><tr><td>QUOTE </td></tr><tr><td id='QUOTE'><!--QuoteEBegin-->в любом случае скачанное с Инета новое ядро такой хренью страдать не будет<!--QuoteEnd--></td></tr></table><span class='postcolor'><!--QuoteEEnd--> Это не факт, если исходники ядра скачаны в виде пакета дистрибутива (что я и рекомендую делать, а не качать с кернел.орг, т. к. в каждом дистрибе свои патчи для ядра), то скорее всего хрень эта так и останется.
<!--QuoteBegin--></span><table border='0' align='center' width='95%' cellpadding='3' cellspacing='1'><tr><td>QUOTE </td></tr><tr><td id='QUOTE'><!--QuoteEBegin-->персональные мандраковские заморочки<!--QuoteEnd--></td></tr></table><span class='postcolor'><!--QuoteEEnd--> Да, насколько я помню там из makefile вызывается скриптик, который эту хрень прописывает и перезапускает лило.
<!--QuoteBegin--></span><table border='0' align='center' width='95%' cellpadding='3' cellspacing='1'><tr><td>QUOTE </td></tr><tr><td id='QUOTE'><!--QuoteEBegin-->Make bzImage - это компиляция ядра в другом формате, можно и его использовать, но это уже по вкусу<!--QuoteEnd--></td></tr></table><span class='postcolor'><!--QuoteEEnd--> Дык вроде это сейчас дефолтный способ создания ядра (по крайней мере в debian это так).
<!--QuoteBegin--></span><table border='0' align='center' width='95%' cellpadding='3' cellspacing='1'><tr><td>QUOTE </td></tr><tr><td id='QUOTE'><!--QuoteEBegin-->есть кривоватые дрова. Такие лучше найти и отключить.<!--QuoteEnd--></td></tr></table><span class='postcolor'><!--QuoteEEnd--> Не, это не linux-way <!--emo&:)-->Изображение<!--endemo-->, лучше покопаться в исходниках или хотя бы баг-репорт отправить.
Invite
Старшина
 
Сообщений: 46
Зарегистрирован: Вс апр 07, 2002 8:15 pm
Откуда: Лабытнанги
Пункты репутации: 0

Сообщение MAPA3bM » Вт авг 19, 2003 1:07 am

2Invite
<!--QuoteBegin--></span><table border='0' align='center' width='95%' cellpadding='3' cellspacing='1'><tr><td>QUOTE </td></tr><tr><td id='QUOTE'><!--QuoteEBegin-->Ну почему же, убрать лишнее, добавить нужное, процессор выбрать и т. д. разве не имеет смысла?<!--QuoteEnd--></td></tr></table><span class='postcolor'><!--QuoteEEnd-->
Добавлять там в большинстве случаев нечего - и так всё включено(или в ядро, или модулями). Настройка под проц тоже - обычно идёт несколько компилированных под конкретный проц ядер(и glibc тоже). Остаётся только разгрузка..
<!--QuoteBegin--></span><table border='0' align='center' width='95%' cellpadding='3' cellspacing='1'><tr><td>QUOTE </td></tr><tr><td id='QUOTE'><!--QuoteEBegin-->Это не факт, если исходники ядра скачаны в виде пакета дистрибутива (что я и рекомендую делать, а не качать с кернел.орг, т. к. в каждом дистрибе свои патчи для ядра), то скорее всего хрень эта так и останется.<!--QuoteEnd--></td></tr></table><span class='postcolor'><!--QuoteEEnd-->
ага...а ещё могут другие патчи перестать ставиться. К примеру, на стандартные RedHat`овские сырцы патч поддержки XFS не лезет ни в какую. И вся эта зараза "для облегчения жизни пользователю"(типа автопрописывания загрузочного образа) зачастую только гемора добавляет. К примеру, недавно я для проверки системы запустил в пакетном режиме компиляцию...за час ядро скомпилилось 17 раз. Это что - у меня в лиле должно было 17 одинаковых образов добавиться? <!--emo&:lol:-->Изображение<!--endemo-->
<!--QuoteBegin--></span><table border='0' align='center' width='95%' cellpadding='3' cellspacing='1'><tr><td>QUOTE </td></tr><tr><td id='QUOTE'><!--QuoteEBegin-->Дык вроде это сейчас дефолтный способ создания ядра (по крайней мере в debian это так).<!--QuoteEnd--></td></tr></table><span class='postcolor'><!--QuoteEEnd-->
А где он дефолтный? Ни разу не встречал - еси набрать make без параметров, выполняются config(при необходимости), depend(при необходимости) и all - сборка vmlinuz. Про bzImage слов нет...да и в конце концов - при наличии нескольких версий ядра этот способ менее удобен, чем install.
<!--QuoteBegin--></span><table border='0' align='center' width='95%' cellpadding='3' cellspacing='1'><tr><td>QUOTE </td></tr><tr><td id='QUOTE'><!--QuoteEBegin-->Не, это не linux-way , лучше покопаться в исходниках или хотя бы баг-репорт отправить. <!--QuoteEnd--></td></tr></table><span class='postcolor'><!--QuoteEEnd-->
Хех...тебе легко говорить..а что делать юзеру, который впервые в жизни за это взялся? Не забывай, что большинство читающих эту статью - новички..
MAPA3bM
Полковник
 
Сообщений: 1270
Зарегистрирован: Вт дек 31, 2002 12:54 am
Откуда: Приморье
Пункты репутации: 0

Сообщение Виндусович-Маздайская » Вт авг 19, 2003 12:31 pm

2MAPA3bM
да, и кого это ты там видишь?
а я спросила-таки... про загрузчик <!--emo&:)-->Изображение<!--endemo-->
Виндусович-Маздайская
Призывник
 
Сообщений: 2
Зарегистрирован: Ср июл 30, 2003 6:41 am
Откуда: Мухосранск
Пункты репутации: 0

Сообщение Invite » Вт авг 19, 2003 3:38 pm

2MAPA3bM
<!--QuoteBegin--></span><table border='0' align='center' width='95%' cellpadding='3' cellspacing='1'><tr><td>QUOTE </td></tr><tr><td id='QUOTE'><!--QuoteEBegin-->на стандартные RedHat`овские сырцы патч поддержки XFS не лезет ни в какую<!--QuoteEnd--></td></tr></table><span class='postcolor'><!--QuoteEEnd--> Может быть есть редхатовский пакет с патчем, который ставится без проблем?
<!--QuoteBegin--></span><table border='0' align='center' width='95%' cellpadding='3' cellspacing='1'><tr><td>QUOTE </td></tr><tr><td id='QUOTE'><!--QuoteEBegin-->что - у меня в лиле должно было 17 одинаковых образов добавиться?<!--QuoteEnd--></td></tr></table><span class='postcolor'><!--QuoteEEnd--> Сомневаюсь, что ты в это время хотя бы раз make install сделал.
<!--QuoteBegin--></span><table border='0' align='center' width='95%' cellpadding='3' cellspacing='1'><tr><td>QUOTE </td></tr><tr><td id='QUOTE'><!--QuoteEBegin-->А где он дефолтный?...<!--QuoteEnd--></td></tr></table><span class='postcolor'><!--QuoteEEnd--> После make install посмотри на файлик bzImage в каталоге arch/i386/boot/, который и является твоим ядром.
<!--QuoteBegin--></span><table border='0' align='center' width='95%' cellpadding='3' cellspacing='1'><tr><td>QUOTE </td></tr><tr><td id='QUOTE'><!--QuoteEBegin-->при наличии нескольких версий ядра этот способ менее удобен, чем install<!--QuoteEnd--></td></tr></table><span class='postcolor'><!--QuoteEEnd--> Читай внимательней, в конце make install выполняется.
<!--QuoteBegin--></span><table border='0' align='center' width='95%' cellpadding='3' cellspacing='1'><tr><td>QUOTE </td></tr><tr><td id='QUOTE'><!--QuoteEBegin-->что делать юзеру, который впервые в жизни за это взялся?<!--QuoteEnd--></td></tr></table><span class='postcolor'><!--QuoteEEnd--> А что делать юзеру если ему этот драйвер необходим?
Invite
Старшина
 
Сообщений: 46
Зарегистрирован: Вс апр 07, 2002 8:15 pm
Откуда: Лабытнанги
Пункты репутации: 0


Вернуться в Unix/Linux/*nix

Кто сейчас на форуме

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 10

cron