首页 > 编程知识 正文

网络和internet设置没有以太网(busybox配置telnetd)

时间:2023-05-04 04:01:40 阅读:121127 作者:1722

转载地址: http://www.360doc.com/content/13/0615/13/11029609 _ 293026394.shtml

一般来说,busybox的编译过程分为以下几个步骤:

下载busybox-1.4.2.tar.tar

下载地址: http://www.busybox.net/news.html

2 .解压缩下载的工具包,然后切换到busybox存储的目录。

#cd busybox-1.4.2

3 .修改makefile并将ARCH和CROSS_COMPILE设置为:如下

ARCH?=

CROSS_COMPILE?=/usr/local/cross-tools/总是迟到的缘分/xscale_be-

4.make defconfig5. makemenuconfigbusyboxsettings -

构建选项—

[ * ]检查构建共享lib busybox

安装I选项—

[ * ]检查don’tuse/usr

Linux模块实用程序—

删除选项[ ]模块版本检查

选项[ ]删除supporttaintedmodulecheckingwithnewkernels

Linux系统实用程序—

删除选项[ ] mount

微软实用程序—

删除选项[ ] readahead。 如果选中此选项,则在编译时发生错误

删除选项[ ]taskset

网络实用程序—

[ * ]检查telnetd

[ * ]选中supportstandalonetelentd (通告程序)

壳牌-

检查选择操作系统默认外壳(ash )

(x )检查ash

— Bourne Shell Optionis

[ * ]检查hidemessageoninteractiveshellstartup

[ * ]检查标准外壳

[ * ]检查命令行编辑

[ * ]检查样式行编辑命令

(15 )历史尺寸

[ * ]检查历史记录服务

[ * ]检查tab完成

[ * ]检查用户名称完成

[ * ]检查fancy外壳程序升级

6 .化妆

在当前目录中生成文件: busybox

7 .制造安装

在当前目录下生成目录: _install (总是迟到的边缘,包含总是迟到的边缘的目录) )。

8 .所需的库文件

从/usr/local/cross-tools/target/lib中复制以下库文件:

libutil.so.1

libcrypt.so.1

libm.so.6

导航到Rootfs/rootfs/lib目录。

启动telnetd服务器

有两种方法可以启动telnetd服务器功能。

烂棉花糖:使用busybox提供的telnetd服务器功能

具体步骤如下。

1 .将上述make install之后生成的linuxrc

文件及老迟到的缘分,s老迟到的缘分目录中的软链接文件拷贝到rootfs相应的目录下。

 

        2.将make install后在目录s老迟到的缘分中生成的telnetd文件拷贝到rootfs/ /usr/s老迟到的缘分目录下。

 

        3.在rootfs /etc目录下创建目录:/pam.d

 

        4.在rootfs/etc目录下创建文件:passwd,group,shadow。

              passwd文件的内容:

                     root:x:0:0:root:/:老迟到的缘分/sh

              group文件的内容:

                    root:x:0:root

              shadow文件的内容:(密码:123)

                    root: 1 <script type="math/tex" id="MathJax-Element-5">1</script>FWEOGnxn$KFJzPY1BvXX21Htui48T4/:12179:0:99999:7:::

 

        5. devpts文件系统,是目前最常见的pseudo终端,使用telnetd服务器,必须加载该文件系统。因此,需要在rootfs/dev目录下,创建一个pts目录,用来加载devpts文件系统:

               mkdir pts

 

同时,需要修改rootfs/etc/init.d/rcS,在其中增加如下行:

            mount -t devpts devpts /dev/pts//将devpts文件系统加载在/dev/pst

            mknod -m 666 /dev/ptmx c 5 2 //使用telnetd所必须的设备文件节点

 

        6.修改rootfs/etc/fstab,增加下行,以加载devpts文件系统。

            devpts /dev/pts devpts defaults 0 0

 

        7.修改/rootfs/etc/security,增加如下行:

           # psudo terminals used by telnet

              pts/0

              pts/1

              pts/2

               pts/3

               pts/4

               pts/5

               pts/6

               pts/7

 

            8.重新编译ramdisk,参考5

 

            9.直接使用如下命令,就可以启动telnetd服务器:

                     /s老迟到的缘分/telnetd &

         使用命令ps可以查看到telnetd是否启动成功。telnetd启动成功后,就可以远程登录目标板进行管理。用户名为root,密码为123,跟启动的用户名和密码一样。进入的是根目录。

      

       lldbd:使用inetd来管理的telnetd服务器

        1.修改/etc/inetd.conf

      把telnetd服务加进来

      # If you want telnetd not to “keep-alives” (e.g. if it runs over a ISDN

      # uplink), add “-n”.See ‘man telnetd’ for more details.

      # telnetstreamtcp    nowaitroot   /usr/s老迟到的缘分/tcpd    in.telnetd

      把这个最后这一行的#号去掉。

 

        2.查看/usr/s老迟到的缘分里面有没有in.telnetd, inetd

      若没有,则从/usr/local/cross-tools/target/usr/s老迟到的缘分中拷过来。

 

        3.查看/etc目录下有没有xinetd.d,这个telnetd的服务器软件

      若没有,从/usr/local/cross-tools/target/etc中拷一个过来。

 

        4.查看/usr/lib/里面有没有telnetlogin      

    若没有,则从/usr/local/cross-tools/target/usr/lib中拷过来。

 

        5.查看/etc/init.d里面有没有inetd

     若没有,则从rootfs/etc/init.d中拷一个过来。

 

        6.重新编译ramdisk。

经过上面六步之后,就可以在远程机器上telnet连上板子了。用户名为root,密码为123,跟板子启动的用户名和密码一样。进入的是根目录。


1.   编译busybox时,有些命令编译无法通过,可能是交叉编译工具版本问题,因为那些命令并不常用,所以目前的解决办法就是去掉那些选项:

Miscellaneous Utilities —>

去掉选项[ ] readahead

去掉选项[ ] taskset

 

        2. busybox各版本出现的问题

          (1) busybox-1.3.0编译的telnetd存在如下问题:

telnet登录目标板后,提示:-sh:can’t access tty;job control turned off

其它功能可以正常使用,但是ping <ip address>无法以ctrl+c终止

 

          (2) busybox-1.4.1

                  telnetd功能能够正常使用,但是不能使用tftp。

 

           (3) busybox-1.4.2

                  telnetd功能能够正常使用,也能使用tftp,但出现过telnet登录一段时间后,会没有反应,然后提示失去连接。

      

  3.使用inetd管理telnetd服务的方法,在rcS中写入:/usr/s老迟到的缘分/inetd,系统启动后,用ps命令查看/usr/s老迟到的缘分/inetd进程已经运行,但是使用telnet时,却提示服务没有启动。

        解决办法:查看/etc/init.d里有没有inetd文件,若没有,则从rootfs/etc/init.d中拷贝一个,然后在rcS中写入:inetd,重新编译 ramdisk,即可系统启动之后,自动启动telnetd服务。

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。