Chinaunix首页 | 论坛 | 博客
  • 博客访问: 804735
  • 博文数量: 281
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 2770
  • 用 户 组: 普通用户
  • 注册时间: 2009-08-02 19:45
个人简介

邮箱:zhuimengcanyang@163.com 痴爱嵌入式技术的蜗牛

文章分类
文章存档

2020年(1)

2018年(1)

2017年(56)

2016年(72)

2015年(151)

分类: LINUX

2016-06-18 11:21:14

这一课主要是裁剪内核大小以及制作补丁文件:

可以查看分区信息:
device nand0 , # parts = 4
 #: name                size            offset          mask_flags
 0: u-boot              0x00040000      0x00000000      0
 1: params              0x00020000      0x00040000      0
 2: kernel              0x00200000      0x00060000      0
 3: rootfs              0x0fda0000      0x00260000      0
 
 
可以看到内核分区大小是2M空间,
所以要把内核裁剪到2M以下的大小。当然也可以将kernel分区改的更大。

注意:
如果内核中把分区大小改变了,则在uboot移植中,mtdparts是不是也要改变呢?当然,因为uboot是根据内核来
划分分区,它实际上并不直接决定NAND上分区的大小,只是做到易用性而已。内核才真正的实现划分分区大小。

查看.config文件,利用make menuconfig来配置有用的选项。

1. 编译新的内核uImage_new。

2. 重新烧写:

烧写内核:
tftp 30000000 uImage_new; nand erase.part kernel; nand write 30000000 kernel

烧写文件系统:
tftp 30000000 my_fs.yaffs2; nand erase.part rootfs; nand write.yaffs 30000000 260000  $filesize


3. 设置参数
set 'nand read 30000000 kernel;bootm 30000000'
set bootargs console=ttySAC0,115200 root=/dev/mtdblock3
set machid 16a          // smdk2440  mach-smdk2440.c
save


4. 制作内核patch文件

4.1 先把配置文件.config拷贝为config_ok
4.2 make distclean   // 清除所有配置生成的东西
4.3 清除完后,再制作补丁文件
    mv linux-3.4.2 linux-3.4.2_configured
    
    解压纯代码树:
    tar xjf linux-3.4.2.tar.bz2
    
    制作补丁:
    diff -urN linux-3.4.2 linux-3.4.2_configured/ > linux-3.4.2_configured.patch

    可以查看已经生成了补丁文件:
    book@book-desktop:/work/system$ ls linux-3.4.2_configured.patch -l
    -rw-r--r-- 1 book book 523419 2016-06-15 16:26 linux-3.4.2_configured.patch
    
5. 使用内核补丁:

    进入纯内核代码树目录下:
    patch -p1 < ../linux-3.4.2_configured.patch
    cp config_ok .config
    make uImage
        

   
阅读(945) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~