Board logo

标题: 基于ARM的Linux系统移植研究与实现 02 [打印本页]

作者: samwalton    时间: 2013-8-1 07:20     标题: 基于ARM的Linux系统移植研究与实现 02

一般情况下,从官方网站上下载的内核不能直接在硬件平台上运行,而要跟据具体的硬件平台重新裁剪、编译内核,并根据硬件平台特性编写相应的硬件相关的代码,将Linux移植到硬件平台。对内核代码的修改包括以下部分:

  (1)修改内核目录树根下的Makefile,找到ARCH和CROSS_COMPILE,修改ARCH=arm,CROSS_COMPILE=armlinux,然后设置PATH环境变量,在文件bashrc中添加expor PATH=/usr/local/arm/3.4.4/bin:$PATH,使其可以找到交叉编译工具链,然后重新登陆。

  (2)设置flash分区,修改arch/arm/machSBC2410/devs.c用以指明分区信息,该文件的内容建立nand flash分区表;修改arch/arm /machSBC2410/machsmdk2410.c文件指定启动时初始化,并在kernel启动时依据对分区的设置进行初始配置。在Linux源文件目录下,执行makemenuconfig命令,配置内核产生config文件,选择处理器类型为SBC2410,选择串口驱动设备,完成后保存config文件。

  在完成内核的裁减之后,执行命令make clean,编译内核之前先把环境给清理干净,也可以用makerealclean或makemrproper来彻底清除相关依赖,保证没有不正确的文件存在,最后将zimage下载到开发板。

  3 结语

  经过移植,Uboot和Linux在SBC2410平台就能运行,在此基础上,还可以进一步开发各类驱动程序及应用软件。用串口线将SBC2410和PC机相连,通过超级终端可以看到移植成功。系统成功启动后,就可以进入根文件系统。本文通过分析Linux的特点和移植方法,总结出了一种基于arm的Linux系统移植的方法,并实现了Linux系统内核在SBC2410处理器平台上的移植。






欢迎光临 电子技术论坛_中国专业的电子工程师学习交流社区-中电网技术论坛 (http://bbs.eccn.com/) Powered by Discuz! 7.0.0