2022年busybox网络配置 .pdf

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

《2022年busybox网络配置 .pdf》由会员分享,可在线阅读,更多相关《2022年busybox网络配置 .pdf(4页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

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

2、(s) init script # # 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 $

3、DHCP = yes ; then echo -n Starting DHCP for interface $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

4、 -n $GATEWAY ; then 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 1 页,共 4 页 - - - - - - - - - echo -n Setting 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 -

5、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_status if $DHCP = yes ; then kill cat /var/run/udhcpc.$INTERFACE.pid sleep 1 fi fi done ; restart) $0 stop $0 start ; status) ifconfig ro

6、ute ; *) 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/network.conf如下 : NETWORKING=yes USE_GATEWAY

7、=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 那么可以实现转发。通过上述步骤可以自动完成网络系统的配置. 下面是转载的网上的文章,实际上可以更加简单,busybox 编译的时候确定选

8、上不需要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 文件中存在telnet 23/tcp 这一行确保 inetd.conf 中存在 te

9、lnet 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 的启动文件mnt/etc/init.d/rcS中,在 mount

10、 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-2048) 可我使用的 2.6.14.1 的内核

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

12、会默认CONFIG_UNIX98_PTYS=y。所以我的内核已经支持 telnet 。fstab 文件中也加载了devpts 文件系统:devpts /dev/pts devpts defaults 00 inittab 文件中也指明了telnet 的动作:tty0:askfirst:-/bin/sh 为什么还不行呢?困惑!后来仔细想想,应该是设备文件节点的问题。我在开发板上移植2.6 内核和驱动时一直没有使用devfs。因为 devfs 虽然方便,但同时也阻止了对设备文件节点的了解,且2.6 内核已放弃了devfs 。那么使用 telnet 应该创建那些文件节点呢?devpts 会在 /de

13、v/pts 下自动创建节点,还有什么呢?google 了一会没有答案。后来忽然想起Kconfig 文件中好象些说明,再去看一看,原来是这样: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

14、 slave, thereby emulating a terminal. Typical programs for the 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,

15、 however, supports the Unix98 naming standard: in order to acquire a pseudo 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号© 2020-2023 www.taowenge.com 淘文阁