Temat: Backfire na MMnet1000, nieprawidłowa wersja modułów

Cześć

Buduje Backfire na platformę MMnet1000. Zrobiłem tak jak tutaj napisano:
http://openwrt.pl/doku.php/kompilowanie:tricks_and_tips

Jednak nie udało zmusić Openwrt do zbudowania modułów kernela tak żeby umieścił je w obrazie rootfs.
Więc zrobiłem to ręcznie wchodząc do katalogu building_dir/linux-at91/linux-2.6.32.13 i wydając odpowiednie komendy

make ARCH=arm CROSS_COMPILE=arm-openwrt-linux- uImage
make ARCH=arm CROSS_COMPILE=arm-openwrt-linux- modules
wczesniej rozpakowałem spakowany rootfs utworzony w katalogu backfire/bin/at91 do katalogu rootfs
make ARCH=arm CROSS_COMPILE=arm-openwrt-linux- INSTALL_MOD_PATH=/home/stan/backfire/bin/at91/rootfs modules_install

Wgrałem wszystko (rootfs i kernela ) na moduł i wszystko się odpaliło tylko jest problem z modułami ponieważ moduły zbudowane przez openwrt mają inną wersje kernela: 2.6.32.13-svn15242 preempt mod_unload ARMv5
a te zbudowane przy pomocy komend : 2.6.32.13 preempt mod_unload ARMv5


Openwrt wszędzie wchrzania -svn15242 i przez to moduły nie chcą się ładować.

Co mogę zrobić żeby się tego pozbyć albo zunifikować żeby rzeczy budowane przez ze mnie też miały taki wpis.

dzięki za każdą podpowiedz

2

Odp: Backfire na MMnet1000, nieprawidłowa wersja modułów

Jak zaznaczysz <*> to te moduły polecą do obrazu. Nie potrzeba tak kompilować jak to właśnie zrobiłeś...

Masz niepotrzebny router, uszkodzony czy nie - chętnie przygarnę go.

3

Odp: Backfire na MMnet1000, nieprawidłowa wersja modułów

Cezary napisał/a:

Jak zaznaczysz <*> to te moduły polecą do obrazu. Nie potrzeba tak kompilować jak to właśnie zrobiłeś...

Rzeczywiście, danie gwiazdki pomogło w make menuconfig, zupełnie o tym zapomniałem bo cały czas męczyłem make kernel_menuconfig.

Jednak występuje jeden błąd jeszcze openwrt umieszcza moduły w katalogu lib/module/2.6.32.13 a insmod szuka ich w katalogu  lib/module/2.6.32.13-svn15242, pomogło ręczne przekopiowanie ale pewnie coś gdzieś jeszcze jest nie tak.

Dzięki za pomoc Cezary
pozdrawiam

4

Odp: Backfire na MMnet1000, nieprawidłowa wersja modułów

Wszystko dlatego że ręcznie robiłeś ten kernel i kombinowałeś.

zrób
make target/linux/clean
make

i będziesz miał dobrze.

Masz niepotrzebny router, uszkodzony czy nie - chętnie przygarnę go.

5

Odp: Backfire na MMnet1000, nieprawidłowa wersja modułów

Cezary napisał/a:

Wszystko dlatego że ręcznie robiłeś ten kernel i kombinowałeś.

zrób
make target/linux/clean
make

i będziesz miał dobrze.

Zrobiłem make target/linux/clean bez rezultatów dalej to samo. Ściągnąłem świeżą wersje branches/backfire wgrałem swój target/linux/at91 zrobiłem make i dalej rootfs ma moduły w katalogu 2.6.32.13 a insmod szuka ich 2.6.32.13-svn21874.

Mam jeszcze pytania odnośnie modułów.

W make menuconfig zaznaczam moduły <M>kmod-usb-core oraz <M>kmod-usb-serial ale buduje się tylko kmod-usb-serial przez co nie moge go zainstalować bo krzyczy mi że potrzebuje kmod-usb-core. Gdzie moge sprawdzić dlaczego się to nie buduje?

Poza tym niektórych modułów nie ma w make menuconfig a w configu kernela są, jak je dodać?   

Co się dzieje z driverami w make kernel_menuconfig zaznaczonymi <M> czy moge je jakoś zainstalować?   Mało uniwersalne jest ciągłe wgrywanie kernela z w kompilowanymi potrzebnymi rzeczami.

