2022年busybox网络配 .pdf

上传人:C****o 文档编号:39719717 上传时间:2022-09-07 格式:PDF 页数:4 大小:39.47KB
返回 下载 相关 举报
2022年busybox网络配 .pdf_第1页
第1页 / 共4页
2022年busybox网络配 .pdf_第2页
第2页 / 共4页
点击查看更多>>
资源描述

《2022年busybox网络配 .pdf》由会员分享,可在线阅读,更多相关《2022年busybox网络配 .pdf(4页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。

1、想找一些现成的busybox 配置脚本启动网络搜到的都是些介绍性质的,彼此拷来拷去的东西,没办法.自己看脚本配置,很简单,几分钟就搞定了.过程从 busybox 的启动脚本:/etc/rc.d/init.d/network的启动过程终可以看到网设备的初始化过程.首先/etc/network.conf终定义了 NETWORKING和网关的值,如果是 yes 那么从network.d中找设备的配置文件.(在 linux 发行版中看network配置,它地网卡配置在/etc/sysconfig目录下)network如下;#!/bin/ash#Network interface(s)init scri

2、pt#config:/etc/network.conf#/etc/network.d/interface.devname./etc/rc.d/init.d/functions./etc/network.conf if$NETWORKING!=yes;then echo Networking is disabled in/etc/network.conf exit 0 fi case$1 in start)for i in/etc/network.d/interface.*do if -r$i;then.$i if$DHCP=yes;then echo-n Starting DHCP for i

3、nterface$INTERFACE:udhcpc-b-i$INTERFACE -p/var/run/udhcpc.$INTERFACE.pid /dev/null else echo-n Setting up interface$INTERFACE:ifconfig$INTERFACE$IPADDRESS netmask$NETMASK broadcast$BROADCAST up fi check_status fi done if$USE_GATEWAY=yes-a-n$GATEWAY;then 名师资料总结-精品资料欢迎下载-名师精心整理-第 1 页,共 4 页 -echo-n Set

4、ting default route:route add default gw$GATEWAY check_status fi;stop)if$USE_GATEWAY=yes-a-n$GATEWAY;then echo-n Removing default route:route del-net 0.0.0.0 check_status fi for i in/etc/network.d/interface.*do if -r$i;then.$i echo-n Shutting down interface$INTERFACE:ifconfig$INTERFACE down check_sta

5、tus if$DHCP=yes;then kill cat/var/run/udhcpc.$INTERFACE.pid sleep 1 fi fi done;restart)$0 stop$0 start;status)ifconfig route;*)echo Usage:$0 start|stop|restart|status exit 1 esac 所以设计网络初始化如下:在/etc/rc.d/init.d/start中加文件联结如下;ln-s./init.d/network 02network 名师资料总结-精品资料欢迎下载-名师精心整理-第 2 页,共 4 页 -定义/etc/net

6、work.conf如下:NETWORKING=yes USE_GATEWAY=yes GATEWAY=192.168.2.1 在 etc 中加目录 network.d,并且定义 v/etc/network.d/interface.eth0如下;DHCP=no INTERFACE=eth0 IPADDRESS=192.168.1.3 NETMASK=255.255.255.0 BROADCAST=192.168.1.255 按照上述步骤可以添加网卡配置.如果输入命令echo 1 /proc/sys/net/ip_forward 那么可以实现转发。通过上述步骤可以自动完成网络系统的配置.下面是转载

7、的网上的文章,实际上可以更加简单,busybox 编译的时候确定选上不需要inetd 启动,那么在启动过程中直接添加:telnetd 就可以了。转贴:进入 busybox源代码目录,选择telnet,telnetd.后确保在 ramdisk 的 sbin 目录下存在inetd 和 in.telnetd 或 telned。在 ramdisk 中的 mnt/etc 目录中,确保存在文件 fstab,service,inetd.conf,passwd文件确保 fstab 文件中存在none /dev/pts devpts mode=0622 0 0 这一行确保 services 文件中存在telne

