linux内核裁剪移植,实验5 linux内核的裁剪移植

62e50291a81fc54b507f33cb80033297.gif 实验5 linux内核的裁剪移植

(14页)

8360931e0e54e4ce7e6b88bf5d877f7f.gif

本资源提供全文预览,点击全文预览即可全文预览,如果喜欢文档就下载吧,查找使用更方便哦!

19.90 积分

实验 5 linux 内核的裁剪移植 一、实验目的: 学习利用 menuconfig 配置文件进行裁减内核,编译内核并移植到 开发板上。 二、实验内容 一、开发环境 宿主机:ubuntu10.04 开发板:tiny6410 编译器:4.3.2 二、内核移植 1.下载源码 ftp://ftp.kernel.org/pub/linux/kernel/v2.6/linux-2.6.38.tar.bz2 此实验所需的文件放到/home/embedded/11 目录下: linux-2.6.38.tar.bz2, yaffs2.tar.bz2 s3c_nand.c , s3c_nand_mlc.fo ,nand_base.c ,Kconfig ,regs-nand.h 2.解压 ( 进入根目录下的/home/poplar/expr4/kernel 目录,解压源码) # cd /home # mkdir poplar/expr4/kernel –p # cd /home/poplar/expr4/kernel # cp /home/embedded/11/linux-2.6.38.tar.bz2 ./ tar xvfj /home/poplar/expr4/kernel/linux-2.6.38.tar.bz2 3.修改架构,编译器(需要在 arm 上运行,所以用交叉编译器) 解压完进入解压出来的 linux-2.6.38 目录 #cd linux-2.6.38 #vi Makefile (或者用 gedit) 191 行改为 ARCH ?= arm //191 行 CROSS_COMPILE ?= /usr/local/arm/4.3.2/bin/arm-linux- (找到其交叉编译环境,把路径加全) //192 行 4.生成默认配置文件 #cp arch/arm/configs/s3c6400_defconfig .config 如省略这个操作的话后面会找不到 System Type Linux 内核中已经自带了关于我们 6410 开发板的配置。 5.修改配置项 #make menuconfig System Type-[*] MINI6410 选上, 6.拷贝 NAND FLASH 驱动到根目录下的/home/poplar/expr4/kernel 下 的 linux-2.6.38 里相应的文件位置处(以下的文件在实验五文件夹里有) drivers/mtd/nand/s3c_nand.c arch/arm/plat-samsung/include/plat/regs-nand.h drivers/mtd/nand/s3c_nand_mlc.fo drivers/mtd/nand/nand_base.c drivers/mtd/nand/Kconfig 执行命令: #cp /home/embedded/11/s3c_nand.c ./drivers/mtd/nand/ #cp /home/embedded/11/s3c_nand_mlc.fo ./drivers/mtd/nand/ #cp /home/embedded/11/nand_base.c ./drivers/mtd/nand/ #cp /home/embedded/11/Kconfig ./drivers/mtd/nand/ #cp /home/embedded/11/regs-nand.h ./arch/arm/ plat-samsung/include/plat/ 7 修改 nand 驱动 makefile 输入指令#cd drivers/mtd/nand #vi Makefile drivers/mtd/nand/Makefile 中 20 行增加 obj-$(CONFIG_MTD_NAND_S3C) += s3c_nand.o 末尾再增加 obj-$(CONFIG_MTD_NAND_S3C) += s3c_nand_mlc.fo 8.增加相应选项 输入指令#cd /home/poplar/expr4/kernel/linux-2.6.38 #make menuconfig Device Drivers- Memory Technology Device (MTD) support - [*] MTD partitioning support [*] Command line partition table parsing Direct char device access to MTD devices Caching block device access to MTD devices NAND Device Support - NAND Flash support for Samsung S3C SoCs 去掉不要选 NAND Flash support for S3C SoC [*] S3C NAND Hardware ECC 三、 添加 yaffs2 文件系统的支持 首先向内核源代码中加入支持 yaffs2 的源代码】 解压 yaffs2.tar.bz2 #cd /home/poplar/expr4/kernel #cp /home/embedded/11/yaffs2.tar.bz2 ./ #tar xvfj yaffs2.tar.bz2 进入解压出的目录#cd yaffs2 执行如下命令 ./patch-ker.sh c m +内核源码路径 # ./patch-ker.sh c m /linux-2.6.38 然后进入内核源码目录 #cd /home/poplar/expr4/kernel/linux-2.6.38 执行 make menuconfig 选择 File systems 选择 [*] Miscellaneous filesystems - 选择上 yaffs2 file system support 以及与 yaffs2 相关选项。 配置结果如下: 退出保存 四、 添加对 UBIFS 文件系统的支持 1. 配置内核支持 UBIFS #make menuconfig Device Drivers - Memory Technology Device (MTD) support - Enable UBI - Unsorted block images - 2.配置 mtd 支持 UBI 接口 File systems - Miscellaneous filesystems - UBIFS file system support 3.再次 make #make zImage 一、下载到开发板(见实验三操作说明) 先将 zImage 用 DNW 下载到开发板,然后将开关拨动到 nand 方式启动,观察超级终端 此时启动会出现如下问题 如果成功,如下图: usbcore: registered new interface driver usbhid usbhid: USB HID core driver VFP support v0.3: implementor 41 architecture 1 part 20 variant b rev 5 drivers/rtc/hctosys.c: unable to open rtc device (rtc0) mmc0: mmc_rescan_try_freq: trying to init card at 300000 Hz mmc0: mmc_rescan_try_freq: trying to init card at 200000 Hz UBIFS: recovery needed usb 1-1: new full speed USB device using s3c2410-ohci and address 2 mmc0: mmc_rescan_try_freq: trying to init card at 100000 Hz UBIFS: recovery completed UBIFS: mounted UBI device 0, volume 0, name “FriendlyARM-root“ UBIFS: file system size: 2061287424 bytes (2012976 KiB, 1965 MiB, 1997 LEBs) UBIFS: journal size: 12517376 bytes (12224 KiB, 11 MiB, 13 LEBs) UBIFS: media format: w4/r0 (latest is w4/r0) UBIFS: default compressor: lzo UBIFS: reserved for root: 0 bytes (0 KiB) VFS: Mounted root (ubifs filesystem) on device 0:10. hwclock: can't open '/dev/misc/rtc': No such file or directory [01/Jan/1970:00:00:18 +0000] boa.c:173 - unable to create socket: Function not implemented open device leds: No such file or directory /usr/sbin/alsactl: load_state:1610: No soundcards found. ifconfig: socket: Function not implemented Try to bring eth0 interface upcat: can't open '/sys/class/net/eth0/address': No such file or directory ifconfig: socket: Function not implemented route: socket: Function not implemented Done 关 键 词: 实验5linux内核的裁剪移植

524d6daf746efaa52c3c71bbfe7ba172.gif  天天文库所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值