The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

Загрузка ядра Linux, собранного в конфигурации allmodconfig
Файл конфигурации allmodconfig позволяет все модули ядра отметить как "m", т.е.
как подгружаемые, а не встроенные в ядро. Но проблема в том, что ядро с такими
настройками не загружается.

Подразумевается, что в файле конфигурации уже отмечены все подходящие для
заданного компьютера дисковые драйверы sata/ide/scsi, как встроенные в ядро "y"
или как "m" для размещения на initrd. Но ядро всё равно не грузится.

Загрузочное сообщение: Cannot open root device "(null)"

Если в grub указан параметр root=/dev/sda1 (sda1 указан для примера), а при при
загрузке появляется сообщение "Cannot open root device "(null)" or
unknown-block(0,0)" (обратите внимание, что вместо sda1 появилось null), это
значит, что нужно изменить в конфигурации "CONFIG_CMDLINE_BOOL=n".

Загрузочное сообщение: Failed to execute /init

При использовании initrd при загрузке может появится сообщение "Failed to
execute /init" и нужно изменить в  конфигурации "CONFIG_BINFMT_SCRIPT=y".
 
12.05.2016 , Автор: linuxoid
Ключи: linux, kernel, boot, allmodconfig / Лицензия: CC-BY
Раздел:    Корень / Администратору / Система / Linux специфика / Установка и работа с пакетами программ в Linux

