u-boot-2012.04.01移植(十二)裁剪u-boot并制作补丁

本文详细介绍了如何裁剪U-Boot以去除不必要的功能,减少程序大小,并提供了制作补丁的具体步骤,包括清理编译环境、重命名目录、解压源码、制作及应用补丁。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、裁剪u-boot

移植到现在,uboot的基本功能已经都添加上了,但有很多功能不需要,造成了u-boot程序太大,对此可以通过修改include/configs/smdk2440.h,取消定义不需要的宏,对u-boot进行适当裁剪

 

usb相关宏:

#if 0
#define CONFIG_USB_OHCI
#define CONFIG_USB_KEYBOARD
#define CONFIG_USB_STORAGE
#define CONFIG_DOS_PARTITION
#endif

 

 

RTC相关宏:

#if 0
#define CONFIG_RTC_S3C24X0
#endif

 

bootp命令相关宏:

#if 0
#define CONFIG_BOOTP_BOOTFILESIZE
#define CONFIG_BOOTP_BOOTPATH
#define CONFIG_BOOTP_GATEWAY
#define CONFIG_BOOTP_HOSTNAME
#endif

 

命令的相关宏:

#define CONFIG_CMD_BSP
#define CONFIG_CMD_CACHE
#if 0
#define CONFIG_CMD_DATE
#define CONFIG_CMD_DHCP
#endif
#define CONFIG_CMD_ELF
#define CONFIG_CMD_NAND
#define CONFIG_CMD_PING
#define CONFIG_CMD_REGINFO
#if 0
#define CONFIG_CMD_USB
#endif

 

 

文件系统相关宏:

#if 0
#define CONFIG_CMD_FAT
#define CONFIG_CMD_EXT2
#define CONFIG_CMD_UBI
#define CONFIG_CMD_UBIFS
#endif
#define CONFIG_CMD_MTDPARTS
#define CONFIG_MTD_DEVICE
#define CONFIG_MTD_PARTITIONS
#if 0
#define CONFIG_YAFFS2
#define CONFIG_RBTREE
#endif

 

 

 

 

二、制作补丁

1、清除配置、编译、链接过程的中间文件以及反汇编文件

虚拟机u-boot顶层目录下输入

make distclean && rm *.dis

 

2、重命名修改后的u-boot目录

cd ../ && mv u-boot-2012.04.01 u-boot-2012.04.01_JZ2440   -rf

 

3、解压u-boot源码

tar xjf u-boot-2012.04.01.tar.bz2

 

4、制作补丁

diff -urN u-boot-2012.04.01 u-boot-2012.04.01_JZ2440 > u-boot-2012.04.01_JZ2440.patch

 

5、使用补丁

cd u-boot-2012.04.01
patch -p1 < ../u-boot-2012.04.01_JZ2440.patch
make smdk2440_config
make

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值