嵌入式Linux启动时网络参数配置

明白了嵌入式Linux启动时网络参数配置的流程,就会对网络这一部分了然于胸,以后出现网络不通的情况,就有了解决问题的思路。

1、网络参数配置的入口:

/etc/init.d/rcS,如下两行

# 配置换回lo地址
/sbin/ifconfig lo 127.0.0.1
# 配置以太网eth0地址
/etc/init.d/ifconfig-eth0

2、进入ifconfig-eth0文件:

#!/bin/sh
echo -n Try to bring eth0 interface up......>/dev/ttySAC0

# 检查/etc/目录下是否存在eth0-setting文件,存在的话执行if语句
if [ -f /etc/eth0-setting ] ; then
	# 读取eth0-setting文件,从而获取IP、Mask、Gateway、DNS、MAC等变量的值
	source /etc/eth0-setting

	# 判断文件/etc/mtab中是否存在从NFS启动的设置
	if grep -q " / nfs " /etc/mtab ; then
		echo -n NFS root ... > /dev/ttySAC0
	else
	# 不是从NFS驱动,配置ip、mask等网络参数
		ifconfig eth0 down
        ifconfig eth0 hw ether $MAC
        ifconfig eth0 $IP netmask $Mask up
        route add default gw $Gateway
    fi
	# 获取DNS的值并写到文件/etc/resolv.conf中
	echo nameserver $DNS > /etc/resolv.conf

else
	# /etc/目录下不存在eth0-setting文件,那么手动配置网络参数
	if grep -q " / nfs " /etc/mtab ; then
		echo -n NFS root ... > /dev/ttySAC0
	else
		/sbin/ifconfig eth0 192.168.1.230 netmask 255.255.255.0 up
	fi
fi

echo Done > /dev/ttySAC0

通过以上shell代码,至少获知一下信息:

1、如何设置是从NFS启动还是正常启动

2、在哪个文件里更改IP等网络参数

3、DNS的由来及配置。以后再出现ping通IP却ping不通域名时,就知道在哪里修改参数

以上提到的/etc/eth0-setting文件,进行了一些变量的设置:

IP=192.168.1.230

Mask=255.255.255.0

Gateway=192.168.1.1

DNS=192.168.1.1

MAC=08:90:90:90:90:90

3、自动获取IP:

以上,针对的是配置固定IP等网络参数,那么如何实现自动分配IP等?

#!/bin/sh
echo -n Try to bring eth0 interface up......>/dev/ttySAC0
if grep -q "^/dev/root / nfs " /etc/mtab ; then
	echo -n NFS root ... > /dev/ttySAC0
else
	udhcpc -i eth0
fi

echo Done > /dev/ttySAC0

启动信息如下图示:

时间: 2024-11-14 23:03:16

嵌入式Linux启动时网络参数配置的相关文章

转:嵌入式linux启动时运行的inittab文件

嵌入式系统下的linux启动配置文件,不同与普通的PC linux启动配置,启动相关文件与文件的内容也要少得多.嵌入式系统下的linux启动过程一般是: 1 在bootloader中制定各种要求传给linux内核的参数,制作ramdisk或ramfs文件系统,并在开机后首先mount上,该文件系统主要负责包含启动运行的配置文件,嵌入式系统主要是/etc/inittab和/etc/rc文件: 2 在init进程启动后,进程首先执行/etc/inittab文件,该文件语法下面介绍,一般包括三项内容就

linux网络参数配置

linux主机要联网,当然要配置网络.以下我们就来了解一下一些基本的网络参数该如何配置 一.配置网络接口和路由 ①linux系统中的网络接口类型和命名规则: 以太网:eth#,如eth0,eth1... PPP网络:ppp# loopback:lo,本地回环接口.常用于系统内部测试,其IP固定为127.0.0.1 ②ifconfig:是一个用来查看.配置.启用或禁用网络接口的工具,极为常用. 用法: ■ifconfig [-a]:-a选项表示显示所有接口信息,不指定则只显示处于激活状态的接口信息

linux -- 启动时启动服务或者执行命令