Обсуждение [ Линейный режим | Показать все | RSS ]
  • 1.1, Аноним (-), 14:45, 14/05/2016 [ответить] [﹢﹢﹢] [ · · · ]      [к модератору]
  • +/
    WAT?
     
  • 1.2, Айнанимм (?), 04:38, 15/05/2016 [ответить] [﹢﹢﹢] [ · · · ]  []     [к модератору]
  • +/
    Это походу себе сделал "узелок на память"...
    opennet - моя записТная книжка... :)
     
     
  • 2.3, stalkerdroad (ok), 18:22, 15/05/2016 [^] [^^] [^^^] [ответить]      [к модератору]
  • +/
    В интернете не нашёл решения проблемы загрузки ядра собранного по конфигу allmodconfig. Сам после долгих разбирательств еле понял изза каких плохих опций не грузится.
    Решил поделится решением.
     
     
  • 3.7, Айнанимм (?), 01:16, 16/05/2016 [^] [^^] [^^^] [ответить]      [к модератору]
  • +/
    так распешите подробнее, "опция такаято для тогото, делает тото, а без неё неполучится, потому, что..." и тогда будет замечательно составленное решение какойто проблемы с её описанием.
     
     
  • 4.8, stalkerdroad (ok), 16:50, 16/05/2016 [^] [^^] [^^^] [ответить]      [к модератору]
  • +/
    CONFIG_CMDLINE_BOOL указывает что нужно использовать строку аргументов встроенное в ядро при сборке ядра. Что приводит к потере аргументов указанных в загрузчике grub.

    CONFIG_BINFMT_SCRIPT отвечает за поддержку возможности запускать скрипты начинающиеся на "#!".

     

  • 1.4, Nicknnn (ok), 22:42, 15/05/2016 [ответить] [﹢﹢﹢] [ · · · ]  [] []     [к модератору]
  • +/
    А правильный вывод - Если решил собирать ядро, нужно понимать что к чему. А не бездумно делать allmodconfig. Собирать вообще всё - феерический бред
     
     
  • 2.5, stalkerdroad (ok), 23:02, 15/05/2016 [^] [^^] [^^^] [ответить]      [к модератору]
  • –1 +/
    Мне нужно было получить как можно большее количество модулей. Чтобы потом не пересобирать ядро. Когда подключу какие либо новое устройство.

    Такие ядра существуют у всех дистрабутивов. Но нигде не сказано как собирать такие ядра с максимальным количеством модулей.

    Вот я и разобрался.

     
     
  • 3.6, cmp (ok), 00:35, 16/05/2016 [^] [^^] [^^^] [ответить]  []     [к модератору]
  • +/
    В Вашем "посте", тоже ничего нет, версия ядра, описания этих опций, не говоря о драйверах нтфс и всяких стаггинг, котороые в ядре даром не нужны никому.

    Разобрался, но не  до конца, садись 3-.

     
     
  • 4.15, stalkerdroad (ok), 16:42, 27/05/2016 [^] [^^] [^^^] [ответить]      [к модератору]
  • +/
    > версия ядра,

    4.x. А на 3.x тоже самое было.

    > говоря о драйверах нтфс и всяких стаггинг, котороые в ядре даром
    > не нужны никому.

    Они же модулями собираются благодаря этому конфигу.

     
     
  • 5.21, cmp (ok), 07:36, 30/05/2016 [^] [^^] [^^^] [ответить]      [к модератору]
  • +/
    Угу, в том числе и протухший нтфс, который благодаря наличию модуля начинает использоваться вместо fuse драйвера, а вместе с тем еще миллион протухших драйверов, которые давным давно ни кто не пилит, в которых находят баги, которые дают рута локальным пользователям.

    > 4.x. А на 3.x тоже самое было.

    Осмелюсь предположить, что такое (allmodconfig) было и в 2.4 и в 2.6, и более ранних, но вот было ли там CONFIG_CMDLINE_BOOL совсем не факт.

     
     
  • 6.26, stalkerdroad (ok), 02:43, 03/06/2016 [^] [^^] [^^^] [ответить]      [к модератору]
  • +/
    > протухший нтфс, который благодаря наличию модуля начинает использоваться вместо fuse драйвера

    Нет. фусе драйвер называется ntfs-3g. В команде mount и в fstab указывается ntfs-3g. У тебя какойто неправильный дистр.

     
     
  • 7.28, cmp (ok), 04:22, 03/06/2016 [^] [^^] [^^^] [ответить]      [к модератору]
  • +/
    то есть флэшку монтировать - в фстаб прописывать))
    ядро детектит фс и использует соответсвующий драйвер, дистр роли не играет.
     
     
  • 8.30, stalkerdroad (ok), 13:38, 03/06/2016 [^] [^^] [^^^] [ответить]  []     [к модератору]
  • +/
    Ядро не монтирует автоматически диски Это делает какаята юзерспейсная программа... текст свёрнут, показать
     
     
  • 9.32, cmp (ok), 17:37, 03/06/2016 [^] [^^] [^^^] [ответить]      [к модератору]
  • +/
    ok... текст свёрнут, показать
     
  • 8.36, qweqwe (?), 23:13, 21/06/2016 [^] [^^] [^^^] [ответить]  []     [к модератору]
  • +/
    А в modprobe ntfs ko в черный список занести не Или модуль удалить нафиг ... текст свёрнут, показать
     
  • 3.10, ПавелС (ok), 15:06, 24/05/2016 [^] [^^] [^^^] [ответить]  [] []     [к модератору]
  • +/
    И что лучилось? Как результат по сравнению например с ядрами Debian? Можно такой метод взять за основу для ядра для репозитория? Я беру ближайший по версии конфиг у Debian и делаю make oldconfig и отвечаю на вопросы.
     
     
  • 4.14, stalkerdroad (ok), 16:40, 27/05/2016 [^] [^^] [^^^] [ответить]      [к модератору]
  • +/
    > И что лучилось? Как результат по сравнению например с ядрами Debian? Можно
    > такой метод взять за основу для ядра для репозитория? Я беру
    > ближайший по версии конфиг у Debian и делаю make oldconfig и
    > отвечаю на вопросы.

    С ядрами дебиана не сравнивал. Прочитав файл README в архиве исходников ядра я понял что allmodconfig это единственный способ отметить все модули чтобы они собрались и были подгружаемыми (внешними). Я не знаю другого способа чтобы собрать максимальное количество драйверов.

    > Я беру
    > ближайший по версии конфиг у Debian

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

     
  • 3.11, Аноним (-), 20:59, 26/05/2016 [^] [^^] [^^^] [ответить]  []     [к модератору]
  • +/
    Смысл затеи все равно не ясен. Ядро никто и не пересобирает для поддержки "новых устройств"
     
     
  • 4.13, stalkerdroad (ok), 16:24, 27/05/2016 [^] [^^] [^^^] [ответить]      [к модератору]
  • +/
    > Смысл затеи все равно не ясен. Ядро никто и не пересобирает для
    > поддержки "новых устройств"

    Если собирать ядро например с конфигом созданным командой "make i386_defconfig", то собирается лишь ограниченное (маленькое) количество модулей. И например все звуковые драйвера будут отсутствовать

     
     
  • 5.17, Аноним (-), 21:08, 27/05/2016 [^] [^^] [^^^] [ответить]      [к модератору]
  • +/
    Ещё раз, какие цели ты преследовал, стараясь собрать почти всё модулями?
     
     
  • 6.18, stalkerdroad (ok), 17:06, 28/05/2016 [^] [^^] [^^^] [ответить]      [к модератору]
  • +/
    1. Меньше размер ядра.

    2. Заранее собрать наибольшее количество драйверов. Чтобы позже не пришлось заново пересобирать ядро. Определить заранее что понадобится невозможно. Например пытался настроить шейпинг сетевого трафика. Оказалось что нет нужных модулей.

    3. Другие конфиги не собирают все модули сразу. Лишь маленькое ограниченное количество.

     
     
  • 7.19, Аноним (-), 19:15, 28/05/2016 [^] [^^] [^^^] [ответить]  []     [к модератору]
  • +/
    2. Ядро заново пересобирать не надо. Достаточно собрать необходимые модули и установить их.
     
     
  • 8.20, stalkerdroad (ok), 07:57, 29/05/2016 [^] [^^] [^^^] [ответить]      [к модератору]
  • +/
    Зачем мне тратить на это время Я лучше заранее сразу соберу все существующие в... текст свёрнут, показать
     
     
  • 9.22, cmp (ok), 08:45, 30/05/2016 [^] [^^] [^^^] [ответить]      [к модератору]
  • +/
    Тогда придется тратить время на перечисление корявых модулей в черном списке, ко... текст свёрнут, показать
     
     
  • 10.27, stalkerdroad (ok), 02:46, 03/06/2016 [^] [^^] [^^^] [ответить]      [к модератору]
  • +/
    Единственное что указал так это vmware драйвер ... текст свёрнут, показать
     
     
  • 11.29, cmp (ok), 04:29, 03/06/2016 [^] [^^] [^^^] [ответить]      [к модератору]
  • +/
    то есть, собрал свое ядро, корявое, зато не заморачивался, большенство из тех ... текст свёрнут, показать
     
     
  • 12.31, stalkerdroad (ok), 13:42, 03/06/2016 [^] [^^] [^^^] [ответить]      [к модератору]
  • +/
    Всё же работает нормально у меня норм Статью написал т к проблема редкая и о... текст свёрнут, показать
     
     
  • 13.33, cmp (ok), 17:44, 03/06/2016 [^] [^^] [^^^] [ответить]      [к модератору]
  • +/
    Видимо, потому, что никому это не надо, а для себя и для истории можно было бы... текст свёрнут, показать
     
     
  • 14.34, stalkerdroad (ok), 21:03, 03/06/2016 [^] [^^] [^^^] [ответить]      [к модератору]
  • +/
    Я же не знаю уровень образованности посетителей Опеннета Я сужу по себе Описан... текст свёрнут, показать
     
     
  • 15.35, cmp (ok), 06:24, 04/06/2016 [^] [^^] [^^^] [ответить]      [к модератору]
  • +/
    Гуглится, да не все, особенно бесят топики типа - как настроить блаблабла - 1 ... текст свёрнут, показать
     
  • 7.25, Аноним (-), 07:48, 02/06/2016 [^] [^^] [^^^] [ответить]  []     [к модератору]
  • +/
    Понял. Смотри, у тебя основной касяк может быть только по линии загрузки, примерная цепь такая "Контроллер ЗУ - lvm/raid - Драйвер ФС" (тут конечно надо вспомнить про scsi, который является требованием для sata, поддержки стилей разметки жд, и по-моему всё)
    Эти товарищи, собранные модулями, вкупе кривособранным initramfs мешают grub находить корневой раздел. Для своей единственной машины, я делал так - всё что необходимо (scsi, sata контроллер, фс) для загрузки уходило в y. Всё остальное - m.
    Из плюсов - совершенно не нужен initramfs.
    Из минусов - бутается только на конкретном (моём) железе.
     

  • 1.9, Xasd (ok), 10:39, 21/05/2016 [ответить] [﹢﹢﹢] [ · · · ]  [] []     [к модератору]
  • +/
    > CONFIG_CMDLINE_BOOL=n

    это ведь такое и есть значение по-умолчанию, так?

    > CONFIG_BINFMT_SCRIPT=y

    это ведь такое и есть значение по-умолчанию, так?

     
     
  • 2.12, stalkerdroad (ok), 16:19, 27/05/2016 [^] [^^] [^^^] [ответить]      [к модератору]
  • +/
    > значение по-умолчанию,

    По умолчанию в папке исходников ядра ВООБЩЕ НЕТ никакого конфига. Подаётся команда make и появляется выбранный конфиг. А выбор там большой.

     
     
  • 3.16, stalkerdroad (ok), 16:43, 27/05/2016 [^] [^^] [^^^] [ответить]      [к модератору]
  • +/
    > А выбор там большой.

    Я имел в виду что видов конфигов там много.

     

  • 1.23, anonnnnnnnnnnnnnnnnnnnnnnnn (?), 00:40, 31/05/2016 [ответить] [﹢﹢﹢] [ · · · ]  []     [к модератору]
  • +/
    Модули, где находятся необходимые драйвера дисковых контроллеров и файловых систем необходимо поместить в initramfs, который положить на boot, fs которого поддерживает grub, и имже грузить ядро и initrd
     
  • 1.24, pxel (?), 20:16, 01/06/2016 [ответить] [﹢﹢﹢] [ · · · ]      [к модератору]
  • +/
    автору спасибо. если кому-то не понятно, то не стоит напрягаться - им это всеравно не понадобится :)
    а если понадобится то поймут
     
  • 1.37, святая ПротатА (?), 10:54, 23/06/2016 [ответить] [﹢﹢﹢] [ · · · ]      [к модератору]
  • +/
    Если внимательно читать ридми - то все по порядку и идет.
    make ...config
    make all
    make initrd
    скармливание грабу нового образа рам-фс.
    Если все собрано модулями - закос под микро ядро, то и надо их где то разместить, пока ядро загрузит  драйвера устройств, и начнет читать с накопителей. Это вроде у линуксоида должно быть в инстинктах.  
     
  • 1.38, Нониус (?), 12:54, 29/06/2016 [ответить] [﹢﹢﹢] [ · · · ]      [к модератору]
  • +/
    Собираю ядро под конкретное железо руками. Не могу понять тех, кто собирает драйвера для железа, которого уже нет, а у сборщика никогда не будет. Идиотизм.
     
     
  • 2.39, stalkerdroad (ok), 20:11, 29/06/2016 [^] [^^] [^^^] [ответить]      [к модератору]
  • +/
    Модули ядра это не только драйвера устройств. А ещё и функции ОС. Такие например как функции фаервола, шейпинга трафика, файловые системы и много чего ещё.
     

     Добавить комментарий
    Имя:
    E-Mail:
    Заголовок:
    Текст:




    Партнёры:
    PostgresPro
    Inferno Solutions
    Hosting by Hoster.ru
    Хостинг:

    Закладки на сайте
    Проследить за страницей
    Created 1996-2025 by Maxim Chirkov
    Добавить, Поддержать, Вебмастеру