Компиляция ядра, есть ли автонастройщики под оборудование и какая разница между модулем или встроенно? и др.
Не скажу что совсем не умею компилировать ядро linux, все могу и делал и не раз, решая разные задачи как оборудования так и дополнительных возможностей, но до сих пор не очень понимаю некоторые вещи:
1. Несколько раз пытался выкинуть из настроек ядра то что мне не нужно (от оборудования до неиспользуемых возможностей), но где то после получаса копошения по настройкам и чтения скудной документации понимал что бардак и оставлял как есть, либо genkernel либо надеялся на 'авось' (про make help в курсе).
a) Существуют ли какие либо средства автоматической подстройки ядра linux под конкретное оборудование?
b) Зачастую, для решения какой либо проблемы требуется включать не один пункт в настройках, а целую группу, а для того, чтобы найти в интернете необходимую комбинацию этих настроек, приходится перелопатить ну просто море разрозненной информации. Может существует какая-либо общая документация (все в одном месте)?
Тут наверное можно было бы внести предложение по выкладыванию документации по настройке ядра в gentoo-wiki.com (там и так стараются, красиво изобразить) не только в виде красивой таблички, а в виде... ну хотя бы патча к .config!
2. В чем разница компиляции модулей ядра в само ядро и в виде модуля? Я понимаю что при компиляции в виде модуля требуется его отдельно загружать, а если требуется до baselayout и собирать миниобраз initrd (отдельный разговор... тоже как мне кажется бардак, ведь стандарта на его сборку нет, да и не решает все задачи он). Если я абсолютно все необходимое буду собирать в ядре, не буду ли я ограничен в функциональности? Например скрипт отключения wifi на ноуте при выключении выгружает модули, это обязательно? если конечно речь не идет об экономии памяти. или наоборот, если все необходимое собирать в виде модуля, хватит ли на все наличия initrd со всеми собранными модулями, ведь почти все имеющиеся загрузчики позволяют его загружать (про embended пока молчу). В общем как определить, в каком случае собирать в виде загружаемого модуля или нет?
3. Пробуя собрать ядро user mode linux совершенно случайно узнал, что оказывается при компиляции ядра можно указать параметр ARCH=... который подхватит дополнительные настройки? или что то, меняющее логику сборки ядра!.. Где бы почитать документацию по всем возможностям make ядра, может все это на виду, но мне не пошарам?
- Для комментирования войдите или зарегистрируйтесь
1.
1. http://62.3.120.141/~pappy/
Текстовый редактор vi имеет два режима работы: в первом он пищит, а во втором — всё портит.
up
я извиняюсь, но на какой из заданных мной вопросов это является ответом?
Еще одна дока, коих легион, тут еще даны начальные конфиги (как я понял minimal) для конкретных версий ядер. А вот ссылка http://kmuto.jp/debian/hcl/ от туда, полезная.
P.S. up
Это минимальный конфиг ядра с
Это минимальный конфиг ядра с докой "как включить только нужное". По мне — очень полезная вещь. Да, не автоматика. Но по-моему, оно и к лучшему.
Текстовый редактор vi имеет два режима работы: в первом он пищит, а во втором — всё портит.
В чем разница компиляции
В чем разница компиляции модулей ядра в само ядро и в виде модуля?
Разница в том, что модуль еще имеет определенный интерфейс, который позволяет подключать его код к ядру и отключать. Т.е. лишняя приблуда. Если вы точно будете использовать некие возможности ядра - вкомпиливайте в ядро. За исключением тех случаев, когда возможна будет работа без них. Например, модулем сделать дрова на сетевуху, если возможен вариант работы без оной. Если вы делаете роутер, то глупо туда сетевые карты, шедулеры сети и модули netfilter делать модулями ядра.
Понятней не стало :(.
Понятней не стало :(. Собственно задам вопрос про модули по другому - если я все необходимое буду компилировать в ядро, какие подводные камни меня могут ожидать, ну к примеру может что то не заработает?
У меня опасения именно в плане загрузки и выгрузки модуля, с указанием каких либо параметров к нему. Я не ошибаюсь, echo блаблабла > /sys/modules/... специально для передачи параметров? т.е. его достаточно?
mod
Модулями еще и безопасней :) Если какой то код начнет крешиться, ты сможешь выгрузть модуль :)
А так прийдетца перезапускать весь компьютер
Working on Gentoo Linux for Asus P535 and Qtopia :-)
в свете данной темы и
в свете данной темы и опуубликованной ссылки возникла идея такой вот софтины, возможно чтото вроде надстройки к menuconfig.
сцена: девайс(комп с платами расширения) кучей перифирии(принтеры сканнеры флэшки мышки клавы), лайв сиди
смысл такой(в 2, максимум 3 шага) конфигурируем ядро чисто под набор железок:
шаг первый >>конфигурируем ядро с нуля.<<
на данном шаге выбираются проц, контроллеры, чипсеты...
перед меню конфиг выполняются lspci, lsusb, тобишь определяется состав того что воткнуто... составляется список того, что желательно бы включить в ядре чтоб это все(всмысле железо) понималось системой.
грузится make menuconfig, которому скармливается сей список, далее в менюшках, скажем жёлтеньким подсвечиваются те позиции, которые рекоммендованы к включению..., дальше админ-юзер сам решает вкл или не вкл
сцена: девайс(комп с платами расширения) кучей перифирии(принтеры сканнеры флэшки мышки клавы), уже загруданы в только что скомпиленное ядро.
шаг второй >>конфигурирем ядро под возможности железа<<
скажем суспенд(если держится матушкой), управление питанием, особенности загрузки модулей(скажем с какимито обязательными параметрами, допустим для твтюннера или wifi - карты).
шаг третий >> запасной <<
=)
вот... может быть полуавтоматическое что нить есть...(не genkernel)
_______________________________________
грех обманывать компиляторы в субботу
Немного не по теме!
а может кто нибудь подсказать параметры ядра (кроме нужных для загрузки и так далее) которые увеличивают производительность системы (домашней)? может есть манулчегили справочник, или кто нить поделиться личным опытом? а то с английским не дружу и доки в ядре читать затруднительно =)
Что подразумевается под
Что подразумевается под увеличением производительности? тут дело не в параметрах ядра, а в конфигурации системы. процессор быстрее работать не станет, шпиндель у винчестера тоже не будет быстрее крутиться ))) А с английским дружиться надо
Ubuntu is an African Word that means "Gentoo is too hard for me"