Linux-source -... ma moduł, który jest wyłączony w config /boot/config-3.4-trunk-686-pae, więc nie jest częścią linux-image -... (To jest na Debianie, ale rozwiązanie powinno być takie samo dla Ubuntu lub?), np
# CONFIG_CAN_PEAK_USB is not set
Jak skompilować tylko ten moduł jądra, aby można go było używać z rozproszonym jądrem?
Odpowiedni pakiet linux-source -... jest już zainstalowany, nieskompresowany i połączony z / usr / src / linux. /boot/config-3.4-trunk-686-pae jest kopiowany do /usr/src/linux/.config i modyfikowany za pomocą
CONFIG_CAN_PEAK_USB=m
Z
make
make modules
możliwe jest skompilowanie jądra i wszystkich modułów. Ale jak skompilować tylko ten konkretny pojedynczy moduł?
(Uwaga: również potrzeby jądra zostać skompilowane wcześniej, w przeciwnym razie pojawia się następujący błąd: no symbol version for module_layout
)
depmod -a
wcześniejmodbrobe
?Odpowiedzi:
Miałem ten sam problem. Zakładam, że musisz nie tylko skopiować .config, ale także Module.symvers
moje kroki w celu skompilowania modułu ft1000 (z systemem Debian Wheeze 7.1.0; jądro 3.2.0-4-686-pae):
źródło
make M=/path/to/module
co wydawało się działać.Z poziomu katalogu źródłowego najwyższego poziomu po prostu podaj ścieżkę do nazwy modułu lub katalogu modułu, np .:
lub dla prostszego przykładu (sterownik Intel e1000 Ethernet):
źródło
make drivers/net/can/usb/peak_usb/pcan_usb.ko
zbudowałem tylko pcan_usb.o. Robimake drivers/net/can/usb/peak_usb/ && make drivers/net/can/usb/peak_usb/pcan_usb.ko
to kompiluje, ale insmod narzekaError: could not insert module drivers/net/can/usb/peak_usb/peak_usb.ko: Invalid module format
. dmesg:peak_usb: no symbol version for module_layout
modprobe
również z .make modules SUBDIRS=drivers/net/can/usb/peak_usb
dowolnego innego podkatalogu. Tutaj działa dobrze.Tak proste jak: (ten przykład ilustruje sterownik ft1000, powinno to zająć tylko kilka minut, jeśli nie wystąpi natychmiast)
Następnie możesz załadować moduł
modprobe
podepmod
Uwaga: w zależności od zależności modułu może być konieczne całkowite przebudowanie jądra
źródło