实验四Linux内核移植实验.docVIP

  • 386
  • 0
  • 约7.31千字
  • 约 17页
  • 2020-10-06 发布于浙江
  • 举报
合肥学院 嵌入式系统设计实验报告 (2013- 2014第二学期) 专 业: 实验项目: 实验四 Linux内核移植实验 实验时间: 2014 年 5 月 12 实验成员: _____ 指导老师: 干开峰 电子信息与电气工程系 2014年4月制 一、实验目的 1、熟悉嵌入式Linux的内核相关代码分布情况。 2、掌握Linux内核移植过程。 3、学会编译和测试Linux内核。 二、实验内容 本实验了解Linux2.6.32代码结构,基于S3C2440处理器,完成Linux2.6.32内核移植,并完成编译和在目标开发板上测试通过。 三、实验步骤 1、使用光盘自带源码默认配置Linux内核 = 1 \* GB2 ⑴ 在光盘linux文件夹中找到linux-2.6.32.2-mini2440.tar.gz源码文件。 输入命令:#tar –jxvf linux-2.6.32.2-mini2440tar对其进行解压。 = 2 \* GB2 ⑵ 执行以下命令来使用缺省配置文件config_x35 输入命令#cp config_mini2440_x35 .config;(注意:x35后面有个空格,然后有个“.”开头的 config ) 然后执行“make menuconfig”命令,但是会出现出现缺少ncurses libraries的错误,如下图所示: 解决办法:输入sudo apt-get install libncurses5-dev 命令进行在线安装ncurses libraries服务。 安装好之后在make menuconfig一下就会出现如下图所示。 = 3 \* GB2 ⑶ 配置内核界面,不用做任何更改,在主菜单里选择Exit退出,并选“Yes”保存设置返回到刚命令行界面,生成相应配置的头文件。 编译内核: #make clean #make zImage 在执行#make zImage命令时会出现如下错误: 错误:arch/arm/mach-s3c2440/mach-mini2440.c:156: error: unknown field sets specified in initializer 通过网上查找资料 于是在自己的mach-mini2440.c中加入 #include linux/mtd/mtd.h #include linux/mtd/nand.h #include linux/mtd/nand_ecc.h #include linux/mtd/partitions.h #include plat/nand.h 再次make zImage以下就不会出现错误了 。 编译结束后,会在arch/arm/boot目录下生成linux内核映象文件:zImage = 4 \* GB2 ⑷ 进行zImage文件测试 首先Nor Flash启动开发板,在超级终端中选择功能号[k],用dnw下载刚刚配置的zImage镜像文件。然后再把开发板Nand Flash启动,x35触屏会出现小企鹅的图案,同时超级终端也会出现如下图所示画面: 2、官网下载源码移植 2.1 移植前准备 = 1 \* GB2 ⑴ 官网下载内核Linux-2.6.32.tar.bz2。新建一个工作目录s3c2440,将内核源码包拷贝至/home/linux2.6.32.2工作目录下。 = 2 \* GB2 ⑵ 下载yaffs2代码 官网下载cvs-root.tar.gz压缩包,拷贝至/home/linux2.6.32.2工作目录下。 2.2 建立自己的目标平台 = 1 \* GB2 ⑴ 解压内核源码 进入linux2.6.32.2目录下执行解压命令:#tar –jxvf linux-2.6.32.tar.bz2 ,将内核源码进行解压。 = 2 \* GB2 ⑵ 进入内核目录,修改makefile,并对内核进行默认配置进行修改183行,修改:

文档评论(0)

1亿VIP精品文档

相关文档