在构建 linux 内核之前只清理选定的模块
Clean only selected modules before building linux kernel
我这里有一种情况,我需要针对不同的配置构建相同的内核。现在我试图在不执行 make clean 的情况下构建内核,但这给了我问题。一个配置可能有一些内置的驱动程序,而其他配置可能具有与模块相同的驱动器。
就我而言,我想避免 make clean 以节省时间!编译一个新的内核需要一定的时间,因为我以前编译过同一个内核,只改变了几个 driver/modules,我想知道除了清理整个内核之外还有什么替代选择。
谢谢!
假设您只想编译无线模块。
现在它的文件在 Linux_kernel/net/wireless
文件夹下
只编译无线模块。
cd Linux_kernel
make ARCH=arm modules M=$(pwd)/net/wireless/
会生成两个模块
Linux_kernel/net/wireless/cfg80211.ko
Linux_kernel/net/wireless/lib80211.ko
现在清理这些模块
make ARCH=arm modules M=$(pwd)/net/wireless/ clean
如果您只处理几个模块,则不必重建完整的内核。但是,如果您的模块需要对 .config
进行更改,则每次都执行以下步骤以获得针对特定 .config
构建的模块
modify/copy the .config as per the requirement into the src dir
make prepare
make scripts
make modules_prepare
make M=drivers/<some driver>
make M=drivers/<some driver> clean
我这里有一种情况,我需要针对不同的配置构建相同的内核。现在我试图在不执行 make clean 的情况下构建内核,但这给了我问题。一个配置可能有一些内置的驱动程序,而其他配置可能具有与模块相同的驱动器。 就我而言,我想避免 make clean 以节省时间!编译一个新的内核需要一定的时间,因为我以前编译过同一个内核,只改变了几个 driver/modules,我想知道除了清理整个内核之外还有什么替代选择。
谢谢!
假设您只想编译无线模块。
现在它的文件在 Linux_kernel/net/wireless
文件夹下
只编译无线模块。
cd Linux_kernel
make ARCH=arm modules M=$(pwd)/net/wireless/
会生成两个模块
Linux_kernel/net/wireless/cfg80211.ko
Linux_kernel/net/wireless/lib80211.ko
现在清理这些模块
make ARCH=arm modules M=$(pwd)/net/wireless/ clean
如果您只处理几个模块,则不必重建完整的内核。但是,如果您的模块需要对 .config
进行更改,则每次都执行以下步骤以获得针对特定 .config
modify/copy the .config as per the requirement into the src dir
make prepare
make scripts
make modules_prepare
make M=drivers/<some driver>
make M=drivers/<some driver> clean