内核版本: linux-2.6.22.6.tar.bz2
补丁包: 2.6.22-at91.patch.gz
-
编译内核
上传文件:
利用tftp将linux-2.6.22.6.tar.bz2上传到服务器的soft文件夹
利用tftp将2.6.22-at91.patch.gz上传到服务器的soft文件夹解压linux-2.6.22.6.tar.bz2到上一层目录:
$tar xjf linux-2.6.22.6.tar.bz2 -C …/给内核打补丁:
$cd cd linux-2.6.22.6/
$zcat …/soft/2.6.22-at91.patch.gz | patch -p1
串口打印输出:
patching file include/asm-arm/arch-at91/at91sam9260_matrix.h
patching file include/asm-arm/arch-at91/ics1523.h
patching file include/asm-arm/arch-at91/spi.h
patching file include/asm-arm/arch-at91/at91_mci.h
…
patching file drivers/i2c/busses/Makefile
patching file drivers/i2c/busses/i2c-pca.c
patching file drivers/i2c/busses/i2c-at91.c
补丁成功!/linux-2.6.22.6/Makefile:
修改line185: ARCH ?= $(SUBARCH)
CROSS_COMPILE ?=
为: ARCH ?= arm
CROSS_COMPILE ?=arm-linux-配置文件路径: /linux-2.6.22.6/arch/arm/configs/
各种CPU配置文件都在这里, 我要使用的是: at91rm9200dk_defconfig配置内核: $make at91rm9200dk_defconfig
报错: Makefile:415: *** mixed implicit and normal rules: deprecated syntax
Makefile:1443: *** mixed implicit and normal rules: deprecated syntax
解决:
/linux-2.6.22.6/Makefile:
去掉line415: config
line1443: /保存后再执行: $make at91rm9200dk_defconfig HOSTCC scripts/basic/fixdep HOSTCC scripts/basic/docproc HOSTCC scripts/kconfig/conf.o scripts/kconfig/conf.c: In function ‘conf_string’: scripts/kconfig/conf.c:174:20: warning: variable ‘help’ set but not used [-Wunused-but-set-variable] const char *def, *help; ...... CRC-CCITT functions (CRC_CCITT) [N/m/y/?] n CRC16 functions (CRC16) [N/m/y/?] n CRC ITU-T V.41 functions (CRC_ITU_