向BusyBox中添加新命令(1.16.1版…

  纠结了几天的向BusyBox中添加新命令(1.16.1版本)终于有了进展了啊,网上不同版本的使用还真是不一样啊不一样!其实只要在相关文件中查看其他命令的写法就可以依葫芦画瓢了,害我忙活了这久。每次有问题都谷歌百度,但实质都差不多的,解决办法没有我遇到的问题,很沮丧。很开心~最终还是出结果了,很简单的程序很简单的方法哦~

  举例:新命令称为 newcmd,并将它放到了 ./miscutils 目录中
  首先,编写或改写新命令的源代码,保证命令对应main函数形如:
              int cmdname_main( int argc, char **argv );

#include "libbb.h"
#include

int newcmd_main(int argc, char **argv)
{
    int i;
    printf("newcmd called:\n");
    for(i = 0; i < argc; i++)
    {
       printf("arg[%d] \n", i);
    }
    return 0;
}

  然后,更新新添命令所在目录中的配置文件,这样配置时改命令才可见。BusyBox1.16.1版本中配置文件名为Config.in。
        本例中添加:
config NEWCMD 
bool "newcmd" 
default n 
help 
  newcmd is a new test command.

  再次,将命令添加到applets.h中,本例为:
IF_NEWCMD(APPLET(newcmd, _BB_DIR_USR_BIN, _BB_SUID_DROP))
这是因为本文件上面有定义宏# define APPLET(a,b,c) {#a,a##_main,b,c}。

  接着,向 usage.h 添加帮助信息,本例为:
#define newcmd_trivial_usage \
           "None" 
#define newcmd_full_usage \
           "None"
对应使用命令时显示为:
$ ./busybox newcmd --help BusyBox v1.1.1 (2006.04.12-13:47+0000) multi-call    binary Usage: newcmd None None

  最后,更改新添命令所在目录中的编译的Makefile,BusyBox1.16.1版本中名为Kbuild,本例中添加语句:lib-$(CONFIG_NEWCMD) +=newcmd.o

这样添加新命令的过程全部完成,之后只要配置,编译,安装即可。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值