移植linux 2.6.33.2到mini2440

以前自己编译过PC版的linux内核,并且也能成功运行。最近,我尝试了一下为arm平台编译linux内核,发现和编译PC版内核的区别不太大,其过程都是先通过make menuconfig 或make xconfig进行配置,然后是make或make zImage进行内核的编译[注:pc平台为make,而arm的为make zImage]。好了,下面详细说说移植过程。

 

这里,特别提一下,我的主机的系统是fedora 12 i686,交叉编译器为gcc的arm版(版本号4.3.2),qt3已经安装,至于为什么要qt3,这在后面会说明。

 

  1. 下载最新linux内核源码包,下载地址为http://www.kernel.org ,当前最新稳定版为2.6.33.2
  2. 解压缩这个包,至于如何解压,相信不用我说,大家也会,命令行输入命令或是点右键选择解压均可,得到linux-2.6.33.2目录
  3. 在编译前我们需要更改几个文件,还要从友臂之臂提供的内核源码包中提取几个驱动放到相关目录下:
    • 提取友善之臂提供的内核源代码包中的
      drivers/char/mini2440_adc.c
      drivers/char/mini2440_buttons.c
      drivers/char/mini2440_leds.c
      drivers/char/mini2440_pwm.c

      到当前内核对应该的目,即drivers/char目录
      在dirvers/char/Makefile的123行添加如下几行
      obj-$(CONFIG_LEDS_MINI2440)    += mini2440_leds.o
      obj-$(CONFIG_MINI2440_BUTTONS)    += mini2440_buttons.o
      obj-$(CONFIG_MINI2440_BUZZER)    += mini2440_pwm.o
      obj-$(CONFIG_MINI2440_ADC)    += mini2440_adc.o
    • 提取友善之臂提供的内核源代码包中的
      drivers/video/mini2440_backlight.c
      到当前内核对应的目录,即drivers/char目录
      修改drivers/char/Makefile,在文件末尾添加如下一行
      obj-$(CONFIG_BACKLIGHT_MINI2440) += mini2440_backlight.o
    • 关于rtc频率的修改,由于arch/arm/mach-s3c2440/mach-mini2440.c都已经修改好,我们就没必要自己改了
  4. 【可选】选择一幅240*320的漂亮图片,通过友善之臂提供的logo制作工作转换一下图片的格式,并用它替换drivers/video/logo下的同名文件,这里我是用的超可爱的小灰灰的图像,如下图
  5. 修改linux-2.6.33.2/Makefile文件,把ARCH与CROSS_COMPILE两行(大概是189与190两行)改一下,最终效果如下:
    ARCH        ?= arm
    CROSS_COMPILE    ?= arm-linux-
  6. 为了节省配置时间,可以把友善之臂提供的内核包中的config_mini2440_n35(还有可能是t35,根据你的板子而定,我的是n35的)放到linux-2.6.33.2目录下执行如下命令
    cp config_mini2440_n35 .config
  7. 输入如下命令进行配置
    make xconfig
    注:这里如果没有安装qt3-devel就会出错,解决方法也很简单,yum install qt3-devel就可以了
    这里进行的配置主要是选择cpu类型为s3c2440,如图。当然啦,可以根据需要进行裁剪。
  8. 输入如下命令进行编译
    make zImage
    经过几分钟后,就可编译完,这时可以到一个目录下找到它,并且可以烧到板子上了。

注意:

  • 如果对内核的配置不太熟悉,可以先使用友善之臂提供的内核包进行编译
  • 最近发现网上有个《Mini2440_Linux移植开发实战指南》写得很详细,有兴趣的朋友可以看一下
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值