1. 下载Linux 3.10 kernel源码 (3.10.105)
2. 解压到本地 /home/zombie/File/linux-3.10.105
3. 下载arm-linux-gcc 4.4.3, 解压至/home/zombie/File/linux-3.10.105/arm-linux-gcc/
4. 将 /home/zombie/File/linux-3.10.105/MakeFile 文件中ARCH 和 CROSS_COMPILE值进行修改 (如果编译X86平台的应该可以不用设置,本人编译的是ARM的)
#原始内容如下
ARCH ?= $(SUBARCH)
CROSS_COMPILE ?= $(CONFIG_CROSS_COMPILE:"%"=%)
#修改过后如下
ARCH ?= arm
CROSS_COMPILE ?= arm-linux-
5. 设置环境
# cd/home/zombie/File/linux-3.10.105
# export PATH=/home/zombie/File/linux-3.10.105/arm-linux-gcc/bin:$PATH
# make mrproper
# make menuconfig
注:
1. 编译完成生成如下错误,解决方法是在Device Driver中将Staging drivers取消选中
ERROR: "__sync_fetch_and_and_4" [drivers/staging/line6/line6usb.ko] undefined!
ERROR: "__sync_fetch_and_or_4" [drivers/staging/line6/line6usb.ko] undefined!
2. 该blog(http://blog.csdn.net/barry283049/article/details/42265491)中提到:
进入界面需要将Device Drivers ---> Generic Driver Options ---> Automount devtmpfs at /dev, after the kernel mounted the rootfs 设置为N
设置完成后生成 .config文件
6. 编译
# make -j8(j4)
7. 安装模块
# make modules_install
8. 安装
# make install
9. 重启 grub中选择内核版本(ubuntu高级选项)