所谓uboot裁剪就是在某个单板的配置文件中删除一写宏定义,因为在makefile中是根据配置文件中的宏定义去选择编译的,如果没有某一功能的宏定义,就不把这部分功能编译进uboot。
配置文件路径:u-boot-2012.04.01/include/configs
删除以下不必要的宏定义:
/************************************************************
* USB support (currently only works with D-cache off)
************************************************************/
//#define CONFIG_USB_OHCI
//#define CONFIG_USB_KEYBOARD
//#define CONFIG_USB_STORAGE
//#define CONFIG_DOS_PARTITION
/************************************************************
* RTC
************************************************************/
//#define CONFIG_RTC_S3C24X0
/*
* BOOTP options
*/
//#define CONFIG_BOOTP_BOOTFILESIZE
//#define CONFIG_BOOTP_BOOTPATH
//#define CONFIG_BOOTP_GATEWAY
//#define CONFIG_BOOTP_HOSTNAME
//#define CONFIG_CMD_DATE
//#define CONFIG_CMD_DHCP
//#define CONFIG_CMD_USB
/*
* File system
*/
// #define CONFIG_CMD_FAT
// #define CONFIG_CMD_EXT2
// #define CONFIG_CMD_UBI
// #define CONFIG_CMD_UBIFS
// #define CONFIG_CMD_MTDPARTS
// #define CONFIG_MTD_DEVICE
// #define CONFIG_MTD_PARTITIONS
// #define CONFIG_YAFFS2
// #define CONFIG_RBTREE
uboot启动后可以手动设置参数:
set ipaddr 192.168.1.17
set ethaddr 00:0c:29:4d:e4:f4
set serverip 192.168.1.3
如果不想手动设置这些参数,可以在uboot源码中设置默认参数。
在uboot里搜索“default environment”,找到default_environment数组,如下:
1 const uchar default_environment[] = { 2 #ifdef CONFIG_BOOTARGS 3 "bootargs=" CONFIG_BOOTARGS "