移植kernel

本文详细介绍了如何将Linux内核2.6.22.6移植到AT91平台,包括上传和解压内核源码、打补丁、修改配置文件、编译内核以及设置U-Boot的bootcmd来从不同存储介质启动内核。
摘要由CSDN通过智能技术生成

内核版本: linux-2.6.22.6.tar.bz2
补丁包: 2.6.22-at91.patch.gz

  1. 编译内核
    上传文件:
    利用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_
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值