LINUX.ORG.RU

Руководство / HOWTO по конфигурации и установке минимального ядра 2.6.12 на Fedora Core 2 и FC-3


0

0

Прошу написать свои отзывы (а также допущенные ошибки)
на написанное мной руководство по конфигурации и установке минимального ядра 2.6.12 (или kernel 2.6.11 2.6.12.1 2.6.12.2 2.6.12.3 2.6.12.4) на Fedora Core 2 и FC-3.

http://www.dzti.edu.lv/links/min-kern-2.6.php


Если у тебя удаленный терминал на KOI8-R, то LANG=c для mc не понадобится.

>Скачать с ближайшего зеркала http://www.kernel.org/mirrors/ последнее ядро, например команда:

Вот этого делать нельзя, если у тебя не тестовая машина. Ядра rh сильно отличаются от ванильного, они оптимизированы, имеют поддержку se linux, все элеваторы и часто содержат патчи для сборки.

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

Если ты не сделаешь make oldconfig, то файл конфигурации может поплыть.

>Из этих сообщений следует, что Linux грузится с RAM диска initrd файловая система которого ext2fs. А для работы сжатым RAM-диском (надпись ”Uncompressing Linux… ok”) необходимо в ядре включить “RAM disk support”.

Uncompressing относится к тому, что ядро пожато (bzImage... была такая раньше команда). Еще для поддержки initrd нужна поддержка ROM FS (у тебя там ниже есть, но стоит отметить).

>однако подумайте каким образом загрузится ядро с жестого диска, если драйвер жесткого диска будет модулем? Поэтому поддержку такого оборудования компьютера как контролер жестких дисков, сетевой карты и так далее желательно непосредственно встривать в ядро 2.6 Linux.

Для этого есть initrd. См. выше.

Форматы a.out и misc лучше скомпилить в виде модулей. Последняя раньше была нужна для wine (как сейчас - хз).


>ATA/ATAPI/MFM/RLL support Здесь важно выбрать именно те опции, которые соответсвуют Вашему компьютеру. Для того что бы узнать что у Вас установлено наберите команду # lspci |grep IDE. В моем случае это “Intell PIIXn chipset support”

Можно собрать вообще все. Никаких проблем не будет.

Кстати, неплохо расширенные атрибуты включить и для /dev/pts, и для файловых систем.

>Завершив процесс конфигурации необходимо собрать ядро. Сборка ядра состоит их компиляции ядра и компиляции моделей
> # make bzImage
> # make modules

Ядро уже сто лет собирается так:

make
make modules

И если бы ставили на ту же машину, то сказали бы:
make modules_install
make install


>Перезапускаем компьютер и имеем простейшее работающее ядро :)

Я так и не понял в чем простота.

Имеем машину, где менеджер пакетов не знает о том, что у него новое ядро, потому что оно поставлено не из rpm.

Был бы rpm, не пришлось бы шаманить с инсталлами и запаковкой.

Как собрать свое ядро в rpm: http://www.linux.org.ru/books/lor-faq/lorFAQ-18.html#ss18.7

jackill ★★★★★
()
Ответ на: комментарий от jackill

> Если у тебя удаленный терминал на KOI8-R, то LANG=c для mc не понадобится.

у меня UTF-8.... но только LANG=c помогла...

> имеют поддержку se linux, все элеваторы и часто содержат патчи для сборки
было желание на уровне конфигурации выкинуть SE - LINUX,
разве в предлагаемой конфигурации не убран полностью SE - LINUX ?

можно простыми словами сказать про элеваторы?


> Можно собрать вообще все. Никаких проблем не будет
наверно я не первый, кто не хочет собирать все, а собрать только
самое необходимое для работы. И только после этак 20 конфигурации
стал немного ориентироватся, поэтому сделал скриншоты шагов,
так для начинающего намного будет легче, посмотрит выставит
самое необходимое. Все что я читал в инете содержит один недостаток,
нету акцентов на то что действительно необходимо...

> Uncompressing относится к тому, что ядро пожато (bzImage... была такая раньше команда). Еще для поддержки initrd нужна поддержка ROM FS (у тебя там ниже есть, но стоит отметить).
Важная поправка, спасибо! так как вначале я на этом много неудачных попыток сделал.

