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 (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 内核移植(三)---裁剪内核的更多相关文章
- linux4.10.8 内核移植(一)---环境搭建及适配单板。
一.环境搭建 源码包下载:git clone https://www.kernel.org/pub/linux/kernel/v4.x/linux-4.10.8.tar.gz 或者直接去kernel. ...
- 【转】 linux内核移植和驱动添加(三)
原文网址:http://blog.chinaunix.net/uid-29589379-id-4708909.html 原文地址:linux内核移植和驱动添加(三) 作者:genehang 四,LED ...
- 小白自制Linux开发板 三. Linux内核与文件系统移植
上一篇完成了uboot的移植,但是想要愉快的在开发板上玩耍还需要移植Linux内核和文件系统. 1.Linux内核 事实上对于F1C100S/F1C200S,Linux官方源码已经对licheepi ...
- 2.移植3.4内核-支持烧写yaffs2,裁剪内核并制作补丁
在上章-制作文件系统,并使内核成功启动jffs2文件系统了 本章主要内容如下: 1)使内核支持yaffs2文件系统 2)裁剪内核 3)制作内核补丁 1.首先获取yaffs2源码(参考git命令使用详解 ...
- 基于tiny4412的Linux内核移植 -- 设备树的展开
作者信息 作者: 彭东林 邮箱:pengdonglin137@163.com QQ:405728433 平台简介 开发板:tiny4412ADK + S700 + 4GB Flash 要移植的内核版本 ...
- 18.17 U-Boot+内核移植
18.17.1 移植U-Boot-2012.04.08 1.下载.建立source insight工程.编译.烧写.如果无运行分析原因. $ .tar.bz2 $ cd u-boot- $ make ...
- 基于tiny4412的Linux内核移植 -- 设备树的展开【转】
转自:https://www.cnblogs.com/pengdonglin137/p/5248114.html#_lab2_3_1 阅读目录(Content) 作者信息 平台简介 摘要 正文 一.根 ...
- linux内核(二)内核移植(DM365-DM368开发攻略——linux-2.6.32的移植)
一.介绍linux-2.6.32: Linux-2.6.32的网上介绍:增添了虚拟化内存 de-duplicacion.重写了 writeback 代码.改进了 Btrfs 文件系统.添加了 ATI ...
- 【转】 linux内核移植和网卡驱动(二)
原文网址:http://blog.chinaunix.net/uid-29589379-id-4708911.html 一,内核移植步骤: 1, 修改顶层目录下的Makefile ARCH ...
随机推荐
- 关于supervisor 的使用以及配置
首先我个人认为,用python实现的supervisor使用了守护进程这个概念去实现一个包裹进程的概念. 他可以帮助你的进程完成失效重启,日志记录,确保在线,关机自启动等一系列的功能. 当使用supe ...
- python学习笔记三——控制语句
2.5 运算符与表达式 2.5.1 算术运算符和算术表达式 算术运算符包括四则运算符.求模运算符和求幂运算符. 算术运算符 加减乘除:+ - * / 表达式:x+y x-y x*y x/y ...
- 《ERP系统修正数据的sql文件》
第一 1.修正销售客户创建者的sql脚本: UPDATE e_sales_customers sc SET sc.user_id = ( SELECT tmp.user_id FROM ( SELEC ...
- Guava的RateLimiter在单机限流中的正确用法
错误使用 在实现限流时,网上的各种文章基本都会提到Guava的RateLimiter,用于实现单机的限流,并给出类似的代码: public void method() { RateLimiter ra ...
- Java循环中try...finally...遇到continue
一段很简单的代码,先自己在大脑中给出结果: for (int i = 0; i < 5; i++) { System.out.println("enter: i=" + i) ...
- MySQL基本概念以及简单操作
一.MySQL MySQL是一个关系型数据库管理系统,由瑞典MySQL AB 公司开发,目前属于Oracle 旗下产品.MySQL 是最流行的关系型数据库管理系统之一,在 WEB 应用方面,MyS ...
- 当你觉得大学没学到Linux时的感想
你的大学生活是什么样的呢?你在大学有学到特殊的技能吗?你可以在大学毕业的时候找到一份满意的工作吗?当这些问题摆在你面前的时候,你会迷茫吗,绝大多数的人在毕业的时候并不能找到一份好的工作,那不是因为你的 ...
- ubuntu 程序后台运行几个方法
51 1. 程序后加上“&” ,即 “./myjob &”, 将命令放入到一个作业队列中,可以用命令“jobs” 查看 2. 将1中的命令放在 “()”中, 即 “(./myjob & ...
- [资源]--IOS捷径大全,众多实用小功能
一.实用工具 1.支付助手3.0(新) (扫一扫.微信扫码.微信收款.支付宝扫码.Apple Pay.AA付款.查快递.蚂蚁森林.蚂蚁庄园.彩票.股票.运动.淘票票.乘车码.生活缴费.火车票等等): ...
- day22 time模块
表示方式有三种 时间戳 给机器看的 float格式 格式化的字符传 给人看的 格式化时间 元祖 计算用的 结构化时间 1 # 时间戳时间 2 # 返回一个时间戳,表示从1970.1.1日到现在的秒数 ...