• 裁剪内核


    https://www.cnblogs.com/kele-dad/p/7107544.html

    一、裁剪内核

    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

         

      

      

      

      

      

  • 相关阅读:
    非标准的xml解析器的C++实现:二、解析器的基本构造:语法表
    非标准的xml解析器的C++实现:一、思考基本数据结构的设计
    lua5.4 beta中的to-be-closed变量的用法
    lua table与json的之间的互相转换高性能c++实现
    lua多线程共享数据的解决方案
    winsock完成端口套接字重用注意事项
    Less相关的用法以及Vue2.0 中如何使用Less
    1:MUI选择器组件抛出“n.getSelectedItem is not a function”异常的解决办法 2:mui三级联动 3:移动端关闭虚拟键盘
    redux状态管理和react-redux的结合使用
    初步学习React Router 4.0
  • 原文地址:https://www.cnblogs.com/mwl523/p/10894319.html
Copyright © 2020-2023  润新知