The OpenNET Project / Index page

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

Загрузка ядра 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-2024 by Maxim Chirkov
    Добавить, Поддержать, Вебмастеру