8、t 23/tcp 这一行确保 inetd.conf 中存在 telnet stream tcp nowait root /sbin/in.telnetd in.telnetd 确保 passwd 文件中存在root:0:0:root:/:/bin/sh,表示没有密码的root 帐号在 kernal 的代码中,通过makemenuconfig,在 Character devices 中选中 Unix98 PTY support 在 File systems 中选中/dev/pts file system for Unix98 PTYs 退出后 make zImage 即可在 ramdisk 的启

9、动文件mnt/etc/init.d/rcS中,在 mount a 的后面下一行加入inetd,使系统启动的时候就加载 telnetd 服新建 inetd.conf 文件,内容如下:#telnetstream tcp nowait root /usr/sbin/telnetd 运行 inetd inetd.conf 在网上 google 了一天,最终可以确定要使用telnetd,内核必须配置以下项:dev/pts file system for Unix98 PTYs Unix98 PTY support (256)Maximum number of Unix98 PTYs in use(0-2

10、048)可我使用的 2.6.14.1 的内核,make menuconfig根本找不到这些配置项!那么内核是否支持这些选项呢?cat/proc/filesystems发现已支持 devpts 文件系统,那么uinx98 pty 呢?查看内核的 Kconfig 和 Makefile 文件,发现只要CONFIG_UNIX98_PTYS=y就会编译支持devpts 文件系名师资料总结-精品资料欢迎下载-名师精心整理-第 3 页,共 4 页 -统和 unix98 的功能。而选择了嵌入式CPU 内核会默认CONFIG_UNIX98_PTYS=y。所以我的内核已经支持 telnet。fstab 文件中也加

11、载了devpts 文件系统:devpts /dev/pts devpts defaults 00 inittab 文件中也指明了telnet 的动作:tty0:askfirst:-/bin/sh 为什么还不行呢?困惑!后来仔细想想,应该是设备文件节点的问题。我在开发板上移植2.6 内核和驱动时一直没有使用devfs。因为 devfs 虽然方便,但同时也阻止了对设备文件节点的了解,且2.6 内核已放弃了devfs。那么使用 telnet 应该创建那些文件节点呢?devpts 会在/dev/pts 下自动创建节点,还有什么呢?google 了一会没有答案。后来忽然想起Kconfig 文件中好象些说

12、明,再去看一看,原来是这样:A pseudo terminal(PTY)is a software device consisting of two halves:a master and a slave.The slave device behaves identical to a physical terminal;the master device is used by a process to read data from and write data to the slave,thereby emulating a terminal.Typical programs for the

13、master side are telnet servers and xterms.Linux has traditionally used the BSD-like names/dev/ptyxx for masters and/dev/ttyxx for slaves of pseudo terminals.This scheme has a number of problems.The GNU C library glibc 2.1 and later,however,supports the Unix98 naming standard:in order to acquire a ps

14、eudo terminal,a process opens/dev/ptmx;the number of the pseudo terminal is then made available to the process and the pseudo terminal slave can be accessed as/dev/pts/.What was traditionally/dev/ttyp2 will then be/dev/pts/2,for example.是因为缺少 ptmx 设备文件!查看Documentation/devices.txt文件,好了。mknod-m 666 ptmx c 5 2 再试试,OK 可以 telnet 开发板了!我是直接使用的busybox 的 telnetd,busybox 支持用 inetd 管理 telnetd,有兴趣的朋友可以试名师资料总结-精品资料欢迎下载-名师精心整理-第 4 页,共 4 页 -

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 高考资料

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知得利文库网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号-8 |  经营许可证:黑B2-20190332号 |   黑公网安备:91230400333293403D

© 2020-2023 www.deliwenku.com 得利文库. All Rights Reserved 黑龙江转换宝科技有限公司 

黑龙江省互联网违法和不良信息举报
举报电话:0468-3380021 邮箱:hgswwxb@163.com