一、耦合:
? ? ? ? linux的kernel與modules存在耦合版本匹配,在版本不匹配(內核重新編譯后,或者驅動模塊編譯依賴的內核版本跟運行版本不匹配)時候,會存在insmod 驅動模塊失敗的情形;
二、解耦:
? ? ? ??1、修改內核配置,去掉CONFIG_MODVERSIONS的選項,表示不增加sub-string;
? ? ? ? 2、修改內核源碼:./scripts/setlocalversion腳本,為res="$res${scm:+}";
? ? ? ? 3、insmod如果是基于busybox的,需要做如下修改,force insmod:
? ? ? ? ? ? ? ? modutils/modutils.c中 finit_module(fd, options, 2);改為finit_module(fd, options, 0);