LINUX.ORG.RU
 

"Linux kernel in a nutshell" или коротко о ядре Линукс.


0

0

Greg Kroah-Hartman выпустил книгу "Linux kernel in a nutshell", в которой он описывает процесс конфигурации, сборки и установки ядра Линукс. Книга описывает большинство опций конфигурации ядра (изначально планировалось описать их все, но тогда размер книги превысил бы 1000 страниц), автор особенно гордится главой, описывающей процесс выбора опций ядра для нетипичной конфигурации аппаратного обеспечения.

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

Книга доступна как в печатном виде, так и в форматах pdf и DocBook. Впервые в истории так же доступна полная история написания книги в репозитории git (http://www.kernel.org/git/?p=linux/ke...).

Купить на Amazon.com: http://www.amazon.com/Linux-Kernel-Nu...

>>> Подробности

** ()
Проверено: Shaman007 (10.01.2007 10:18:22)

ПОСАДИ КОМПЬЮТЕР НА ЦЕПЬ И ЗАСТАВЬ ЛАЯТЬ!

домашняя автоматизация: сделай сам; лучший подарок для техногика

http://www.unicontrollers.com/products/unc01x

[#]  

Re:

s/достепна/доступна

anonymous ()
[#]  

Re:

>Данная книга полезна всем, кто любит компилировать ядро под собственные нужды с поддержкой только собственного оборудования.

Жесть.

Меня зовут Василий Пупкин. В свободное от работы время я очень люблю компилировать ядро под собственные нужды. И обязательно с поддержкой только собственного оборудования.Вчера например я компилировал его с поддержкой беспроводной сети. Это было непередаваемое ощущение.

И поэтому книга "Linux in a nutshell" всегда со мной.

anonymous ()
[#] Ответ на: Re: от anonymous 10.01.2007 11:00:32  
Cy6erBr4in

Re:

Убейся апстену, ананимус... на роутер, у которого система на флешке стоит, ты тоже будешь ставить дефолтное дистровое ялро размером в несколько мегобайт?

*** ()
[#] Ответ на: Re: от Cy6erBr4in 10.01.2007 11:06:47  

Re:

Прально, не позорь анонимусов.

anonymous ()
[#]  

Re:

злодей разбил книгу на мелкие файлы, чтоб мы все на амазон ломанулись (известный приём)

# ()
[#]  

Re:

о, спасибо... в принципе никогда не конфигурировал ядро пользуясь мануалами, но нужно когда-нибудь начать их читать...

()
[#] Ответ на: Re: от Cy6erBr4in 10.01.2007 11:06:47  

Re:

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

anonymous ()
[#] Ответ на: Re: от anonymous 10.01.2007 11:00:32  
Ulfzart

Re:

off: Ананимус! Перекомпилируй его с поддержкой проводной сети и задушись проводом!

Интересно было бы на эту книжку поглядеть в печатном виде.

()
[#] Ответ на: Re: от zort 10.01.2007 11:19:06  

Re:

>злодей разбил книгу на мелкие файлы, чтоб мы все на амазон ломанулись (известный приём)

злодей поместил также все эти мелкие файлы единым архивом если ты не заметил...

()
[#] Ответ на: Re: от anonymous 10.01.2007 11:19:55  
Cy6erBr4in

Re:

Я тоже люблю другие вещи, и ядро я не каждый день перекомпилирую, но это не значет, что появление такой книги недостойное событие, чтобы написать про неё книгу, ты со мной согласен?

*** ()
[#] Ответ на: Re: от Cy6erBr4in 10.01.2007 11:24:16  
Cy6erBr4in

Re:

s/чтобы написать про неё книгу/чтобы написать про неё НОВОСТЬ

*** ()
[#] Ответ на: Re: от zort 10.01.2007 11:19:06  
klalafuda

Re:

> злодей разбил книгу на мелкие файлы, чтоб мы все на амазон ломанулись (известный приём)

злодей писал однако в DocBook и там AFAIR была какая-то проблема с объединением глав в единый pdf..

// wbr

*## ()
[#] Ответ на: Re: от Cy6erBr4in 10.01.2007 11:24:16  

Re:

Абсолютно согласен. Но очень уж повеселило выражение "для тех кто любит компилировать ядро". Это получается не для меня что-ли? Обидно, понимаешь ;-)

anonymous ()
[#] Ответ на: Re: от anonymous 10.01.2007 11:00:32  

Re:

У реальных пацанов всегда стоит дефолтное (>30мб модулей), скомпиленное под i386 и работающее на Core4Quattro. А самосборное, оптимизированное под проц(~2Мб) - это для лохов, у которых нет денег на "нормальное" железо и которых не устраивает "как дядя сверху прописал", так? :)

*** ()
[#]  

Re:

На русском?

anonymous ()
[#] Ответ на: Re: от frame 10.01.2007 11:31:37  

Re:

Не, это для тех у кого очень много свободного времени.

anonymous ()
[#] Ответ на: Re: от anonymous 10.01.2007 11:46:52  

Re:

да, аж целых 15 минут - лучше, наверное, пойти покурить

*** ()
[#] Ответ на: Re: от anonymous 10.01.2007 11:46:52  

Re:

Это для тех у кого не каша вместо мозга

anonymous ()
[#] Ответ на: Re: от frame 10.01.2007 11:31:37  

Re:

> >30мб модулей

Тебе 30 Мб на диске жалко?

> А самосборное, оптимизированное под проц(~2Мб) - это для лохов

Оптимизация - она, похоже, в головах (этих самых лохов).

> которых не устраивает "как дядя сверху прописал"

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

*** ()
[#] Ответ на: Re: от anonymous 10.01.2007 11:34:38  
GladAlex

Re:

>На русском?

Да, в транслите только ;)

***** ()
[#] Ответ на: Re: от dm1024 10.01.2007 11:56:52  

Re:

>Оптимизация - она, похоже, в головах (этих самых лохов)

Когда перед тобой задача - обеспечить нормальное функционирование роутера с практически 100% "нагрузкой" (траффиком) на все сетевые интерфейсы и где правил в IPTABLES больше полутора тысяч, ты быстро увидишь разницу между -march=athlon-xp и -march=i386, я тебя уверяю

*** ()
[#] Ответ на: Re: от dm1024 10.01.2007 11:56:52  

Re:

> Тебе 30 Мб на диске жалко?

А сколько по времени depmod при ребуте делается?
А сколько это все оперативки жрет?
Мне лично жаль иметь в ядре поддержку NFS, RAID0145, всякого барахла типа IPv6 и по десятку драйверов IDE, SATA, SCSI, ETHERNET, всяких экзотических FS xfs, ntfs... и прочей радости типа синезуба.
Не нужное оно.
Система у меня использует ATA (SATA+PATA), ReiserFS, NVidia, встроенную рилтековскую сеть, USB клаву, крысу и флешки. ВСЁ!
Скажешь, "а убери из загрузки"? Это более правильно. Но не проще ли prestlerтогда вообще пересобрать ядро под конфигурацию машины? Один раз посидеть, поконфигурить, а потом просто подсовывать имеющийся конфиг новому ядру. Собственно, пересборка у меня в зависимости от машины 7..15 минут, ну и пару минут на ребут. :-) Можно даже на работу придти чуть раньше (или уйти попозже) ради этого, раз уж так ты тут ратуешь на трудовую дисциплину и любишь работать. :-)

> Оптимизация - она, похоже, в головах (этих самых лохов).

Ой, правда что ли? man gcc, уважаемый! И вообще, учите матчасть. Курить до посинения хотя бы чем отличается "-O2" от "-O3", "-march=i686" от "-march=nocona" и нужна ли опция "-g".

> специально обученный, умный дядя

Улыбнуло. Еще больше улыбает, когда эти самые дяди используют комбинации типа "-O2 -fforce-math". А потом удивляются, чего это софт глючит и вообще сегфолтится.

> Это ядро этого дяди является продуктом обкатанным и постоянно тестируемым кучей народа на предмет всякого рода глюков

Не очень понял. Тестируется таки ЯДРО или конкретная сборка? :-) Вы определитесь уже, что ли...
Если все же конкретная сборка ядра, то эт-та... Вы хотите сказать, что этот "дядя" поумнее Линуса&Co. будет, да? А как конкретно "дядю" зовут? Надо же знать, на кого молиться.

# ()
[#] Ответ на: Re: от frame 10.01.2007 12:27:42  

Re:

Вопрос в другом: "А нафига такая книжка человеку, который занимается сборкой роутеров?".

Ну не нужна эта книжка, не нужна.

anonymous ()
[#] Ответ на: Re: от anonymous 10.01.2007 12:33:55  
Teak

Re:

Ну не читай её, не читай.

***** ()
[#] Ответ на: Re: от sergej 10.01.2007 11:51:53  

Re:

и что ? от того что он их запаковал, pdfки внутри архива склеились в одну ?

# ()
[#] Ответ на: Re: от anonymous 10.01.2007 12:33:55  

Re:

А не задумывался ли уважаемый, как стать таким человеком?

*** ()
[#] Ответ на: Re: от anonymous 10.01.2007 12:33:55  

Re:

>Ну не нужна эта книжка, не нужна.

Самое интересное в том, что от вашего мнения она не исчезнет :)

()
[#] Ответ на: Re: от anonymous 10.01.2007 12:33:55  

Re:

>Вопрос в другом: "А нафига такая книжка человеку, который занимается сборкой роутеров?". > Ну не нужна эта книжка, не нужна.

Успел уже всё прочитать ? ;)

Или "Пастернака не читал но осуждаю" ? ;)

***** ()
[#] Ответ на: Re: от zort 10.01.2007 12:38:52  
los_nikos

Re:

Склей их сам, что тебе мешает? Docbook есть, xml-парсер есть, так в чём-же дело?

***** ()
[#] Ответ на: Re: от sS 10.01.2007 12:41:43  

Re:

Успел её просмотреть. Там много места занимает тривиальное цитирование, как водится. Много воды.

Людьми "собирающими роутеры" становятся не по книжкам. Это работа творческая. :)

anonymous ()
[#] Ответ на: Re: от R00T 10.01.2007 12:32:26  
sabonez

Re:

+1 Верно говоришь! Нефиг из ядра помойку делать.

*### ()
[#] Ответ на: Re: от frame 10.01.2007 11:31:37  
sysenter

Re:

> У реальных пацанов всегда стоит дефолтное (>30мб модулей)

В оперативную память загружаются только необходимые модули, поэтому ядол будет занимать в памяти существенно меньше, чем >30МБ.

> скомпиленное под i386 и работающее на Core4Quattro

Вернее под i686. А по-вашему что - лучше собрать ядро под свое железо и при смене звуковухи, сетевой и уж тем более платформы пересобирать каждый раз все ядро? Какой прирост производительности от оптимизации ядра под свое железо или вы наивно считаете, что ядро во всю активно использует расширения команд SIMD SSE/SSE2/SSE2/MMX/MMX2 современных x86 процессоров?

> А самосборное, оптимизированное под проц(~2Мб) - это для лохов

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

> для лохов, у которых нет денег на "нормальное" железо

Если для вас огромная проблема когда на ВИНТЕ расходуется попусту 30МБ-2МБ под модули, то вам действительно придется заниматься постоянной пересборкой ядер.

> и которых не устраивает "как дядя сверху прописал", так? :)

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

()
[#]  

Re:

Название книги в теме не правильное - "Linux in a nutshell".
Должно быть "Linux kernel in a nutshell".
"Linux in a nutshell" это совсем другая книга.

()
[#] Ответ на: Re: от sysenter 10.01.2007 13:02:46  
sysenter

Re:

Сорри за очепятки s/ядол/ядро/ s/Для тем/Для тех/ и тд

()
[#]  

Re:

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

anonymous ()
[#] Ответ на: Re: от andron01 10.01.2007 13:03:43  

Re:

кому надо - уже давно нашел эту книгу в виде одного chm - файла, с оглавлением, поиском и т.д.

()
[#] Ответ на: Re: от anonymous 10.01.2007 13:08:26  

Re:

La LOR effecto

anonymous ()
[#] Ответ на: Re: от andron01 10.01.2007 13:03:43  
Teak

Re:

Поправил.

***** ()
[#] Ответ на: Re: от sysenter 10.01.2007 13:07:47  
Teak

Re:

Смени аватар. Сейчас. Через час забаню.

***** ()
[#] Ответ на: Re: от frame 10.01.2007 12:27:42  
sysenter

Re:

> Когда перед тобой задача - обеспечить нормальное функционирование роутера с практически 100% "нагрузкой" (траффиком) на все сетевые интерфейсы и где правил в IPTABLES больше полутора тысяч, ты быстро увидишь разницу между -march=athlon-xp и -march=i386, я тебя уверяю

Религия мешает установить kernel-image-2.6.8-2-k7?

()
[#] Ответ на: Re: от sysenter 10.01.2007 13:02:46  

Re:

Да да помнится как-то РУТ тут писал про оптимизацию ядра под sse,sse2 и тому подобного. Ему тут обьясняли что толку от этого ни хера нет. А он все туда же.

anonymous ()
[#] Ответ на: Re: от R00T 10.01.2007 12:32:26  
sysenter

Re:

> Мне лично жаль иметь в ядре поддержку NFS, RAID0145, всякого барахла типа IPv6 и по десятку драйверов IDE, SATA, SCSI, ETHERNET, всяких экзотических FS xfs, ntfs... и прочей радости типа синезуба. Не нужное оно.

Зато когда понадобится - пересборка, когда нужно дырку закрыть - пересборка, а когда машин с несколько отличающейся конфигурацией много - много и ручной работы, попросту анонизма с обновлением ядер, собранных под конкретные железки. В модульноя ядре то, что не нужно, то и не грузится.

> Ой, правда что ли? man gcc, уважаемый! И вообще, учите матчасть. Курить до посинения хотя бы чем отличается "-O2" от "-O3", "-march=i686" от "-march=nocona" и нужна ли опция "-g".

Цифры можете предоставиь насколько процентов (или долей процента?) ядро собранное под nocona производительнее собранного под i686?

> Тестируется таки ЯДРО или конкретная сборка? :-)

Обкатка производится на штатной сборке, поэтому когда глюки вылезут на конкретно вашей сборке с конкретно вашими флагами это будет конкретно вашей проблемой. Или вы еще не в курсе как проявляется увлечение оптимизацией? Тогда поставьте Gentoo и поиграйтесь с CFLAGS.

()
[#] Ответ на: Re: от sysenter 10.01.2007 13:18:47  
acheron

Re:

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

**** ()
[#] Ответ на: Re: от sysenter 10.01.2007 13:30:25  
Teak

Re:

Я что-то непонятное сказал, да? Сложно доходит?

***** ()
[#] Ответ на: Re: от sysenter 10.01.2007 13:30:25  
sabonez

Re:

Анонизма ровно стока, чтоб подсунуть новому ядру конфиг, собраться и ребутнуться.

*### ()
[#] Ответ на: Re: от acheron 10.01.2007 13:31:42  
sabonez

Re:

Ага, а заодно вырубают всякие DEBUG-и да VERBOSE-ы.

Видать тока гента....

*### ()
[#] Ответ на: Re: от sysenter 10.01.2007 13:02:46  

Re:

> В оперативную память загружаются только необходимые модули, поэтому ядол будет занимать в памяти существенно меньше, чем >30МБ.

Это если вы ручками покапаетесь как следует, потюните атолоадер и прочее... В дефолте дистрибы грузят вообще все модули в надежде на то, что этим способом будет обнаружено и задействовано максимальное количества оборудования в компе.
В действительности же, тюнинг автолоадера (а ведь нужно изучить как это делать, узнать названия нужных модулей, прописать в modprobe.d всю эту радовать) по времени вполне сравнимо со сборкой ядра с нуля.

> собрать ядро под свое железо и при смене звуковухи, сетевой и уж тем более платформы пересобирать каждый раз все ядро

А часто вам приходится менять встроенные сетевухи и звуковухи? По поводу звуковух могу сказать, что за 13 лет пользования компами у меня было в общей сложности 5 звуковух в 6 компах, это с учетом встроенных. Негусто, правда? А что касается платформы, то (скорее всего) некие телодвижения придется делать в ЛЮБОМ случае. Например, если у вас в дефолте грузятся только модули VIA-SATA, а вы сменили платформу на VIA, то ядро вам при загрузке нарисует что-то типа "root fs not found, kernel panic".

> дро во всю активно использует расширения команд SIMD SSE/SSE2/SSE2/MMX/MMX2 современных x86 процессоров?

Нет, не использует. НО! Оно сохраняет регистры SIMD блоков при переключении контекстов. Что дает возможность делать "-O3 -march=nocona -msse -mfpmath=sse3". "-msse -mfpmath=sse3" позволит компилятору использовать SSE, а "-O3" дает внутри "-finline-functions", что в итоге позволяет передавать параметры функций через регистры SSE - а они большие и даты в них лезет много. Вот и подумайте, насколько можно ускорить работу софта только за счет этого маленького финта. А чтобы вы не мучались, скажу сразу: mysql-test показывает повышение производительности только на insert и create от 30 до 50 процентов по сравнению с обычной компиляцией ядра и мускля.

> Для всех остальных случаев модульное ядро обладает наивысшей гибкостью и позволяет не тратить свое время на постоянные пересборки ядра по каждому пустяку.

Вас послушать, так вы в день по 100 раз меняете конфигурацию своего компа? Матери, процы, винты, звук, сеть? Скажите сначала: сколько раз в действительности вам приходится менять конфигурацию компа, скажем, за месяц, а потом уже можете продолжить рассказы про модули.

> Если для вас огромная проблема когда на ВИНТЕ расходуется попусту 30МБ-2МБ под модули, то вам действительно придется заниматься постоянной пересборкой ядер.

r00t@root:~$ du -hs /usr/src/linux-2.6.19.1
397M /usr/src/linux-2.6.19.1
r00t@root:~$ df
Filesystem 1K-blocks Used Available Use% Mounted on
/dev/sda3 53751824 30953588 22798236 58% /

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

> средней экономией оперативной памяти занимаемой ядром при использовании самосборного ядра в сравнении со штатным модульным

Уже огласил. 30-50% производительности только для мускля 4.1. А по расходу памяти будет сравнимо, разумеется.

> сборщики штатного дистрибутивного ядра ничего не понимают в сборке ядер

Они-то понимают. Это вы не понимаете. Задача сборщиков дистрибутивных ядер в том (и ТОЛЬКО в том), чтобы свежеустановленный дистр запустился на максимальном количестве компов. Поэтому они и пихают в ядро, собственно, все что влезет. :-) Потому и используется i686 как платформа сборки ядра и софта - оно наиболее универсально: сможет работать на процах от PentiumPro до Core 2 Quattro (ну и на соответствующих поделках AMD, VIA и прочих трансмет). Вот только цена этой универсальности - снижение эффективности новейших камней. Приятно вам сознавать, что ваш какой-нибудь PentiumD работает на самом деле просто как разогнанный до 3-х ГГц Pentium2? :-) Если вам приятно, это еще совсем не значит, что остальные люди тоже мазохисты.

# ()
[#] Ответ на: Re: от sysenter 10.01.2007 13:02:46  

Re:

>В оперативную память загружаются только необходимые модули

низкая скорость запуска системы + не всегда корректное определение оборудования

>А по-вашему что - лучше собрать ядро под свое железо и при смене звуковухи, сетевой и уж тем более платформы пересобирать каждый раз все ядро

раз в 1-5 лет?

>Для всех остальных случаев модульное ядро обладает наивысшей гибкостью и позволяет не тратить свое время на постоянные пересборки ядра по каждому пустяку

При появлении очередной уязвимости кому-то, конечно, проще мегабайты перекачать, а кому-то - несколько кбайт патч и 10 минут на make bzImage

>Для тех, у кого очень много свободного времени, чтобы тратить его на столь бессмысленные развлечения

да, раньше это было именно развлечением, теперь мне за подобные вещи платят

>Вас мучают какие-то комплексы, которые выражаются в стремлении выделиться и делать все наперекор здравому смыслу по-своему, считая что сборщики штатного дистрибутивного ядра ничего не понимают в сборке ядер?

Да, _штатное_ дистрибутивное ядро меня не устраивает - оно громоздкое и медленное, я хочу и _могу_ настроить, пересобрать его "под себя" и считаю это правильным

>Огласите, пожалуйста, общее время убитое на пересборку ядер и средний прирост производительности со средней экономией оперативной памяти занимаемой ядром при использовании самосборного ядра в сравнении со штатным модульным.

Если для кого-то это "убитое" время (6-9 минутная компиляция не в счёт) - для меня это _штатные_ люди, просто защищающие чью-то позицию.

*** ()