zoukankan      html  css  js  c++  java
  • linux4.10.8 内核移植(三)---裁剪内核

    一、裁剪内核

    1.1 第一次修改

      现在的内核大小为2.8M左右,要裁剪到2.0M以下,毕竟给内核分区就只有2.0M。

      

      

      这两个设备我们没有,裁剪掉。

      进入make menuconfig中,搜索mousedev:

      

      进入里面按需要进行裁剪。

      

      搜索 lp:

      

      hostname修改:

      

      文件系统再此修改:

      

      去掉如下选项:

      

      

      

      再次进入device driver,-》input device->touch creen

      配置上

      

      去掉:

      

      修改完后,保存。然后编译执行,查看uImage的大小

      

      裁剪出来的大小为2.66M,还得继续裁剪。

    1.2 第二次修改

      查看.config文件,查看哪些能修改的。

      

      NETworking support->bluetooth

      蓝牙设备,我们的开发板上没有蓝牙,去掉

      

      device driver->network device support

      

      无线WIFI也不支持,去掉。

      

      这个去不掉,放那里了。

       编译

      

      根本没减少多少,只能现在内核自带属性越来越多了。只能修改分区了。

      修改两个分区,u-boot分区和linux里面的分区。

    二、修改分区

    2.1 修改u-boot分区

      u-boot 的分区在 include/configs/jz2440.h 中修改,修改为4M大小

      

      编译,然后下载。使用openjtag下载

      

      分区:

      

      删除原有的分区:

      mtdparts delall

      新建分区:mtdparts default

      

      分区已经建立好。

    2.2 内核修改 

      Mach-mini2440.c (archarmmach-s3c24xx) 

      

      编译。

      烧写文件系统进去:

    1 nfs 30000000 192.168.0.192:/home/ubuntu/work/nfs_root/fs_mini.yaffs2
    2 nand erase.part rootfs
    3 nand write.yaffs 30000000 260000 $filesize
    4 set bootargs console=ttySAC0,115200 root=/dev/mtdblock3 

      烧写内核,此次就直接烧写进nand中了

    1 nfs 30000000 192.168.0.192:/home/ubuntu/work/nfs_root/uImage
    2 nand erase.part kernel
    3 nand write 30000000 kernel

      u-boot中要设置启动参数:

    1 set 'nand read 30000000 kernel;bootm 30000000'
    2 set bootargs console=ttySAC0,115200 root=/dev/mtdblock3

      正常启动。

    四、制作补丁

      内核补丁制作:

    1 cp .config config_jz2440
    2 make distclean
    3 cd ..
    4 mv linux-4.10.8 linux-4.10.8_jz2440
    5 tar -jxvf linux-4.10.8.tar.gz
    6 diff -urN linux-4.10.8 linux-4.10.8_jz2440 > linux-4.10.8_jz2440.patch

      

      打补丁:

    1 cd linux-4.10.8
    2 patch -p1 < ../linux-4.10.8_jz2440.patch

         

      

      

      

      

      

  • 相关阅读:
    Manager Test and DAO
    07-图
    06-排序
    05-查找
    第04次作业-树
    第03次作业-栈和队列
    week-02 线性表
    week01—绪论
    使用promise封装el-form多个表单校验
    $slot受slot-scope影响,导致$slot中的key消失
  • 原文地址:https://www.cnblogs.com/kele-dad/p/7107544.html
Copyright © 2011-2022 走看看