2010-08-12 10 views
5

Mam skompilowaną wersję modułu linuksowego, a następnie mam około 20 odmian jego źródła. Poprzez różne głupie błędy, zgubiłem informację, która wersja źródła była tą, której użyłem do stworzenia modułu.modinfo srcversion: Jak mogę to wygenerować z mojego źródła?

Zauważyłem, że modinfo <module name> daje srcversion: <hash>, i znalazłem jakieś wyjaśnienie gdzieś, że mówi "suma źródła, które wyprodukowało moduł". Brzmi świetnie!

Co mam zrobić z moimi źródłami modułów, aby wygenerować ten skrót?

Odpowiedz

7

Numer srcversion jest zdefiniowany przez program . Nie znam dokładnych opcji, które musisz podać modpost, aby wyprowadzać to pole. Musi to być coś podobnego do scripts/mod/modpost -a -m vmlinux you_module.o (możesz zobaczyć scripts/Makefile.modpost dla dokładnych opcji). Wyjście jest wtedy dostępny w drivers/path/to/your_module.mod.c

I zaleca, aby ustawić config MODULE_SRCVERSION_ALL do Y (dostępne w podmenu Enable loadable module support), tak że srcversion jest automatycznie produkowane dla wszystkich modułów swojej kompilacji. Możesz następnie przełączać się między odmianami źródła, przebudowywać jądro z nową odmianą źródła (tylko twój moduł powinien zostać przebudowany po pierwszym kompilacji), a następnie bezpośrednio spojrzeć na pole MODULE_INFO(srcversion, "<hash>"); na końcu pliku drivers/path/to/your_module.mod.c, aby znaleźć żądane info.

Powiązane problemy