Chinaunix首页 | 论坛 | 博客
  • 博客访问: 798788
  • 博文数量: 124
  • 博客积分: 1927
  • 博客等级: 上尉
  • 技术积分: 932
  • 用 户 组: 普通用户
  • 注册时间: 2010-08-31 14:06
文章分类

全部博文(124)

文章存档

2018年(5)

2017年(2)

2016年(6)

2015年(4)

2014年(24)

2013年(7)

2012年(11)

2011年(13)

2010年(52)

我的朋友

分类: LINUX

2011-01-18 15:47:37

 

主机系统:fedora8 + vmware

目标板:utu2440 / linux-2.6.29.1
交叉编译器:
arm-linux-gcc-3.4.1
软件资源:busybox-1.10.1

在根文件系统制作成功的基础上就可以移植telnetd到开发板,这样可以在同一局域网的任一台主机上通过telnet远程登录到开发板上,而不仅是只能通过串口连接开发板,当然telnet采用明文密码,安全性不如sshd,这是它的局限性。以下是详细移植步骤:

1Busybox配置

Busybox中已集成了telnet clienttelnetd, 以下是busybox中关于telnet的配置选项:

Networking Utilities --->

       [*] telnet

       [*] telnetd

       [*]   Support standalone telnetd (not inetd only)

2.修改etc/init.d/rcS

telnet client功能只要选中配置选项就可以了,而telnetd需要devpts,因此要在启动脚本中开启devpts支持及启动telnetd。修改后的etc/init.d/rcS如下所示:

#!/bin/sh

PATH=/sbin:/bin:/usr/sbin:/usr/bin

runlevel=S

prevlevel=N

umask 022

export PATH runlevel prevlevel

mount -a

mkdir /dev/pts

/bin/mknod /dev/pts/0 c 136 0

/bin/mknod /dev/pts/1 c 136 1

/bin/mknod /dev/pts/2 c 136 2

/bin/mknod /dev/pts/3 c 136 3

/bin/mknod /dev/pts/4 c 136 4

/bin/mknod /dev/pts/5 c 136 5

/bin/mount -t devpts devpts /dev/pts

echo /sbin/mdev>/proc/sys/kernel/hotplug

mdev -s

/bin/hostname -F /etc/sysconfig/HOSTNAME

/sbin/ifconfig lo 127.0.0.1

/sbin/ifconfig eth0 192.168.1.168

/sbin/route add default gw 192.168.1.1

/etc/init.d/ts.sh

/usr/sbin/telnetd

重新启动开发板后,在主机上telnet连接开发板,但login登陆时出现如下错误提示:

login: cannot run /bin/bash: No such file or directory

Connection closed by foreign host.

在目标板上ls -l /bin/*sh发现只有ashsh,

ln -s /bin/sh /bin/bash创建一个指向sh的软链接bash,重启开发板后,再在主机上telnet连接开发板,login时又出现如下错误:

bash: applet not found

Connection closed by foreign host.

后来发现是/etc/passwd中指定了用户的shellbash, busybox只有ashsh, /etc/passwd中的/bin/bash都改为/bin/sh后问题解决。

telnet登陆时串口终端显示:

[root@liuzg]# login[966]: root login on 'pts/0'

阅读(1015) | 评论(1) | 转发(0) |
给主人留下些什么吧!~~

chinaunix网友2011-03-07 08:51:30

很好的, 收藏了 推荐一个博客,提供很多免费软件编程电子书下载: http://free-ebooks.appspot.com