这个问题说起来比较复杂,做起来很简单。
当同过telnet登录到arm是进入的不是arm上的命令行,而是执行arm上一个程序!
这么来说吧 busybox编译出来的telnetd,从pc机登录时,进入的是arm上的命令行;
而我不想从telnet登录arm时进入命令行,而是直接启动arm上的一个程序,那么这就是我要说的!
实现这个功能很简单,进入busybox所在目录,
修改/busybox-***/networking/telnetd.c文件
...
#if ENABLE_LOGIN
static const char *loginpath = "/bin/login";
#else
//static const char *loginpath = DEFAULT_SHELL;
//将上面一行换成这样(/usr/test是我的arm上的一个程序):
static const char *loginpath = "/usr/test";
#endif
...
#make menuconfig
选择进入networking ...
勾上telnetd和下面的Support...
保存退出
#make ;make install
将/busybox-***/_install/sbin/telnetd 文件考到arm上运行
[arm#] ./telnetd
在pc端做测试:
#telnet 10.10.19.123
不出意外的话应该就达到理想的效果了!