运行等级 首先,我们需要知道Linux系统关于运行等级的知识.在不同的linux系统上(例如ubuntu和Fedora)这些数字与和所代表的意义可能不同,但主要的有以下几个: 单用户模式. 多用户模式. 网络多用户模式. 用于特殊目的的预留 添加显示管理器到等级3 因此,对于普通的运行等级,服务使用等级3,这时不管X11是否启动,服务将自动启动. 服务,守护进程,服务器 在Ubuntu中,可以使用sys-rc-conf命令简单的选择需要启动的已安装服务. 在Fedora下,可以使用chkconf

关于Linux启动时挂载rootfs的几种方式

一直对Linux启动时挂载根文件系统的过程存在着很多疑问,今天在水木精华区找到了有用的资料,摘录如下: 1.Linux启动时,经过一系列初始化之后,需要mount 根文件系统,为最后运行init进程等做准备,mount 根文件系统有这么几种方式: 1)文件系统已经存在于硬盘(或者类似的设备)的某个分区上了,kernel根据启动的命令行参数(root=/dev/xxx),直接进行mount. 这里有一个问题,在root文件系统本身还不存在的情况下,kernel如何根据/dev/xxx来找到对应的设

【转】嵌入式Linux启动配置文件及脚本

原文网址:http://blog.csdn.net/shuaishuai80/article/details/6202497 使用Busybox制作根文件系统时,/etc目录非常重要,它包含了嵌入式Linux启动所需的配置文件及脚本.由于init进程,或者说linuxrc程序会解析inittab文件,因此就从/etc/inittab文件开始说起.(1)文件/etc/inittab   该文件是init进程需要解析的文件,它的每个条目都是一个脚本或可执行程序,详见博客"inittab文件"

Linux的网络参数配置

一./etc/resolv.conf nameserver192.168.100.2 domainburanle.com searchburanle.com sortlist117.0.0.0/255.0.0.0 nameserver:DNS服务器,目前红帽系统仅支持3个nameserver,多余的配置无效 domain:定义本地域名.很多程序用到它,如邮件系统:当为没有域名的主机进行DNS查询时,也要用到.如果没有域名,主机名将被使用,删除所有在第一个点( .)前面的内容.目前还未使用到. s

Centos环境下手动设置-网络参数配置-网络挨排错顺序-

Linux中网络参数大致包含以下内容: IP地址 子网掩码 网关 DNS服务器 主机名(默认 localhost) 历来Linux系统中修改这些参数的方式通常有:命令.文件两种.其中通过命令设置可以立即生效但重启后将失效,通过文件修改实现永久生效,但不会立即生效. 首先我们来看看命令的方式:ifconfig:查看与设置IP地址.子网掩码hostname:查看与设置主机名route:     查看与设置路由信息(默认网关等) 通过文件的方式修改:/etc/sysconfig/network-scr

Linux内核编译和参数配置

内核 内核,是一个操作系统的核心.它负责管理系统的进程.内存.设备驱动程序.文件和网络系统,决定着系统的性能和稳定性.Linux作为一个自由软件,在广大爱好者的支持下,内核版本不断更新.新的内核修订了旧内核的bug,并增加了许多新的特性.如果用户想要使用这些新特性,或想根据自己的系统度身定制一个更高效,更稳定的内核,就需要重新编译内核.本文将以RedHat Linux 6.0(kernel 2.2.5)为操作系统平台,介绍在Linux上进行内核编译的方法. 一. 下载新内核的源代码 内核,是一个

DBA_Oracle PFile and SPFile文件的管理和使用(案例)(数据启动时引用参数Pfile/SPfile中设定)

2014-08-25 BaoXinjian 一.摘要 ORACLE中的参数文件是一个包含一系列参数以及参数对应值的操作系统文件,可以分为两种类型PFile and SPFile. 它们是在数据库实例启动时候加载的,决定了数据库的物理结构.内存.数据库的限制及系统大量的默认值.数据库的各种物理属性.指定数据库控制文件名和路径等信息,是进行数据库设计和性能调优的重要文件. 1. 概念 初始化参数文件(Initialization Parameters Files),Oracle 9i之前,ORACL