6

Odp: Backfire na MMnet1000, nieprawidłowa wersja modułów

okczenaj napisał/a:

W make menuconfig zaznaczam moduły <M>kmod-usb-core oraz <M>kmod-usb-serial ale buduje się tylko kmod-usb-serial przez co nie moge go zainstalować bo krzyczy mi że potrzebuje kmod-usb-core. Gdzie moge sprawdzić dlaczego się to nie buduje?

Z tym modułem kmod-usb-core już doszedłem dlaczego się nie buduje. Trzeba zmienić w kernel_menuconfig z gwizadki na <M> Support for Host-side USB. Czy są jakieś wskazania co do konfiguracji jądra, czy są rzeczy które muszą być wbudowane w jądro czy najlepiej wszystko wrzucać jako moduł ( tak by było najbardziej uniwersalnie )?

7

Odp: Backfire na MMnet1000, nieprawidłowa wersja modułów

Standardowo wszystko jest wrzucane w moduły. Jeżeli coś jest na stałe (a dodałeś swój target gdzie tak było zaznaczone) to trzeba było też zmienić zależności w modułach.

PS. Jeżeli jądro się buduje to moduły też są tego samego źródła. Nie mogą mieć innej wersji, chyba że coś mieszasz ręcznie lub masz kompletnie ten target zwalony.

Masz niepotrzebny router, uszkodzony czy nie - chętnie przygarnę go.

8

Odp: Backfire na MMnet1000, nieprawidłowa wersja modułów

Cezary napisał/a:

Standardowo wszystko jest wrzucane w moduły. Jeżeli coś jest na stałe (a dodałeś swój target gdzie tak było zaznaczone) to trzeba było też zmienić zależności w modułach.

PS. Jeżeli jądro się buduje to moduły też są tego samego źródła. Nie mogą mieć innej wersji, chyba że coś mieszasz ręcznie lub masz kompletnie ten target zwalony.

Są w tej samej wersji ale takiej dziwnej 2.6.32.13-svn21847 a moduły umieszone są w katalogu /lib/modules/2.6.32.13/, insmod ich nie widzi:

root@OpenWrt:/#insmod leds_gpio
insmod: /lib/modules/2.6.32.13-svn21847: No such file or directory

i muszę ręcznie kopiować do katalogu 2.6.32.13-svn21847 wtedy jest git. Tylko że to jest troche bez sensu bo co zainstaluje moduł to muszę plik *.ko przenosić do tego dziwnego katalogu.  A jeśli chodzi o mój target to jest bardzo prosty 2 pliki Makefile i 3 patche i już nic nie muszę mieszać jak wcześniej, wszystko robię za pomocą make menuconfig.

Po co openwrt wsadza ten dopisek, budując na platformę br-6104kp nie spotkałem takiego problemu.

9

Odp: Backfire na MMnet1000, nieprawidłowa wersja modułów

Nie wsadza. W żadnej kompilowanej przeze mnie platformie tego nie ma.

Zrób może make dirclean, skonfiguruj i skompiluj wszystko jeszcze raz.

Masz niepotrzebny router, uszkodzony czy nie - chętnie przygarnę go.

10

Odp: Backfire na MMnet1000, nieprawidłowa wersja modułów

Cezary napisał/a:

Nie wsadza. W żadnej kompilowanej przeze mnie platformie tego nie ma.

Zrób może make dirclean, skonfiguruj i skompiluj wszystko jeszcze raz.

Miałeś racje Cezary nie wrzuca, wszystko przez mój config do kernela i jedną opcje

General Setup ---> [*] Automatically append version information to the version string

A propo mojego drugiego pytania odnośnie specyficznych modułów do kernela znalazłem taką stronke która wszystko to wyjaśnia i pokazuje jak dodać własne moduły, jeszcze nie testowałem ale tera już więcej rozumiem:)
http://www.comnets.uni-bremen.de/~mab/openwrt/kmod.html

Dzięki za wsparcie.

11

Odp: Backfire na MMnet1000, nieprawidłowa wersja modułów

Właśnie smile

Masz niepotrzebny router, uszkodzony czy nie - chętnie przygarnę go.