1、编译内核,升级内核与编译模块,内核补丁的分类,主内核版本补丁,如patch-2.6.33 稳定内核版本补丁,如patch-2.6.32.22 增量补丁,如patch-2.6.32.21-22,版本的升级方式(),主内核版本补丁只能用于升级主内核,如patch-2.6.33只能用于升级2.6.32 稳定内核版本补丁只能用于升级主内核,如patch-2.6.32.22只能用于升级2.6.32 增量补丁只能用于从一个特定版本升级到下一个内核版本,如patch-2.6.32.21-22只能用于从2.6.32.21升级到2.6.32.22.,版本的升级方式(),若当前内核源码版本为2.6.32.21,想
2、升级至2.6.32.23,有两种方式: 方式1: 下载patch-2.6.32.23,patch-2.6.32.21 利用patch-2.6.32.21将源码降级至patch-2.6.32$ patch -p1 -R / patch-2.6.32.21 利用patch-2.6.32.23升级至patch-2.6.32.23$ patch -p1 / patch-2.6.32.23,版本的升级方式(),方式2: 下载patch-2.6.32.21-22,patch-2.6.32.22-23 连续做两次升级$ patch -p1 / patch-2.6.32.21-22$ patch -p1 /
3、patch-2.6.32.22-23,若当前内核源码版本为2.6.32.21,想升级至2.6.33 下载patch-2.6.32.21,patch-2.6.33 利用patch-2.6.32.21将源码降级至patch-2.6.32$ patch -p1 -R / patch-2.6.32.21 利用patch-2.6.33升级至patch-2.6.33$ patch -p1 / patch-2.6.33,编译模块,以drivers/usb/serial为例 在内核源码目录下,生成所需脚本文件,scripts/mod/modpost$ make modules_prepare 确保在.config中已将所需模块设置为模块编译模式 编译模块$ make M=drivers/usb/serial,编译单独的模块,以编译drivers/usb/serial/visor模块为例 查看drivers/usb/serial/Makefile,找到visor的完整名字:visor.ko 编译此模块 $ make drivers/usb/serial/visor.ko,加载模块,运行时加载:insmod visor.ko 启动时加载: 复制ko文件至/lib/modules/$(uanme -r)/kernel/drivers/usb/serial 编辑/etc/modules,添加visor,