向BusyBox中添加新命令(1.16.1版…
2018-02-23 17:10
162 查看
纠结了几天的向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
这样添加新命令的过程全部完成,之后只要配置,编译,安装即可。
举例:新命令称为 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
这样添加新命令的过程全部完成,之后只要配置,编译,安装即可。
相关文章推荐
- 如何向busybox添加自己的命令 例如:tree
- 如何向busybox添加自己的命令
- 向busybox中添加命令
- busybox的添加新命令。
- 如何向busybox添加自己的命令
- 给openwrt里的busybox添加新命令,比如tree命令
- 向busybox中添加命令
- BusyBox 中添加新命令
- 如何向busybox添加自己的命令
- 嵌入式linux busybox 文件系统的移植 和 rz sz 命令的添加
- busybox之添加新的子命令
- busybox添加新命令
- 文件夹右键添加“DOS”命令
- 嵌入式 uboot第二阶段启动流程小结以及在uboot添加自定义命令
- 1.24.2版本busybox扩充命令及函数集讲解||扩充applet命令
- 浅析busybox查找命令和调用相应命令函数的实现流程框架
- 〖Android〗巧用/system/etc/mkshrc文件,把busybox常用命令映射(链接)出来;
- u_boot添加命令(NOR Flash中uboot的烧写代码)
- crt添加循环发送命令
- VS2013使用PM命令添加BootStrap與JQuery