S3C2440移植linux3.4.2内核之内核裁剪
2021/4/17 7:29:18
本文主要是介绍S3C2440移植linux3.4.2内核之内核裁剪,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
上一节S3C2440移植linux3.4.2内核之支持YAFFS文件系统我们修改了内核支持了yaffs2文件系统,这节我们裁剪内核。
文章目录
- 为什么要裁剪内核?
- 首先裁剪内核里无关的CPU/单板文件
- 裁剪无关的文件系统ext2、ext3、ext4
- 裁剪光盘文件系统CD-ROM
- 裁剪不常用的杂项文件系统
- 通过内核启动信息来裁剪
- 通过.config文件的内容来裁剪
- 最后通过上节查找的裁剪内容,来make menuconfig
- 给内核制作补丁
移植Linux3.4.2内核其他文章链接:
S3C2440移植linux3.4.2内核之内核框架介绍及简单修改
S3C2440移植linux3.4.2内核之修改分区以及制作根文件系统
S3C2440移植linux3.4.2内核之支持YAFFS文件系统
S3C2440移植linux3.4.2内核之内核裁剪
为什么要裁剪内核?
因为mtd的kernel分区只有2M大,而实际内核有2.37MB,所以需要裁剪到小于2M(或者修改mtd分区值)
首先裁剪内核里无关的CPU/单板文件
通过vi .config,然后搜索2440,如下图所示:
然后参考上图,make menuconfig
进入System Type —> SAMSUNG S3C24XX SoCs Support:
如上图所示,CPU下只选择2440,单板文件下只选择SMDK2440以及MINI2440相关
裁剪无关的文件系统ext2、ext3、ext4
重新make menuconfig,进入File systems,去掉:
< > Second extended fs support //ext2< > Ext3 journalling file system support < > The Extended 4 (ext4) filesystem
裁剪光盘文件系统CD-ROM
进入File systems—> CD-ROM/DVD Filesystems,去掉:
< > ISO 9660 CDROM file system support
裁剪不常用的杂项文件系统
进入File systems—> Miscellaneous filesystems,去掉:
< > Compressed ROM file system support (cramfs) // cramfs压缩文件系统[ ] Include support for ZLIB compressed file systems //zlib压缩文件系统< > ROM file system support // Romfs
通过内核启动信息来裁剪
如下图所示,内核启动时,看到初始化了PS2鼠标驱动
由于,我们2440板子只有USB接口,所以需要裁剪掉PS2鼠标驱动:
重新make menuconfig,进入Device Drivers-> Input device support,去掉:
[ ] Provide legacy /dev/psaux device //PS2鼠标鼠标指向的鼠标设备文件[ ] Mice ---> //其它各种鼠标驱动,包括PS2鼠标、I2C鼠标、触摸板等[ ] PS/2mouse
通过.config文件的内容来裁剪
通过vi .config,找到如下图所示,由于CONFIG_TOUCHSCREEN_USB(USB触摸板)很少见到,所以去掉
USB-based Watchdog Cards(基于usb的看门狗卡)
如下图所示,这个看门狗卡很少用到,所以去掉CONFIG_SSB_POSSIBLE
USB-based Watchdog Cards(基于usb的看门狗卡)
Sonics Silicon Backplane (Sonics公司下的Silicon底板)
如下图所示,这个公司的产品没有用到,所以去掉CONFIG_BCMA_POSSIBLE
找到如下图所示,由于CONFIG_SND_USB (USB声卡)没用到,所以去掉
去掉CONFIG_USB_LIBUSUAL,没用到
最后通过上节查找的裁剪内容,来make menuconfig
去掉CONFIG_TOUCHSCREEN_USB
-> Device Drivers -> Input device support-> Generic input layer-> Touchscreens<*> Samsung S3C2410/generic touchscreen input driver //加上自带的触摸屏驱动< > USB Touchscreen Driver //去掉USB触摸屏驱动
去掉CONFIG_SSB_POSSIBLE
搜索如下图所示,该宏是被别的选项设置,所以去掉不了:
去掉CONFIG_BCMA_POSSIBLE。该宏也没找到,所以去掉不了
去掉CONFIG_SND_USB
-> Device Drivers-> Sound card support -> Advanced Linux Sound Architecture[ ] USB sound devices //去掉USB声卡驱动5)去掉CONFIG_USB_LIBUSUAL-> Device Drivers -> USB support[ ] The shared table of common (or usual) storage devices
裁剪后大小如下所示
给内核制作补丁
制作补丁之前,首先需要make distclean清除所有的配置文件,也包括了menuconfig菜单。而menuconfig菜单是通过读取.config文件来生成的.
所以我们需要保存.config文件
步骤如下:
cp .config config_ok //保存到config_ok文件make distclean cd ../mv linux-3.4.2 linux-3.4.2_new //更改文件名tar -xjf linux-3.4.2.tar.bz2 //解压需要比较的源文件diff -urN linux-3.4.2 linux-3.4.2_new > linux-3.4.2_new.patch //生成补丁文件linux-3.4.2_new.patch
这篇关于S3C2440移植linux3.4.2内核之内核裁剪的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-23linux 系统宝塔查看网站访问的命令是什么?-icode9专业技术文章分享
- 2024-11-12如何创建可引导的 ESXi USB 安装介质 (macOS, Linux, Windows)
- 2024-11-08linux的 vi编辑器中搜索关键字有哪些常用的命令和技巧?-icode9专业技术文章分享
- 2024-11-08在 Linux 的 vi 或 vim 编辑器中什么命令可以直接跳到文件的结尾?-icode9专业技术文章分享
- 2024-10-22原生鸿蒙操作系统HarmonyOS NEXT(HarmonyOS 5)正式发布
- 2024-10-18操作系统入门教程:新手必看的基本操作指南
- 2024-10-18初学者必看:操作系统入门全攻略
- 2024-10-17操作系统入门教程:轻松掌握操作系统基础知识
- 2024-09-11Linux部署Scrapy学习:入门级指南
- 2024-09-11Linux部署Scrapy:入门级指南