Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Загрузка модуля драйвера в ембедед Linux
Форум разработчиков электроники ELECTRONIX.ru > Cистемный уровень проектирования > Операционные системы
_Vladimir_
Есть встаиваемый Линукс. Грузится из флэш. Затем монтируется NFS с ност машиной через ethernet.
Надо загрузить два драйвера, например
komdrv.ko
kontronwdt.ko

В /etc/udev/rules.d/ лежит файл "kontron.rules" в котором есть строки
KERNEL=="watchdog", NAME="misc/%k", SYMLINK+="%k"
KERNEL=="lm75", NAME="misc/%k", SYMLINK+="%k"

Это все из BSP .
Очевидно я должен кудато положить модули и сделать линк с именем watchdog.
(Драйвер "lm75" на потом).

В BSP демо варианте прошивки это грузилось вот так

mounting... ramfs at /dev
Creating initial udev device nodes:
making extra nodes
udev startup is finished!
udev demon startup ...done
Using /koKontron eb8347 board driver 0100 for Kernel 2.6.13-rc6
mdrv.ko
Using /kontronwdt.ko

Сейчас выглядит так
Looking up port of RPC 100005/1 on 192.168.0.2
VFS: Mounted root (nfs filesystem).
Freeing unused kernel memory: 132k init
init started: BusyBox v1.00 (2006.06.14-08:04+0000) multi-call binary
mounting... ramfs at /dev
Creating initial udev device nodes:
making extra nodes
udev startup is finished!
udev demon startup ...done

далее идет логин...
Т.е. udev стартует. Но что делать дальше не пойму.
Куда положить *.ко файлы и где и что прописать?.
Если след kontronwdt.ko как-то прослеживался то где была загрузка коmdrv.ko не вообще не понятно.
Чтение доки не проясyило особо. В теории понятно но как практически - не въеду.
Снес только образ демо программки из флэш.

Кто-нибудь может подсказать?
_Vladimir_
Загрузил модули руками с помощью insmod.
стали в /dev и в /sys
Только не понял - это альтернативный метод или как...?
_Vladimir_
Вопрос снимается. Решил.
Johny
Цитата(_Vladimir_ @ Aug 21 2007, 14:10) *
Вопрос снимается. Решил.


Приветствую, коллега.

Судя по описанию X-board PXA?
Ядро у них теперь 2.6?

Я себе мозги не парил, прописал в загрузочных скриптах
insmod
mknode

или как вариант

modprobe

Правда ядро 2.4.19 с Bluez-овым патчем юзаю.
_Vladimir_
Цитата(Johny @ Aug 24 2007, 13:31) *
Судя по описанию X-board PXA?

Нет. У меня MPC8347. А Kontron - EB8347. Module E2Brain.

Цитата(Johny @ Aug 24 2007, 13:31) *
Ядро у них теперь 2.6?

Да - 2.6.13. Поставка Модуля c Toolkit-ом + BSP ровно год назад была.

Цитата(Johny @ Aug 24 2007, 13:31) *
Я себе мозги не парил, прописал в загрузочных скриптах
insmod
mknode
или как вариант
modprobe

Правда ядро 2.4.19 с Bluez-овым патчем юзаю.

Спасибо. Я поставил insmod, просто в Linux - embedded первый проект,
и было ложное ощущение что в демо как-то по другому сделано.
Восстановил демо образ и посмотрел - именно insmod в загрузочном.
amw
Все модули ложатся в каталог
/lib/modules/<версия ядра>
Штатные модули ядра лежат в
/lib/modules/<версия ядра>/kernel
Дополнительные обычно в
/lib/modules/<версия ядра>/misc
При таком размещении modprobe сам найдет модуль по команде
/sbi/modprobe komdrv

Для автоматической загрузки модулей нужны правильные файлы зависимости модулей. Они генерируюся из depmod, который нужно запустить после добавления модуля в каталог /lib/modules/<версия ядра>/

Автоматически могут закружатся модули для PnP устройств и при включенной поддеожке автозакрузки модулей в ядре.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.