Вообще еще одна моя фраза меня смущает...
если ext2fs эта файловая система к чему относится?
ведь поддержка initrd заключеня в ROM FS....


Ну хоть один откликнулся, и то радует :)






andyS1976
() автор топика
Ответ на: комментарий от andyS1976

>Ядро уже сто лет собирается так:

>make >make modules

вообще-то ядро и так собирает модули при make так что:

make make modules_install make install

In2Dark
()
Ответ на: комментарий от andyS1976

>можно простыми словами сказать про элеваторы?

Определяют поведение ядра в вопросах кэширования, переключения на другие задачи и т.п.

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

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

P.S. В faq описан процесс как не собирать все, но сделать это относительно правильно - т.е. с дистровыми исходниками, наложением своих патчей и т.п.

jackill ★★★★★
()
Ответ на: комментарий от jackill

Да любое так ;) Если не сделал make modules, то make modules_install сначала сделает make modules, а потом make modulss_install

Попробуй с любыми сорцами любых программ после configure сразу сказать make install ;-)

Deleted
()
Ответ на: комментарий от jackill

> Как собрать свое ядро в rpm

Повторюсь:) Собирать ядра в rpm - первый шаг к резиновой женщине! :))

На 2.6-ядрах, если поддержку чипсета включать модулем, может не включиться DMA для винтов.

Deleted
()
Ответ на: комментарий от jackill

Скрипт для конфигурации опций ядра для поддержки чипсетов

При конфигурации ядра, как я понял, часть людей предпочитает
установить все чипсеты что есть в конфиге ядра который идет с
с дистрибутивом.... мне кажется это неверным в корне!


Может кто знает, существует ли скрипт, запустив который
выставляет все необходимые опции в файле .config ?

andyS1976
() автор топика
Ответ на: комментарий от jackill

> Если ты не сделаешь make oldconfig, то файл конфигурации может поплыть

значит мне до сих пор везло...
спасибо за поправку!

тогда как я понял надо

скопировать имеющиеся .config
и затем

make oldconfig
make menuconfig

верно ?

andyS1976
() автор топика
Ответ на: комментарий от andyS1976

Да. Попробуй сам подсунуть .config от старого ядра новому и сделай make oldconfig. Он спросит про новые опции, которых не было в старом ядре.

Только не подсовывай .config от 2.4 2.6-ядру :)

Deleted
()
Ответ на: комментарий от Deleted


>> Скрипт для конфигурации опций ядра для поддержки чипсетов
> на 2.6 ядре почитай make help

Может скопируешь строчку как это делается?


ЗЫ
а то ради одной строчки перечитывать сотни строк.....





andyS1976
() автор топика
Ответ на: комментарий от andyS1976

cd /usr/src/
ls -la
... linux -> linux-2.6.12...
cd linux
make help
Cleaning targets:
  clean           - remove most generated files but keep the config
  mrproper        - remove all generated files + config + various backup files

Configuration targets:
  config          - Update current config utilising a line-oriented program
  menuconfig      - Update current config utilising a menu based program
  xconfig         - Update current config utilising a QT based front-end
  gconfig         - Update current config utilising a GTK based front-end
  oldconfig       - Update current config utilising a provided .config as base
  randconfig      - New config with random answer to all options
  defconfig       - New config with default answer to all options
  allmodconfig    - New config selecting modules when possible
  allyesconfig    - New config where all options are accepted with yes
  allnoconfig     - New minimal config

Other generic targets:
  all             - Build all targets marked with [*]
* vmlinux         - Build the bare kernel
* modules         - Build all modules
  modules_install - Install all modules
  dir/            - Build all files in dir and below
  dir/file.[ois]  - Build specified target only
  rpm             - Build a kernel as an RPM package
  tags/TAGS       - Generate tags file for editors
  cscope          - Generate cscope index

Static analysers
  buildcheck      - List dangling references to vmlinux discarded sections
                    and init sections from non-init sections
  checkstack      - Generate a list of stack hogs
  namespacecheck  - Name space analysis on compiled kernel

Kernel packaging:
  rpm-pkg         - Build the kernel as an RPM package
  binrpm-pkg      - Build an rpm package containing the compiled kernel & modules
  deb-pkg         - Build the kernel as an deb package

Documentation targets:
  Linux kernel internal documentation in different formats:
  xmldocs (XML DocBook), psdocs (Postscript), pdfdocs (PDF)
  htmldocs (HTML), mandocs (man pages, use installmandocs to install)

Architecture specific targets (i386):
* bzImage       - Compressed kernel image (arch/i386/boot/bzImage)
  install       - Install kernel using
                   (your) ~/bin/installkernel or
                   (distribution) /sbin/installkernel or
                   install to $(INSTALL_PATH) and run lilo
  bzdisk       - Create a boot floppy in /dev/fd0
  fdimage      - Create a boot floppy image

  make V=0|1 [targets] 0 => quiet build (default), 1 => verbose build
  make O=dir [targets] Locate all output files in "dir", including .config
  make C=1   [targets] Check all c source with $CHECK (sparse)
  make C=2   [targets] Force check of all c source with $CHECK (sparse)

Execute "make" or "make all" to build all targets marked with [*] 
For further info see the ./README file

Смешно немного, чесслово.

Deleted
()
Ответ на: комментарий от Deleted


ну и какой .config у тебя получился ???

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


andyS1976
() автор топика
Ответ на: комментарий от Deleted

>то make modules_install сначала сделает make modules, а потом make modulss_install

Именно.

Предпочитаю сначала сделать make modules по одной простой причине - на эти ядра я кладу еще патчи и бывают ситуации, что модули могут не собраться.

jackill ★★★★★
()
Ответ на: комментарий от Deleted

>Повторюсь:) Собирать ядра в rpm - первый шаг к резиновой женщине! :))

Собирать ядра в rpm - следовать политике пакетного менеджера. Очень помогает при обновлениях с помощью apt-get или yum, когда они видят какое у тебя ядро и не напрягаются зависимостями.

Но шлаководы могут продолжать полагаться на память.

jackill ★★★★★
()

>При конфигурации ядра, как я понял, часть людей предпочитает установить все чипсеты что есть в конфиге ядра который идет с дистрибутивом.... мне кажется это неверным в корне!

Не позорься и прочитай faq. Для этого и делал - чтобы каждый мог выставить именно свои настройки.

Что касается чипсетов - если человек не уверен, пусть собирает все, которые кажутся ему правильными.

Размер чуть увеличится, разницы в работе не будет. Эта тема была обсуждена давно.

Что касается модулей чипсетов - да, на 2.6 не подхватывается. Никто не запрещает в стартовых скриптах выставить modprobe, хотя я предпочитаю вкомпиливать в ядро.

jackill ★★★★★
()
Ответ на: комментарий от andyS1976

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

Таких вещей не бывает.

Это слишком сложно.

jackill ★★★★★
()
Ответ на: комментарий от jackill

> Собирать ядра в rpm - следовать политике пакетного менеджера. Очень помогает при обновлениях с помощью apt-get или yum, когда они видят какое у тебя ядро и не напрягаются зависимостями.

Можешь навскидку привести, какие программы зависят от подверсий ядра?(мне сейчас просто негде подсмотреть)

> Но шлаководы могут продолжать полагаться на память.

Тпру... За что оскорбления то? Я со своей стороны смайл хотя бы поставил. Да и это типа шутка юмора такая вообще-то.

Deleted
()
Ответ на: комментарий от jackill

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

jackill может этим отключается то о чем ты писал ?
http://www.dzti.edu.lv/links/img/menuconfig-9-4-1st.png


andyS1976
() автор топика
Ответ на: комментарий от andyS1976

Да, это и есть шедулеры(переключаются передачей ядру параметра elevator=as, к примеру)

Deleted
()
Ответ на: комментарий от Deleted

>Можешь навскидку привести, какие программы зависят от подверсий ядра?(мне сейчас просто негде подсмотреть)

Все. :)

Там список на несколько экранов. ;)

jackill ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.