发新话题
打印

向uClinux里的busybox中添加自己的命令

本主题由 wzc0066 于 2009-11-17 13:19 加入精华

向uClinux里的busybox中添加自己的命令

Form: www.mcuos.com
====================

其实很简单,因为网上的文档写的很清晰!这里小结一下,作个存档(如 helloworld.c )。

1、 为新命令选择一个分类,如busybox/networking目录

2、 修改C源程序
  • 将所有的header用 #include "libbb.h" 替换
  • 将main函数的声明改成如下形式:
复制内容到剪贴板
代码:
int helloworld_main(int argc, char **argv) MAIN_EXTERNALLY_VISIBLE;
int helloworld_main(int argc ATTRIBUTE_UNUSED, char **argv ATTRIBUTE_UNUSED)
{
    ...
}
3、 修改busybox/networking/Kbuild,按顺序添加:
复制内容到剪贴板
代码:
lib-$(CONFIG_FTPPUT)              += ftpgetput.o
lib-$(CONFIG_HELLOWORLD)      +=helloworld.o
lib-$(CONFIG_HOSTNAME)        += hostname.o
4、 修改busybox/networking/Kconfig,按顺序添加:
复制内容到剪贴板
代码:
config USER_BUSYBOX_HELLOWORLD
        bool "helloworld"
        default n
        help
          A hello world program.
5、 修改busybox/networking/Config.in,按顺序添加:
复制内容到剪贴板
代码:
config HELLOWORLD
        bool "hellowrorld"
        default n
        help
          A hello world program.
6、 修改busybox/include/applets.h,按顺序添加:
复制内容到剪贴板
代码:
USE_HELLOWORLD(APPLET(helloworld, _BB_DIR_USR_BIN, _BB_SUID_NEVER))
7、 修改busybox/include/usage.h,按顺序添加:
复制内容到剪贴板
代码:
#define helloworld_trivial_usage "None"
#define helloworld_full_usage "None"
8、 执行make menuconfig选中编译测试

NOTE:

welcome everyone, you are at home now.

TOP

发新话题
最近访问的版块