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

一、裁剪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

 

 

 

 

你可能感兴趣的:(uboot)