Igor68 0 4 декабря, 2022 Опубликовано 4 декабря, 2022 · Жалоба Возник вопрос - как загрузить модули (нужные) до запуска служб. Можно конечно и чезез /etc/init.d/*, но там же и надо перезапускать разные службы. Хотелось бы так: 1. загрузка ядра 2. загрузка модулей (возможно и через каие-то минимальные службы) 3. запуск всяких служб но не хотелось бы старовать через дополнительные скрипты. Может персобрать ядро с запуском ( где-то с строке инициализации или чего-то ещё)? Как обычно это положено делать? Пока ковыряюсь с автозагрузкой модулей ( не выходит ) избегая пропись в скрипт автозапуска набора типа modprobe <module> а потом перзапускать ряд служб (ну хотя бы одну из них /etc/init.d/S40network restart - ведь модули wifi загружаются, когда сеть уже поднята) Заранее благодарен! Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
andrew_b 15 4 декабря, 2022 Опубликовано 4 декабря, 2022 · Жалоба Загрузка модулей делается либо через udev, либо через /etc/modules, /etc/modprobe.d/, /etc/modules-load.d/. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Dvorkin 1 5 декабря, 2022 Опубликовано 5 декабря, 2022 · Жалоба Модули и так грузятся вместе с ядром, т.к. они часть ядра. А скрипты /etc/rcS уже потом. Вроде в /lib/modules есть modules.order, он и определяет порядок загрузки модулей. Но в разных ОС может быть по-другому, конечно. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Igor68 0 10 декабря, 2022 Опубликовано 10 декабря, 2022 (изменено) · Жалоба Спасибо! Буду испытывать. Ядро и модули собираю для платы at91sam9260-ek. За основу принято: Linux at91sam9260 4.8.6 #49 Sat Dec 3 16:12:08 MSK 2022 armv5tejl GNU/Linux Спасибо! Сейчас пока файл /etc/init.d/S00sys для опытов такого содержания: #!/bin/sh # # # modprobe rfkill modprobe bluetooth modprobe cfg80211 modprobe lib80211 modprobe lib80211_crypt_ccmp modprobe lib80211_crypt_tkip modprobe lib80211_crypt_wep modprobe hostap modprobe 8192eu exit 0 Текущая цель SD/MMC на плате и BLUETOOT по USB. WIFI-USB точка доступа поднята. Изменено 10 декабря, 2022 пользователем Igor68 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Igor68 0 10 декабря, 2022 Опубликовано 10 декабря, 2022 · Жалоба 57 minutes ago, Igor68 said: Спасибо! Буду испытывать. Ядро и модули собираю для платы at91sam9260-ek. За основу принято: Linux at91sam9260 4.8.6 #49 Sat Dec 3 16:12:08 MSK 2022 armv5tejl GNU/Linux Спасибо! Сейчас пока файл /etc/init.d/S00sys для опытов такого содержания: #!/bin/sh # # # modprobe rfkill modprobe bluetooth modprobe cfg80211 modprobe lib80211 modprobe lib80211_crypt_ccmp modprobe lib80211_crypt_tkip modprobe lib80211_crypt_wep modprobe hostap modprobe 8192eu exit 0 Текущая цель SD/MMC на плате и BLUETOOT по USB. WIFI-USB точка доступа поднята. Уточняю: Bluetooth-USB поднял только что (минут пять назад). Устройство: Bus 001 Device 003: ID 0a12:0001 добавлено модулей (последовательно): modprobe btintel modprobe btbcm modprobe btrtl modprobe btusb потому как файл: /lib/modules/4.8.6/modules.dep пока не построил - делаю вручную. Может есть какой-нибудь скрипт? Мой самодельный скипт не строит пока дерево зависимостей. Теперь пытаюсь SD/MMC поднять, но пока без успехов. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
sasamy 9 10 декабря, 2022 Опубликовано 10 декабря, 2022 (изменено) · Жалоба On 12/4/2022 at 2:31 PM, Igor68 said: Возник вопрос - как загрузить модули (нужные) до запуска служб. Есть два стандартных пути 1 Собирать ядро с нужными драйверами статически вместо загружаемых модулей 2 Использовать initramfs с нужными модулями перед монтированием основной ФС Как вы модули загрузите - своим скриптом или штатными средствами ОС (в разных дистрибутивах они отличаются) или udev/mdev - это всё непринципиальная вкусовщина Изменено 10 декабря, 2022 пользователем sasamy Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Igor68 0 10 декабря, 2022 Опубликовано 10 декабря, 2022 (изменено) · Жалоба Пока не понятно к сожалению... я своего рода новичок. Зачем всё это? Планирутся делать плату с ОС и модулями в NAND. Плата максимально маленького размера с выводами и она впаивается в будущее устройство. По мере выбора применения конфигуриуется выбор заружаемых необходимых модулей, согласно требованиям устройства. Предполагаемые требования: SPI - может быть или не быть I2C - может быть или не быть USB(хост и/или устройство) может быть или не быть WIFI; BLUETOOTH; ETHERNET и прочее могут быть или не быть. Единственное - это КОНСОЛЬ через которую можно скорретировать (сконфигурировать) ту или иную конфигурацию перед применением. PS: собрались бинутилиты в buildroot ( и даже уже есть в текущей rootfs) а вот gcc нет: А хотелось бы. Изменено 10 декабря, 2022 пользователем Igor68 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
andrew_b 15 10 декабря, 2022 Опубликовано 10 декабря, 2022 · Жалоба 5 hours ago, Igor68 said: потому как файл: /lib/modules/4.8.6/modules.dep пока не построил - делаю вручную. Может есть какой-нибудь скрипт? Мой самодельный скипт не строит пока дерево зависимостей. man depmod 1 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Tarbal 4 15 января, 2023 Опубликовано 15 января, 2023 · Жалоба Все работает следующим образом. Подразумевается, что после добавления модулей была исполнена команда: sudo depmod -a Ядро загружается при старте без модулей. Если в дереве устроойств есть описание устройства (с вставляемыми/удаляемыми в процессе работы как USB немного иначе), есть модуль с драйвером устройства и в правилах udev есть правило для этого устройства, то модуль загрузится. Если правила нет, но есть все остальное, то можно поставить вручную: sudo modprobe <имя файла модуля без расширения .ko> Описание устройства в дереве устроойств отражается в директории /sys/. То же происходит и с драйвером, когда он загружен (точнее зарегистрирован в системе. драйвер может быть частью ядра, а не в виде модуля). Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться