Telnet协议是TCP/IP协议族中的一员,是Internet远程登录服务的标准协议和主要方式。它为用户提供了在本地计算机上完成远程主机工作的能力。在终端使用者的电脑上使用telnet程序,用它连接到服务器。终端使用者可以在telnet程序中输入命令,这些命令会在服务器上运行,就像直接在服务器的控制台上输入一样。可以在本地就能控制服务器。要开始一个telnet会话,必须输入用户名和密码来登录服务器。Telnet是常用的远程控制Web服务器的方法。

一、启用用户登录

https://blog.csdn.net/weixin_43782998/article/details/121285658

二、busybox

telnet需要一个交互的登录界面,须要有getty、login和passwd程序。如果没有,无法实现telnet。此三个程序可由busybox生成。

1、telnet、telnetd

Networking Utilities --->[*]  telnet[*]    Pass TERM type to remote host{*}    Pass USER type to remote host[*]  telnetd[*]    Support standalone telnetd (not innetd only)[*]      Support -w SEC option (inetd wati mode)

2、 inetd

Networking Utilities --->[*]  inetd

3、mdev

Linux System Utilities --->[*]  mdev[*]    Support /etc/mdev.conf[*]      Support subdirs/symlinks[*]        Support regular expressions substitutions when renaming device[*]      Support command executiong at device addition/removal[*]    Support loading of firmwares

三、kernel

修改内核配置,启用Legacy (BSD) PTY support。

Device Drivers --->Character devices --->-*-  Unix98 PTY support[]  Support multiple instances of devpts[*]  Legacy (BSD) PTY support(256)  Maximum number of legacy PTY in use

四、rootfs

1、/etc/services

直接拷贝Ubuntu下的对应文件。

2、/etc/inetd.conf

# /etc/inetd.conf:  see inetd(8) for further informations.
#
# Internet server configuration database
#
# If you want to disable an entry so it isn't touched during
# package updates just comment it out with a single '#' character.
#
# <service_name> <sock_type> <proto> <flags> <user> <server_path> <args>
#
#:INTERNAL: Internal services
#echo           stream  tcp     nowait  root    internal
#echo           dgram   udp     wait    root    internal
#chargen        stream  tcp     nowait  root    internal
#chargen        dgram   udp     wait    root    internal
#discard                stream  tcp     nowait  root    internal
#discard                dgram   udp     wait    root    internal
#daytime                stream  tcp     nowait  root    internal
#daytime        dgram   udp     wait    root    internal
#time           stream  tcp     nowait  root    internal
#time           dgram   udp     wait    root    internali# These are standard services.
#telnet  stream  tcp     nowait  root    /usr/sbin/telnetd   telnetd -i
tftp    dgram   udp     wait    nobody  /bin/tftpd
ftp     stream  tcp     nowait  root    /usr/sbin/ftpd      bftpd

3、/etc/rc.d/netd

须追加执行权限。

#!/bin/shbase=inetd# See how we were called.
case "$1" instart)/usr/sbin/$base;;stop)pid=`/bin/pidof $base`if [ -n "$pid" ]; thenkill -9 $pidfi;;
esacexit 0

4、/etc/hostname

moshui

5、/etc/fstab

proc  /proc      proc    defaults     0      0
none  /var/shm   shm     defaults     0      0
sysfs /sys       sysfs   defaults     0      0
none  /tmp   ramfs     defaults     0      0
none  /mnt   ramfs     defaults     0      0

6、/etc/mdev.conf

sd[a-z][0-9] 0:0 666 @/etc/hotplug/usb/usb_insert
sd[a-z] 0:0 666 $/etc/hotplug/usb/usb_remove
mmcblk[0-9]p[0-9] 0:0 660 @/etc/hotplug/sd/sd_insert
mmcblk[0-9] 0:0 660 $/etc/hotplug/sd/sd_remove

mmcblk([0-9]+)p([0-9]+) 0:0 660 */sbin/automount.sh $MDEV X${ACTION}
mmcblk([0-9]+)          0:0 660 */sbin/automount.sh $MDEV X${ACTION}
sd([a-z]+)([0-9]+)      0:0 660 */sbin/automount.sh $MDEV X${ACTION}
sd([a-z]+)              0:0 660 */sbin/automount.sh $MDEV X${ACTION}
#mtdblock([0-9]+)        0:0 660 */sbin/automount.sh $MDEV X${ACTION}

/sbin/automount.sh,须追加执行权限。

#! /bin/sh# debugging message
#echo "MDEV=$1 : ACTION=$2 : SUBSYSTEM=$SUBSYSTEM : DEVPATH=$DEVPATH : DEVNAME=$DEVNAME" >> /dev/consoleif [ "$1" == "" ]; thenecho "parameter is none" > /tmp/error.txtexit 1
fiMNT=$1
#if [ $(echo $1 | grep mmcblk) ]; then
#       if [ $(echo $1 | grep p[25]) ]; then
#               MNT=sdcard2
#       else
#               MNT=sdcard
#       fi
#elif [ $(echo $1 | grep sd) ]; then
#       if [ $(echo $1 | grep p[25]) ]; then
#               MNT=nandcard2
#       else
#               MNT=nandcard
#       fi
#fi# there is no ACTION, it is for initial population
if [ "$2" = "X" ]; thenmounted=`mount | grep $1 | wc -l`if [ $mounted -ge 1 ]; then# mounted, assume the ACTION is remove#ACT=Xremove# only set add for initial populationACT=Xaddelse# not mounted, assume the ACTION is addACT=Xaddfi
elseACT=$2
fiif [ "$ACT" = "Xremove" ]; then# umount the deviceecho "$ACT /mnt/$1" >> /tmp/mdev.logif ! umount -l "/mnt/$1"; thenexit 1elserm -f "/mnt/$MNT"echo "[Umount FS]: /dev/$1 -X-> /mnt/$MNT" > /dev/consolefiif ! rmdir "/mnt/$1"; thenexit 1fi
else# mount the devicemounted=`mount | grep $1 | wc -l`#echo "par=$1,mounted=$mounted,MNT=$MNT" > /dev/consoleif [ $mounted -ge 1 ]; then#echo "device $1 is already mounted" > /dev/consoleexit 0fiif ! mkdir -p "/mnt/$1"; thenexit 1fiif [ $(echo $1 | grep mtd) ]; thenif mount -t jffs2 "/dev/$1" "/mnt/$1"; thenecho "[Mount JFFS2]: /dev/$1 --> /mnt/$MNT" > /dev/consoleecho "$ACT /mnt/$1" >> /tmp/mdev.logelif mount -t yaffs2 -o"inband-tags" "/dev/$1" "/mnt/$1"; thenecho "[Mount YAFFS2]: /dev/$1 --> /mnt/$MNT" > /dev/consoleecho "$ACT /mnt/$1" >> /tmp/mdev.logelif mount -t ubifs "/dev/$1" "/mnt/$1"; thenecho "[Mount UBIFS]: /dev/$1 --> /mnt/$MNT" > /dev/consoleecho "$ACT /mnt/$1" >> /tmp/mdev.logelse# failed to mount, clean up mountpointif ! rmdir "/mnt/$1"; thenexit 1fifielse# try vfat onlyif mount -t vfat -o noatime,shortname=mixed,utf8 "/dev/$1" "/mnt/$1"; thenln -s /mnt/$1 /mnt/$MNTecho "[Mount VFAT]: /dev/$1 --> /mnt/$MNT" > /dev/consoleecho "$ACT /mnt/$1" >> /tmp/mdev.logelse# failed to mount, clean up mountpointif ! rmdir "/mnt/$1"; thenexit 1fiexit 1fifi
fi

7、/etc/init.d/rcS

hostname -F /etc/hostnameecho /sbin/mdev > /proc/sys/kernel/hotplug
/sbin/mdev -smkdir -p /dev/pts
mount -t devpts devpts /dev/pts
或
mount -n -t devpts none /dev/pts -o mode=0622mkdir /dev/pts
mount devpts -t devpts /dev/pts  //加载devpts文件系统inetd
或
/etc/rc.d/netd start

嵌入式linux开发,启用busybox的telnetd服务相关推荐

  1. 嵌入式linux开发,telnet,telnetd服务移植

    简介 Telnet是传输控制协议/因特网协议(TCP/IP)网络(例如Internet)的登录和仿真程序.它最初是由ARPANET开发的,但是现在它主要用于Internet会话.它的基本功能是,允许用 ...

  2. 嵌入式Linux开发——解决uboot无法使用nfs服务从ubuntu中下载文件(TTT、cannot mount等错误)

    前言: 最近在学习正点原子嵌入式Linux开发板uboot的移植实验,移植完之后想测试网络部分的驱动能否工作正常.最后经过测试发现tftp可以正常下载,nfs却一直报错无法下载文件,最后也是折磨了两天 ...

  3. 北京迅为i.mx6ull终结者开发板使用手册+嵌入式Linux开发指南+裸机手册下载地址

    i.MX6ULL终结者三大手册,加速学习和开发速度,一秒化无形! <嵌入式Linux开发指南>+<开发板使用手册>+<裸机使用手册> 详细手册点击链接下载:http ...

  4. i.MX8MM嵌入式linux开发指南+全覆盖开发资料

    01教程主题 根据多年工作经验总结框架学习法,先掌握整体的开发流程,然后再逐一击破,综合大量工作中的实战案例,在实践中检验理论知识,强化所学知识点,从而掌握Linux的核心技术. 02教学方式 教程由 ...

  5. 嵌入式linux/鸿蒙开发板(IMX6ULL)开发(一) 嵌入式Linux开发基本概念以及开发流程介绍

    文章目录 1.linux开发初了解 1.1 嵌入式Linux开发的基本概念 1.1.1关于Git的背景介绍 1.1.2关于repo的背景介绍 1.1 3 一些关于此背景知识的介绍 1.1.4关于Lin ...

  6. 使用qemu搭建arm嵌入式linux开发环境

    qemu搭建arm虚拟嵌入式linux开发环境 1.前言 1.安装qemu与arm交叉编译工具 2.Linux内核与设备树编译 3.busybox根文件系统制作 4.使用u-boot加载Linux内核 ...

  7. 嵌入式linux编译环境搭建,嵌入式Linux开发环境搭建

    整理下嵌入式Linux开发环境搭建过程笔记. 一.制作u-boot.bin文件: tar xjf u-boot-1.1.6.tar.bz2 cd u-boot-1.1.6 patch -p1 < ...

  8. 嵌入式linux开发环境搭建——VirtualBox虚拟机网络环境解析

    嵌入式linux开发环境搭建--VirtualBox虚拟机网络环境解析 本博文转自:Pandoras Box http://blog.csdn.net/yxc135/article/details/8 ...

  9. linux 嵌入式 交叉 环境搭建 实验原理,实验三 嵌入式Linux开发环境的搭建

    南京邮电大学通达学院 实 验 报 告 实验 实验三题目 嵌入式Linux开发环境的搭建 课程名称 嵌入式驱动开发实验 学院 专业 班 实验者学号同做者学号 08002210 姓名 毛骏超 同做者学号 ...

最新文章

  1. C++ STL: 分配器allocators 源码分析
  2. 嫦娥“挖土”归来有多难?看看中国首颗返回式卫星的故事
  3. LSTM模型在问答系统中的应用 2017-06-27 21:03 在问答系统的应用中,用户输入一个问题,系统需要根据问题去寻找最合适的答案。 1:采用句子相似度的方式。根据问题的字面相似度选择相似度最
  4. 这些.Net的细节(面试秘笈),你都知道了吗?
  5. 最简单红米手机如何没root激活XPOSED框架
  6. 什么程度才算精通 Linux?
  7. 毕啸南专栏 | 对话周鸿祎:打好人工智能时代安全攻防战
  8. python用时间戳给文件命名-在Python中每小时将时间戳记写入文件
  9. dspq值多少最好_蜂蜜纯度42的意思?蜂蜜纯度多少度好?
  10. linux mysql外网连接不成功的可能原因
  11. BetaFlight开源代码框架简介
  12. 聚类分析上证50成分股
  13. 如何在IPv6下观看网络电视直播
  14. 手机版wps怎么制作折线图_PPT制作必修课下载-PPT制作必修课app官方版v1.0手机版下载...
  15. [每日一氵] openCV resize函数直接按比例缩放
  16. [Mysql] LEFT函数 | RIGHT函数
  17. OSChina 周五乱弹 —— 埃塞俄比亚的远房大表姐
  18. scp 传目录_scp拷贝文件及文件夹
  19. 超容易获得星球大战信息
  20. php mysql 占位符_PDO中预处理语句占位符的使用

热门文章

  1. 灵动微MM32的FSMC接口驱动TFT_LCD屏幕
  2. phpmyadmin新建数据库无权限
  3. Quadro使用场景
  4. 传播智客工作流视频,OA工作流视频
  5. 【SQL】数据库变为\SUSPECT\状态的解决方法
  6. python飞船游戏(三)
  7. python面向对象编程(OOP,OOD,OOA)
  8. 苹果公司注册成立 | 历史上的今天
  9. SDOI2011_染色
  10. 如何知道一个域名是否被注册过或被K过呢?