当我尝试使用
make clean modules
制作驱动程序时,我收到错误:
make -C src/ clean
make[1]: Verzeichnis „/home/dvadmin/treiber/src“ wird betreten
rm -rf *.o *.ko *~ core* .dep* .*.d .*.cmd *.mod.c *.a *.s .*.flags .tmp_versions Module.symvers Modules.symvers *.order
make[1]: Verzeichnis „/home/dvadmin/treiber/src“ wird verlassen
make -C src/ modules
make[1]: Verzeichnis „/home/dvadmin/treiber/src“ wird betreten
make -C /lib/modules/6.2.0-33-generic/build SUBDIRS=/src modules
make[2]: Verzeichnis „/usr/src/linux-headers-6.2.0-33-generic“ wird betreten
make[3]: *** Keine Regel vorhanden, um das Ziel „arch/x86/entry/syscalls/syscall_32.tbl“,
benötigt von „arch/x86/include/generated/uapi/asm/unistd_32.h“, zu erstellen. Schluss.
make[2]: *** [arch/x86/Makefile:248: archheaders] Fehler 2
make[2]: Verzeichnis „/usr/src/linux-headers-6.2.0-33-generic“ wird verlassen
make[1]: *** [Makefile:42: modules] Fehler 2
make[1]: Verzeichnis „/home/dvadmin/treiber/src“ wird verlassen
make: *** [Makefile:32: modules] Fehler 2
我已经按照自述文件制作了驱动程序。
<Linux device driver for Realtek Ethernet controllers>
This is the Linux device driver released for RealTek RTL8168B/8111B, RTL8168C/8111C, RTL8168CP/8111CP, RTL8168D/8111D Gigabit Ether>
<Requirements>
- Kernel source tree (supported Linux kernel 2.6.x and 2.4.x)
- For linux kernel 2.4.x, this driver supports 2.4.20 and latter.
- Compiler/binutils for kernel compilation
<Quick install with proper kernel settings>
Check whether the built-in driver, r8169.ko (or r8169.o for kernel 2.4.x), is installed.
# lsmod | grep r8169
If it is installed, please remove it.
# rmmod r8169
note: If the built-in driver cannot removed by rmmod, please edit /etc/modprobe.conf and comment 'alias eth0 r8169'. Then, remmove >
Unpack the tarball :
# tar vjxf r8168-8.aaa.bb.tar.bz2
Change to the directory:
# cd r8168-8.aaa.bb
If you are running the target kernel, then you should be able to do :
# make clean modules (as root or with sudo)
# make install
# depmod -a
# insmod ./src/r8168.ko (or r8168.o in linux kernel 2.4.x)
You can check whether the driver is loaded by using following commands.
# lsmod | grep r8168
# ifconfig -a
我不知道我做错了什么,也许是因为驱动程序是针对内核2.6的?有没有办法让以太网适配器工作?
我希望有人能帮助我。
为什么要构建一个驱动程序?开箱即用。