一、裁剪内核

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 (arch\arm\mach-s3c24xx)

  

  编译。

  烧写文件系统进去:

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

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

 nfs  192.168.0.192:/home/ubuntu/work/nfs_root/uImage
nand erase.part kernel
nand write kernel

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

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

  正常启动。

四、制作补丁

  内核补丁制作:

 cp .config config_jz2440
make distclean
cd ..
mv linux-4.10. linux-4.10.8_jz2440
tar -jxvf linux-4.10..tar.gz
diff -urN linux-4.10. linux-4.10.8_jz2440 > linux-4.10.8_jz2440.patch

  

  打补丁:

 cd linux-4.10.
patch -p1 < ../linux-4.10.8_jz2440.patch

     

  

  

  

  

  

linux4.10.8 内核移植(三)---裁剪内核的更多相关文章

  1. linux4.10.8 内核移植(一)---环境搭建及适配单板。

    一.环境搭建 源码包下载:git clone https://www.kernel.org/pub/linux/kernel/v4.x/linux-4.10.8.tar.gz 或者直接去kernel. ...

  2. 【转】 linux内核移植和驱动添加(三)

    原文网址:http://blog.chinaunix.net/uid-29589379-id-4708909.html 原文地址:linux内核移植和驱动添加(三) 作者:genehang 四,LED ...

  3. 小白自制Linux开发板 三. Linux内核与文件系统移植

    上一篇完成了uboot的移植,但是想要愉快的在开发板上玩耍还需要移植Linux内核和文件系统. 1.Linux内核 事实上对于F1C100S/F1C200S,Linux官方源码已经对licheepi ...

  4. 2.移植3.4内核-支持烧写yaffs2,裁剪内核并制作补丁

    在上章-制作文件系统,并使内核成功启动jffs2文件系统了 本章主要内容如下: 1)使内核支持yaffs2文件系统 2)裁剪内核 3)制作内核补丁 1.首先获取yaffs2源码(参考git命令使用详解 ...

  5. 基于tiny4412的Linux内核移植 -- 设备树的展开

    作者信息 作者: 彭东林 邮箱:pengdonglin137@163.com QQ:405728433 平台简介 开发板:tiny4412ADK + S700 + 4GB Flash 要移植的内核版本 ...

  6. 18.17 U-Boot+内核移植

    18.17.1 移植U-Boot-2012.04.08 1.下载.建立source insight工程.编译.烧写.如果无运行分析原因. $ .tar.bz2 $ cd u-boot- $ make ...

  7. 基于tiny4412的Linux内核移植 -- 设备树的展开【转】

    转自:https://www.cnblogs.com/pengdonglin137/p/5248114.html#_lab2_3_1 阅读目录(Content) 作者信息 平台简介 摘要 正文 一.根 ...

  8. linux内核(二)内核移植(DM365-DM368开发攻略——linux-2.6.32的移植)

    一.介绍linux-2.6.32: Linux-2.6.32的网上介绍:增添了虚拟化内存 de-duplicacion.重写了 writeback 代码.改进了 Btrfs 文件系统.添加了 ATI ...

  9. 【转】 linux内核移植和网卡驱动(二)

    原文网址:http://blog.chinaunix.net/uid-29589379-id-4708911.html 一,内核移植步骤: 1, 修改顶层目录下的Makefile ARCH       ...

随机推荐

  1. Jquery 组 tbale表格隔行变色

    <!DOCTYPE html><html lang="zh-cn"><head> <meta charset="utf-8&qu ...

  2. java中父进程与子进程

    http://blog.csdn.NET/seelye/article/details/8269705

  3. mysql 8.0,运行springboot项目配置:

    1.修改pom.xml <dependency> <groupId>mysql</groupId> <artifactId>mysql-connecto ...

  4. Docker容器从一知半解到入门

    Docker是一个开源的.跨平台的应用容器引擎,可以让技术开发认用打包他们的应用以及一些依赖包到一个可移植的容器平台中,发布到任何流行的Linux操作系统上面,也可以在Windows和mac操作系统上 ...

  5. KEYENCE Programming Contest 2019 自闭记

    A:签到. #include<iostream> #include<cstdio> #include<cstdlib> #include<cmath> ...

  6. Enum 扩展

    项目中,用到枚举值,并且增加中英文描述. 一般的[Description]属性,无法满足中英文,所以进行了简单扩展. 继承DescriptionAttribute,增加了英文描述description ...

  7. Colored Sticks POJ - 2513(trie树欧拉路)

    题意: 就是无向图欧拉路 解析: 不能用map..超时 在判断是否只有一个联通的时候,我比较喜欢用set,但也不能用set,会超时,反正不能用stl emm 用trie树来编号就好了 #include ...

  8. instanceof判断的对象可以是接口

    instanceof是Java的一个二元操作符(运算符) 用法 boolean result = object instanceof class instanceof通过返回一个布尔值来指出,这个对象 ...

  9. day11 高阶函数 函数式编程

    高阶函数,满足 接收函数作为参数或者返回有函数 函数可以当做参数传递给另一个函数 def foo(n): print(n) def bar(name): print("my name is ...

  10. python 线程,进程28原则

    基于函数实现 from threading import Thread def fun(data, *args, **kwargs): """ :param data: ...