2007年10月27日星期六

busybox1.7.2添加新命令

在busybox里添加了新命令,1.7.2版本的和网上大部分描述的添加新命令有差别
1 每个文件夹下不再是Makefile.in, 而是kbuild,添加.o
lib-$(CONFIG_ZHOURR) += zhourr.o
2 applet宏不是4个参数而是3个参数
# define APPLET(name,l,s) int name##_main(int argc, char **argv);
applets.h里添加
USE_ZHOURR(APPLET(zhourr,_BB_DIR_USR_BIN, _BB_SUID_NEVER))
或者这个也行
APPLET(zhourr,_BB_DIR_USR_BIN, _BB_SUID_NEVER)
3 config.in里不再是CONFIG_ZHOURR,而是ZHOURR
config.in里添加
config ZHOURR
bool "zhourr"
default n
help
zhourr is a new test command.

和网上大部分描述相同的是
在usage.h里添加--help的打印
在相应文件夹里添加.c文件

碰到编译错误,后来到/autoconf.h里找到以下的话才知道config.in里的CONFIG重复了,所以USE_ZHOURR变成了USE_CONFIG_ZHOURR。
#define CONFIG_CONFIG_ZHOURR 1
#define ENABLE_CONFIG_ZHOURR 1
#define (...) __VA_ARGS__
#define SKIP_CONFIG_ZHOURR(...)

没有评论: