当前位置:文档之家› linux驱动环境配置

linux驱动环境配置

linux驱动环境配置
linux驱动环境配置

首先我的操作系统是Ubuntu

问题一:

https://www.doczj.com/doc/2110236369.html,/Linux/2011-11/47481.htm

问题二:

我用得是USB 转串口,sudo minicom -s 把/dev/tty8/ttyUSB0改成/dev/ttyUSB0后save as dfl,直接输入minicom后

显示minicom:cannot open /dev/tty8/ttyUSB0: 不是一个目录

sudo vim /etc/minirc.dfl后把/dev/tty8/ttyUSB0改成/dev/ttyUSB0后:wq,出现同样的提示。

我怀疑是没有修改成功,再次sudo vim /etc/minirc.dfl 查看的确修改过来了,用ls -l 查看minirc.dfl 对于root是可读写的。

就是很郁闷为什么会出现这样的问题!?

https://www.doczj.com/doc/2110236369.html,/viewtopic.php?p=891039

问题三:

错误信息已经很清楚的告诉你【404 Not Found】,意思是在这个“us”的【源】上找不到你需要下载的软件。

解决办法很简单,更换另一个源就行了。一般建议是使用国内的源。

更新管理器(update-manager),打开后按底下的“设置”->“ubuntu软件”->“下载自”

在“下载自”那里点“其他站点”,里面选一个源就是了。一般选中国的源。

或者新立得(synaptic),打开后点菜单“设置”->“软件库”,然后是同样的设置。

或者是直接打开在命令行上打开:software-properties-gtk

或者直接编辑/etc/apt/sources.list,输入新的源。

问题四:

在Ubuntu 系统中有两种设置环境变量PATH 的方法。第一种适用于为单一用户设置PA TH,第二种是为全局设置PATH。第三种方法适合于暂时修改,重新登录后失效

第一种方法:

在用户主目录下有一个.bashrc 文件,可以在此文件中加入PATH 的设置如下:

export PA TH=”$PA TH:/your path1/:/your path2/…..”

注意:每一个path 之间要用“:“分隔。

注销重启X 就可以了。

第二种方法:

在/etc/profile中增加。

PATH="$PATH:/home/zhengb66/bin"

export PA TH

第三种方法:

直接在终端下输入

export PA TH="$PATH:/home/xjtu129/"

ok了

因为文件要启动时加载,所以前两种需重启。

另外,要是不正确导致PATH设置错误,如export PA TH=“/sbin”,而没有顾及以前的内容导致最后,PATH只为sbin值,正确的添加方法为方法三,首先读出PATH,然后:加新值,再付给PATH自己!!!

一般PA TH系统指令目录有六个搜索范围:

PATH="/usr/sbin:/usr/bin:/usr/local/bin:/usr/local/sbin:/bin:/sbin"。。

问题四:

找不到安装包

没有运行sudo apt-get update或者你的源没有正确配置

问题五:ubuntu的软件源--- 每次换源都要update一下

https://www.doczj.com/doc/2110236369.html,/wastorode/item/38a88efd6a97581ffe3582cb

问题六:mkyaffs2image问题

https://www.doczj.com/doc/2110236369.html,/bjutstar/article/details/7182089

问题七:mkyaffs2image的产生

在Ubuntu中第一次使用mkyaffs2image命令时,会提示

mkyaffs2image:找不到命令

还需要安装mkyaffs2image

https://www.doczj.com/doc/2110236369.html,/p/fatplus/downloads/detail?name=yaffs2-source.tar&can=2&q=

下载yaffs2-source.tar

解压后,进入utils文件夹,然后make

将make之后生成的mkyaffs2image文件拷贝到/usr/bin目录下

$ su

# cp mkyaffs2image /usr/bin/

# chmod 777 /usr/bin/mkyaffs2image

之后

$ mkyaffs2image

mkyaffs2image: image building tool for Y AFFS2 built Jan 6 2012

usage: mkyaffs2image dir image_file [convert]

dir the directory tree to be converted

image_file the output file to hold the image

'convert' produce a big-endian image from a little-endian machine

表明安装成功,同时也可以看到该命令的用法

问题八:

minicom利用vivi选择烧写程序

https://www.doczj.com/doc/2110236369.html,/lmzzyw/item/cf99c71bfbcada613f87ce95

问题九:

https://www.doczj.com/doc/2110236369.html,/view/276fe56858fafab069dc0272.html

关于使用ubuntu超级终端minicom传文件的问题(有选项可以选择的)

问题十:

方案一:DNW for Linux下的编译

https://www.doczj.com/doc/2110236369.html,/williamlinchen/article/details/6635789

方案二:直接下载DNW for Linux

https://www.doczj.com/doc/2110236369.html,/huanghui167/article/details/8174763

问题十一:

DNW for linux的使用,注意点,要在另外一个窗口中root权限下使用

https://www.doczj.com/doc/2110236369.html,/solved_ubuntu__dnw_cannot_claim_interface_operation_not_permitted/

问题十二:

lrsz文件通信

https://www.doczj.com/doc/2110236369.html,/bo1989/articles/2798918.html

https://www.doczj.com/doc/2110236369.html,/ypist/article/details/6610636 --- 好资料

在开发板上先进入/tmp 目录,然后输入lrz。

# cd /tmp

# lrz

? z waiting to receive.**B010*******be50

按Ctrl-A,再按s,选择zmoden,会出现一个选择文件的界面,选择你要传输的文件(按一下空格键选择目录,按两下空格键进入目录),回车后出现一个传输界面,传输完成后,便可以在开发板的/tmp目录下找到这个文件了。---太神奇了

问题十三:

linux环境下实现arm9的裸烧

https://www.doczj.com/doc/2110236369.html,/girlkoo/article/details/6878897

问题十四:

在本机上编译驱动程序,要先进行内核树的配置

O'REILL Y 写的《LINUX 设备驱动程序》中作者一再强调在编写驱动程序时必须建立内核树。所谓内核树,我的理解和网上资料说的一致就是内核源码的一种逻辑形式。

先查看自己OS使用的内核版本

shana@shana:~$ uname -r

2.6.22-14-generic /* 这是我显示的结果*/

如果安装系统时,自动安装了源码。在/usr/src 目录下有对应的使用的版本目录。例如下(我是自己下的)

shana@shana:/usr/src$ ls

linux-headers-2.6.22-14

linux-headers-2.6.22-14-generic

linux-source-2.6.22 /*这个就是解压后的源码目录*/

linux-source-2.6.22.tar.bz2 /* 这是我下的源码包*/

shana@shana:/usr/src$

如果没有源码。(一般ubuntu 都没有吧)

查看一下可一下载的源码包(切记不要使用超级用户使用此命令否则……会提示没有此命令)

shana@shana:/usr/src$ apt-cache search linux-source

linux-source - Linux kernel source with Ubuntu patches

xen-source-2.6.16 - Linux kernel source for version 2.6.17 with Ubuntu patches

linux-source-2.6.22 - Linux kernel source for version 2.6.22 with Ubuntu patches

shana@shana:/usr/src$

我选择了linux-source-2.6.22 - Linux kernel source for version 2.6.22 with Ubuntu patches 这个~然后install 之

shana@shana:/usr/src$ sudo apt-get install linux-source-2.6.22

下载完成后,在/usr/src下,文件名为:linux-source-2.6.22.tar.bz2,是一个压缩包,解压缩既可以得到整个内核的源代码:

注意已经切换到超级用户模式

root@shana:/usr/src#tar jxvf linux-source-2.6.20.tar.bz2

解压后生成一个新的目录/usr/src/linux-source-2.6.22,所有的源代码都在该目录下。

进入该目录

开始配置内核选择最快的原版的配置(默认)方式(我是如此)

root@shana:/usr/src/linux-source-2.6.22# make oldconfig

当然你也可以使用自己喜欢的配置方式如menuconfig , xconfig(必须有GTK环境吧)。反正不用剪裁什么,所以不管那种方式能配置它就行了。

完成后,开始make 吧这儿比较久一般有1一个小时吧。(保证空间足够我编译完成后使用了1.8G)我分区时分给/目录30G的空间,我没遇到这问题。倒是我朋友遇到了。

shana@shana:/usr/src/linux-source-2.6.22$ make

shana@shana:/usr/src/linux-source-2.6.22$ make bzImage

当然,第一个make也可以不执行,直接make bzImage。执行结束后,可以看到在当前目录下生成了一个新的文件: vmlinux, 其属性为-rwxr-xr-x。

然后:

root@shana:/usr/src/linux-source-2.6.22#make modules /* 编译模块*/

root@shana:/usr/src/linux-source-2.6.22#make modules_install /* 安装模块*/

执行结束之后,会在/lib/modules下生成新的目录/lib/modules/2.6.22-14-generic/

。在随后的编译模块文件时,要用到这个路径下的build目录。至此,内核编译完成。可以重启一下系统。

至此内核树就建立啦原来不是很难.....

折腾了很长时间,总算是弄明白怎么在linux编译运行arm裸机程序了。编译运行arm裸机程序可以考虑用arm工具链搭建编译环境,由minicom和dnw来下载程序,至于调试,还没有去耐心研究,着急来这里先备份一下,免得时间久了,忘记怎么回事。

首先是arm工具链,arm工具链的编译我就不写了,一方面很麻烦,另一方面是这方面的资料网上已经有很多了,我就不在这里多言浪费大家时间了。我这里有自己编译的arm工具链,当然,用网上现成的也不是不可以,但是最好是自己熟悉过程,免得必要的时候不会从源码配置。我将工具链上传到空间,如果需要,尽管拿去,链接地址为,使用说明看资源备注:

https://www.doczj.com/doc/2110236369.html,/detail/girlkoo/3689485

这样,就可以开发普通的arm裸机程序了,现在开发环境是有了,编写可以编译通过的代码很是容易,但是编写真正运行正常的却不那么简单,因此,烧录工具还是必要的,我推荐是用minicom和dnw,minicom模拟与windows下的超级终端有相同的功能,这样就可以像windows 下开发环境一样与vivi对话了,另外,我在网上下来多个dnw和dnw2,但是发现dnw2在某些情况下不是很稳定,当然也有听说的成分,不管怎么说,就是个工具,不管哪个,用着顺手就行,我用的是dnw,也可能是我点背,下载的几个dnw烧录大的镜像可以,但是烧录自己开发的程序,只有二三百K的小文件却老是出错,还好linux下是开放源码的,于是我就修改了一番,当然,限于水平因素,可能曲解了原作者的意图,不过巧合的是烧录小文件正常了,大的文件也可以,或许你用的时候并没有这个问题,那么请您使用原版的dnw,指出小弟缺点,如果不幸弄巧成拙求诸位不要喷我,下面是我修改后的dnw源码及使用说明,下载地址是:

https://www.doczj.com/doc/2110236369.html,/detail/girlkoo/3689525

配置好上面两个工具后就可以开发arm2440的裸机程序了,当然移植系统可能还会用到其他牛B的工具,等用到再去研究,如果有幸小弟弄明白了,还会来这里记录下来的,下面附上两个linux下的arm裸机程序及makefile,感觉对我这样的新手来说还是有帮助的。

例子1:汇编文件led_on.S,代码如下,这里我想告诉大家的是GNU的汇编跟标准的arm汇编是有出入的,具体的大家可以搜索“linux arm 汇编”来学习了解,网友给我们提供了足够丰富的资源。

[html] view plaincopy

.text

.global _start

_start:

ldr r0,=0x56000010

ldr r1,=0x00155555

str r1,[r0]

ldr r0,=0x56000014

mov r1,#0x0

str r1,[r0]

MAIN_LOOP:

b MAIN_LOOP

编译指令如下:

编译:arm-linux-gcc -g -c -o led_on.o led_on.S

链接:arm-linux-ld -Ttext 0x30000000 -g -o led_on.elf led_on.o

转换:arm-linux-objcopy -O binary -S led_on.elf led_on.bin

makefile可以这样写:

[html] view plaincopy

led_on.bin:led_on.S

arm-linux-gcc -g -c -o led_on.o led_on.S

arm-linux-ld -Ttext 0x30000000 -g led_on.o -o led_on_elf

arm-linux-objcopy -O binary -S led_on_elf led_on.bin

clean:

rm -f led_on.bin led_on_elf *.o

例子2:老师曾经跟我说arm必须用汇编引导启动,但是用C试了一下,发现没有汇编,一样能操作arm芯片,下面是让流水灯循环点亮的程序,

[html] view plaincopy

#define GPBCON (*(volatile unsigned *)0x56000010)

#define GPBDAT (*(volatile unsigned *)0x56000014)

#define GPBUP (*(volatile unsigned *)0x56000018)

#define MPLL100MHz 0x0007f022

#define CLKDIV2 0x02

#define rMPLLCON (*(volatile unsigned *)0x4c000004)

#define rCLKDIVN (*(volatile unsigned *)0x4c000014)

int main()

{

int i = 0;

int count = 0;

int LEDS[4] = {0x1c0, 0x1a0, 0x160, 0xe0};

rMPLLCON = MPLL100MHz;

rCLKDIVN = CLKDIV2;

GPBCON = 0x00155555;

GPBUP = GPBUP & 0xFF00;

while(1)

{

for(count = 0; count != 4; ++ count)

{

GPBDAT=LEDS[count];

for(i = 0; i<0x30000;i++ );

}

}

}

命令行下的编译流程我就不写了,直接把makefile贴在这里吧

[html] view plaincopy

led.bin:led.c

arm-linux-gcc -g -c -o led.o led.c

arm-linux-ld -Ttext 0x30000000 -g led.o -o led.elf -e main

arm-linux-objcopy -O binary -S led.elf led.bin

.PYTHON:clean

clean:

rm *.o led.elf led.bin

这里我想提醒一下,纯C的makefile与汇编的makefile是有点区别的,由于C的主函数是main,但是arm执行环境并不知道是main,因此需要显式的指定arm入口函数-e main,其他的就没什么可说的了,多文件编译可以使用推导,我相信到这里大家都能自己编写多文件的makefile了,我就不多说了,如果有朋友对此有疑问可以联系qq630905224,我想大家一块讨论,共同进步还是好的,好了,浪费大家时间了。

首先在这里对文档中涉及到的网址文章作者表示感谢,几个月前弄的配置,过程中在作者那里我学到了很多。

可能大家在配置的过程中遇到的问题跟我所遇到的有所不同,但是请相信我提供的这些网址都是不错的一些方法,应该可以对大家有些帮助。

(整理)嵌入式系统的以太网接口设计及linux内核网络设备驱动.

嵌入式系统的以太网接口设计及linux驱动 1 以太网概述 以太网(Ethernet)是当今局域网采用的最通用的通信协议标准。在以太网中,所有计算机被连接在一条电缆上,采用带冲突检测的载波侦听多路访问(CSMA/CD)方法,采用竞争机制和总线拓扑结构。基本上,以太网由共享传输媒体,如双绞线电缆或同轴电缆、多端口集线器、网桥或交换机构成。 按照OSI(Open System Interconnection Reference Model,开放式系统互联参考模型)7层参考模型,以太网定义的是物理层(PHY)和数据链路层(对应以太网的MAC层)的标准。 2 嵌入式处理器上扩展以太网接口 以太网接口控制器主要包括MAC乘PHY两部分,如图1所示为嵌入式处理器集成MAC层控制器。 MAC层控制器和PHY的连接是通过MII、RMII等接口实现的。在IEEE802的标准系列中,数据链路层包括LLC和MAC两个子层。其中MAC负责完成数据帧的封装、解封、发送和接受功能。PHY层的结构随着传输速率的不同而有一定的差异。对于1OBaseT等网络,从以太网PHY芯片输出的就是传输所需的差分信号。但是还需要一个网络隔离变压器组成图2的结构。网络隔离变压器可起到抑制共模干扰、隔离线路以及阻抗匹配等作用。 本文介绍一种新款网络接口芯片DM9000A,它可以很方便的实现与嵌入式CPU的接口,实现扩展以太网口的功能。DM9000A是中国台湾DAVICOM公司推出的一款高速以太网接口芯片,其基本特征是:集成10/100M物理层接口;内部带有16K字节SRAM用作接收发送的FIFO缓存;支持8/16bit两种主机工作模式:

linux下jdk安装及环境变量的配置

1.先准备好jdk ,制作iso 映像文件。 jdk 下载: https://www.doczj.com/doc/2110236369.html,/technetwork/java/javase/downloads /java-se-jdk-7-download-432154.html 2.在虚拟机中设置加载光驱iso 文件。(注意要启动光驱) 3.进入客户机系统,使用命令mount /mnt/cdrom 加载光驱到cdrom ,在使用cp 命令将cdrom 中的jdk 文件复制到home 文件夹中,用命令./jdk1.6.0_34运行即可。 1.修改/etc/profile 文件

如果你的计算机仅仅作为开发使用时推荐使用这种方法,因为所有用户的shell 都有权使用这些环境变量,但可能会给系统带来安全性问题。 (1)用文本编辑器打开/etc/profile (2)在profile 文件末尾加入: JAVA_HOME=/usr/share/jdk1.5.0_05 PATH=$JAVA_HOME/bin:$PATH CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOM E/lib/tools.jar export JAVA_HOME export PATH export CLASSPATH (3)重新登录 注解: a. 你要将 /usr/share/jdk1.5.0_05jdk 改为你的jdk 安装目录 等同于CLASSPATH=.:$JAVA_HOM E/jre/lib/rt.jar

b. linux下用冒号“:”来分隔路径 c. $PATH / $CLASSPATH / $JAVA_HOME 是用来引用原来的环境变量的值,在设置环境变量时特别要注意不能把原来的值给覆盖掉了,这是一种常见的错误。 d. CLASSPATH中当前目录“.”不能丢,把当前目录丢掉也是常见的错误。 e. export是把这三个变量导出为全局变量。 f. 大小写必须严格区分。 2. 修改.bashrc文件 这种方法更为安全,它可以把使用这些环境变量的权限控制到用户级别,如果你需要给某个用户权限使用这些环境变量,你只需要修改其个人用户主目录下的.bashrc文件就可以了。 (1)用文本编辑器打开用户目录下的.bashrc文件 (2)在.bashrc文件末尾加入: set JAVA_HOME=/usr/share/jdk1.5.0_05 export JAVA_HOME set PATH=$JAVA_HOME/bin:$PATH

Linux安装与环境配置

实验一Linux安装与环境配置 【实验目的】 1.了解Linux系统的特点,掌握Linux的安装方法; 2.理解虚拟机、虚拟系统、虚拟终端等概念; 3.理解Linux系统的内核版本和发行版本; 4.了解超级用户和普通用户的权限差别; 5.熟悉系统登录、注销、重启和关机。 【实验内容】 1.安装VMware Workstation。 VMware可以虚拟现有任何操作系统,只要真实主机的配置允许,还可以虚拟多个系统。 2.新建虚拟机。 按“新建虚拟机向导”可顺利完成虚拟机安装。安装过程中注意以下选项: (1)虚拟机配置 选“自定义”,以便后面可以自行规划设备,内存和硬盘容量等。 (2)虚拟机内存 VMWare本身不占用太大内存,但处于开启状态的虚拟机会占用较大内存,占用内存量由配置决定,建议直接使用“推荐配置”。临时挂起虚拟机或关闭虚拟机,这些内存会立即释放。 (3)网络类型 网络类型有四个选项,分别为: ●使用桥接网络:通过你的计算机中的一块以太网适配器卡直接连接到一个本地 以太网。 ●使用网络地址翻译(NA T):允许客户操作系统使用主机的IP 地址访问主机的 拨号或者外部以太网连接。 ●使用仅为主机网络:通过一个虚拟网络从内部连接客户操作系统到主机。 ●不使用一个网络连接。 前三个选项中可先任选一个,之后配置网络的时候再改。但勿选最后一个,否则将无法创建网络。 (4)指定磁盘容量 第一项定义磁盘大小。第二项允许虚拟机无限使用磁盘空间,但需要真实磁盘足够大。第三项限制了每块虚拟磁盘的最大容量为2G。 在VMware安装目录下就有一个vmware-vdiskmanager.exe程序,它是一个命令行工具,可用来修改虚拟机硬盘的大小。 (5)创建一块磁盘 第一次建立虚拟机时,一般选择第一项,第二项适用于建立第二个或更多虚拟机,即使用已经建立好的虚拟机磁盘,这样可以减少虚拟机占用的真实磁盘空间。第三项允许虚拟机直接读写磁盘空间,慎选!适合熟悉使用磁盘的高级用户,如果操作失误会把真实磁盘里的内容删掉。

Linux操作系统网络配置命令

vi /etc/sysconfig/network-scripts/ifcfg-eth0 命令配置IP vi进入后,按i变成编辑模式,屏幕下方有个INSERT字样,这时跟windows 的记事本一样了,改吧。内容见下 改完后按ESC键,再输入冒号x——:x保存退出。 service network restart 你的IP就出来了。 DEVICE=eth0 BOOTPROTO=none IPADDR=192.168.0.1 GATEWAY=192.168.0.254 ONBOOT=yes TYPE=Ethernet 1、ifconfig 可以使用ifconfig命令来配置并查看网络接口的配置情况。 例如: (1)配置eth0的IP地址,同时激活该设备。 #ifconfig eth0 192.168.1.10 netmask 255.255.255.0 up (2)配置eth0别名设备eth0:1的IP地址,并添加路由。 #ifconfig eth0 192.168.1.3 #route add –host 192.168.1.3 dev eth0:1 (3)激活设备。 #ifconfig eth0 up (4)禁用设备。 #ifconfig eth0 down (5)查看指定的网络接口的配置。 #ifconfig eth0 (6)查看所有的网络接口配置。

#ifconfig 2、route 可以使用route命令来配置并查看内核路由表的配置情况。 例如: (1)添加到主机的路由。 #route add –host 192.168.1.2 dev eth0:0 #route add –host 10.20.30.148 gw 10.20.30.40 (2)添加到网络的路由。 #route add –net 10.20.30.40 netmask 255.255.255.248 eth0 #route add –net 10.20.30.48 netmask 255.255.255.248 gw 10.20.30.41 #route add –net 192.168.1.0/24 eth1 (3)添加默认网关。 #route add default gw 192.168.1.1 (4)查看内核路由表的配置。 #route (5)删除路由。 #route del –host 192.168.1.2 dev eth0:0 #route del –host 10.20.30.148 gw 10.20.30.40 #route del –net 10.20.30.40 netmask 255.255.255.248 eth0 #route del –net 10.20.30.48 netmask 255.255.255.248 gw 10.20.30.41 #route del –net 192.168.1.0/24 eth1

linux下配置android开发环境(图解)

linux下配置android开发环境(Fedora) 1、将配置环境所需要的:jdk、android-sdk、eclipse安装包拷贝到/home目录下,并为为文件增加可修改可执行权限 2、安装JDK 3、配置JDK环境变量 (1)进入profile文件 (2)按i编辑,如下: (3)、按ESC,再按:wq 保存退出 4、安装android sdk 5、安装eclipse 6、运行eclipse

7、安装Eclipse的ADT 插件(开发android应用) (1)离线安装:启动Eclipse,选择Help > Install New Software,在出现的对话框里,点击Add按钮,在对话框的name一栏输入“ADT”(可随意),点击Archive...,选择已下载的ADT插件(ADT-0.9.7.zip)压缩文件。 (2)在线安装:点击Archive,地址栏中输入:https://https://www.doczj.com/doc/2110236369.html,/android/eclipse(如有问题,去掉s,用http) 8、安装完ADT后,会有如下提示:

(1)选择“Apply Changes Now”,会自动联网下载安装android SDK (2)选择“Restart Now”,重新启动eclipse,需手动安装android sdk window->preferences,左边点击android,右边SDK Location中选择Android SDK所在位置。安装模拟器平台:window->Android manager 在线下载不同版本的Android模拟器 如果有已存在的android sdk,可以直接指定: 9、虚拟手机创建 (1)Windows→A VD Manager→new 新建虚拟手机 name:随意; Target:选择平台,即android模拟器 SD card:用于存储文件,

嵌入式Linux系统的搭建与配置过程

1.摘要 (2) 2.UBOOT,LINUX内核,文件系统的介绍及相互关系..3 2.1嵌入式系统简介 (3) 2.2嵌入式Linux概述 (3) 2.3UBOOT简介 (4) 3.UBOOT的启动过程 (6) 4.内核的主要功能和裁剪 (7) 4.1Linux的编译 (7) 4.2嵌入式Linux的配置和剪裁 (8) 5.文件系统的制作过程 (8) 6.交叉编译器的搭建和环境变量的设置 (9) 7.驱动程序的编写过程与关键点 (11) 7.1Linux网络驱动程序的结构 (11) 7.2网络驱动程序的基本方法 (12) 7.3网络驱动程序中用到的数据结构 (12) 7.4常用的系统支持 (14) 7.5编写Linux网络驱动程序中需要注意的问题 (18) 8.参考文献 (20)

嵌入式系统是以应用为中心,以计算机为基础,并且软硬件可裁剪,适用于应用系统对功能、可靠性、成本、体积、功耗有严格要求的专用计算机系统。嵌入式系统一般由嵌入式微处理器、外围硬件设备、嵌入式操作系统以及用户的应用程序4部分组成,用于实现对其它设备的控制、监视或管理等功能。其广泛应用于控制领域、消费电子产品等行业,已成为现代电子领域的重要研究方向之一。嵌入式Linux的研究已经成为当前信息技术研究的热点,它的应用蕴含着巨大的商业价值,并且己经广泛的应用于各种信息家电、通讯产品、工业控制中。论文首先介绍了ARM和嵌入式Linux操作系统的特点和当前的发展概况。然后阐述了嵌入式Linux 开发流程以及移植到具体硬件平台需要完成的工作,如U-Boot的移植、Linux内核的编译与裁剪、文件系统的制作、驱动程序的编写等。 关键字:嵌入式;ARM;嵌入式Linux;Linux内核;驱动程序

linux环境变量修改

redhat和ubuntu中修改环境变量 2010-03-06 23:43 有些命令的路径没有在PATH环境变量中,可以用echo $PATH命令查询得知,添加路径到PATH环境变量的方法如下: (如添加/sbin到PATH环境变量中) (1)如果只想在本次开机过程中临时性的添加修改,下次开机就无效的话,可以: 输入export PATH=$PATH:/sbin (2)如果只给当前用户永久添加,则: 在~/.bash_profile中的靠近末尾有类似这样的一行 PATH=$PATH:$HOME/bin后添加:/sbin,就变成 PATH=$PATH:$HOME/bin:/sbin 文件修改并保持完以后,运行source ~/.bash_profile命令即可使修改操作立即生效 (3)如果给系统中所有的用户都永久添加,则: 在/etc/profile文件中添加pathmunge :/sbin 如:/etc/profile文件打开后有如下代码 .....................

16 # Path manipulation 17 if [ `id -u` = 0 ]; then 18 pathmunge /sbin 19 pathmunge /usr/sbin 20 pathmunge /usr/local/sbin 21 fi ........................ 你将之改成: ........................ 16 # Path manipulation 17 if [ `id -u` = 0 ]; then 18 pathmunge /sbin 19 pathmunge /usr/sbin 20 pathmunge /usr/local/sbin 21 pathmunge /usr/local/arm/bin 22 fi ....................... 表示将/usr/local/arm/bin添加进环境变量 文件修改并保持完以后,运行source etc/profile命令即可使修改操

linux内核的网络配置

文章来源 https://www.doczj.com/doc/2110236369.html,/p/2088592067 第9节, Networking support 关于网络支持 上图 讲解; RF switch subsystem support 这个一般是要的,因为有些无线和蓝牙放在一张卡上 选m,wireless(无线)里面的一些选项随之会自动选m,上图 注意: cfg80211 wireless extensions compatibility 这个兼容选项要选择,3.7默认是没有选择

如果没有选择,iwconfig会报告没有扩展 Bluetooth subsystem support 蓝牙,可以自己选择,如果有m就行 还有子选项自己看下 如果还有红外线,无线电,对应选择,这个设备应该是很少networking option最上面的,全局网络选项,上图

Packet socket和Unix domain sockets 备必,而且不能成模块,不然udev会报一段信息给你 Transformation user configuration interface 选m,其实也很少用,像ipsec,下面的ipsec也可以选成模块 TCP/IP networking 要的,要的,子选项大部分不用,你也可以选上 IP: multicasting 多播 IP: advanced router 高级路由 你需要选上 IP: TCP syncookie support ~~sync flooding,同时还必须。。。个人没什么意义Large Receive Offload提高网络的东西,这个Y,如果你觉得现在不用,先m TCP: advanced congestion control这个你也可以Y The IPv6 protocol 很多要用到,虽然在兲现在没用,像systemd就要了 Security Marking和Network packet filtering framework (Netfilter) 个人没什么意义,你可以试下

Sure HA 双机linux环境配置手册(镜像型)

Sure HA 双机linux环境配置手册(镜像型) 一、基础环境设置 1、设置IP ,请在两个服务器上分别进行操作 host1:公网IP:192.168.2.101 私网IP:192.168.20.101 host2: 公网IP :192.168.2.102 私网IP :192.168.20.102 修改IP的方法为: vi /etc/sysconfig/network/ifcfg-eth0 vi /etc/sysconfig/network/ifcfg-eth1 eth0修改后的结果 eth1修改后的结果 查看并确认IP地址

2、设置/etc/HOSTNAME,请在两个服务器上分别进行操作 vi /etc/HOSTNAME 修改主机名为:host1 查看修改后的结果为: 重启后hostname才能生效 3、查看防火墙的状态,如果是打开状态则关闭防火墙,请在两个服务器上分别进行操作chkconfig --list |grep firewall 注:list前面是两个短线-- 关闭防火墙 chkconfig SuSEfirewall2_setup off chkconfig SuSEfirewall2_init off SuSEfirewall2 stop 4、设置/etc/hosts,请在两个服务器上分别进行操作 修改/etc/hosts文件,内容如下

5、设置硬盘分区,请在两个服务器上分别进行操作 说明:在本文环境中只有两个主分区,故在下文中首先新建了一个扩展分区,然后建立了一个20M的cluster分区,剩余的分区划分成数据分区。 关于fdisk的基础知识,n:新建分区,p:主分区,e:扩展分区,l:逻辑分区,w:把修改写入分区表 1.查看硬盘分区 对/dev/sda进行分区 fdisk /dev/sda 输入n,然后选择e,建立扩展分区,输入分区号3(1和2已经被使用)分区大小选择默认,直接两次回车即可

linux系统环境部署

Jdk安装 1. 登录Linux,切换到root用户 su root 获取root用户权限,当前工作目录不变(需要root密码) 或 sudo -i 不需要root密码直接切换成root(需要当前用户密码) 2. 在usr目录下建立java安装目录 cd /usr mkdir java 3.将jdk-8u60-linux-x6 4.tar.gz拷贝到java目录下 cp /mnt/hgfs/linux/jdk-8u60-linux-x64.tar.gz /usr/java/ 4.解压jdk到当前目录 tar -zxvf jdk-8u60-linux-x64.tar.gz

得到文件夹jdk1.8.0_60 5.安装完毕为他建立一个链接以节省目录长度(我没用这一步) ln -s /usr/java/jdk1.8.0_60/ /usr/jdk 6.编辑配置文件,配置环境变量 vim /etc/profile 添加如下内容:JAVA_HOME根据实际目录来 JAVA_HOME=/usr/java/jdk1.8.0_60 CLASSPATH=$JAVA_HOME/lib/ PATH=$PATH:$JAVA_HOME/bin export PATH JAVA_HOME CLASSPATH 7.重启机器或执行命令:source /etc/profile sudo shutdown -r now 8.查看安装情况 java -version java version "1.8.0_60" Java(TM) SE Runtime Environment (build 1.8.0_60-b27) Java HotSpot(TM) Client VM (build 25.60-b23, mixed mode)

ubuntu下linux 开发环境的搭建以及arm平台的移植

Linux开发环境的搭建 1.arm交叉编译链的安装 2.NFS服务器的安装 3.tftp服务器的安装 4.触摸屏驱动库的安装编译 5.编译安装qt-everywhere-opensource-src-4.8.1 需要的文件及库: 1.arm-2009q1-203-arm-none-linux-gnueabi 2.fs.tar.gz 3.tslib-1.4 4.qt-everywhere-opensource-src-4.8.1 1.arm交叉编译链的安装 见附录6:arm-2009q1-203-arm-none-linux-gnueabi安装 测试交叉编译器是否安装成功,执行如下命令: HOST $ arm-none-linux-gnueabi-gcc -v 如果显示编译器的版本信息说明安装成功。 2.NFS服务器的安装 见附录7: 安装完成后,在/home/wws/目录下执行如下指令: sudo gedit nfs.sh nfs.sh的内容如下: HOST $ sudo /etc/init.d/portmap restart HOST $ sudo /etc/init.d/nfs-kernel-server restart 保存后执行 source nfs.sh 以后只要在主目录下执行上述source命令就可以重启nfs服务器 测试 NFS 服务器是否安装成功,执行如下命令: HOST $ showmount -e 若显示 /home/wws/wws_nfs*则说明安装成功。 3.tftp服务器的安装 具体安装过程见附录8: 安装完成后,执行: sudo gedit tftp.sh其内容如下: HOST $ sudo /etc/init.d/xinetd restart HOST $ sudo /etc/init.d/tftpd-hpa restart 保存在主目录下,当开发板找不到链接,出现T T T T.......等时,无需重启系统,只需执行source tftp.sh重启tftp服务器即可,或者直接执行上述两条指令来重启服务器。 4.触摸屏驱动库的安装编译 Tslib是一个开源的程序,能够为触摸屏驱动获得的采样提供诸如滤波、去抖、校准等功能,通常作为触摸屏驱动的适配层,为上层的应用提供了一个统一的接口。在采用触摸屏的移动终端中,触摸屏性能的调试是个重要问题之一,因为电磁噪声的缘故,触摸屏容易存在点击不准确、有抖动等问题。

Linux Centos6.5下安装JDK8和配置环境变量详细步骤

Linux下安装JDK及其配置环境变量步骤:(我的环境centos6.5,用户名:zhang) 1.下载jdk,(我这里下载的jdk8)默认在/home/zhang/下载/ 这个目录下。 注意:a.这里的zhang是你登录的用户名 b.使用火狐浏览器下载,下载完成后,右键》打开所在文件夹,点击文件>打开位置.可以查看文件位置。 2.右键打开终端,如果显示$表示当前为普通用户,输入命令su root回车,再输入密码(安装时的密码),切换到超级管理用户root。 a.输入cd /home/zhang/下载/ 进入下载目录,再输入ls命令,列出此目录下文件,可以看到jdk-8u121-linux-x64.tar.gz刚刚下载的压缩文件 b.输入命令:cp jdk-8u121-linux-x64.tar.gz /usr/tmp 把文件拷贝到/usr/tmp目录下。以免中文目录引起莫名问题 3.解压压缩文件: a.在/usr/tmp目录下 b.命令:tar -xzf all.tar.gz -C 文件目录; c.tar -xzf jdk-8u121-linux-x64.tar.gz -C /usr/share 回车。把文件解压到/usr/share目录下 也可以解压到其他目录下,不过你可以看到在share目录下有很多安装的文件目录,有点儿类似windows中的programe files目录 ******--------配置java环境变量:-------************ 1.我们这里解压后的jdk目录为/usr/share/jdk1.8.0_121 2.可以先在终端中输入javac回车,会提示不是命令,说明没有配置环境变量。 3.使用命令vim /etc/profile回车打开编辑配置文件 4.上下光标到文件最后一行,键入o,快捷键,进入插入模式并定位到文件最后一行。 输入如下内容: export JAVA_HOME=/usr/share/jdk1.8.0_121 export PATH=$JAVA_HOME/bin:$PATH export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar 然后esc,输入:冒号。输入wq回车,保存并退出。 5.注销当前登录系统的用户,再次登录系统,打开终端,输入javac,输出一堆命令说明,成功! **********-----JDK的使用测试------********** 1.命令cd /home/zhang/ 回车,进入目录 2.命令mkdir workspace回车,创建一个新目录workspace,命令cd workspace进入 3.命令cat>Test.java回车 输入public class Test{ public static void main(String[] args){ System.out.println("Hello,Java!"); } } Ctrl+D快捷键保存并退出

Linux服务器环境搭建(设置)

Linux是一个性能优异、安全的操作系统,许多大型的Web应用都是基于Linux作为服务器,所以系统的学习一下Linux操作系统是非常有必要的。本文不以Linux基础为例,主要以Linux服务器端开发环境搭建为主,适合有一定Linux基础的朋友。 本文采用的Linux环境为RedHat Enterprise Linux Server4。本文主要讲解以下内容: Java开发环境的安装和配置(JDK安装、环境变量的配置) Tomcat服务器安装和配置(Tomcat安装、环境变量配置) 基于源码的MySQL数据库安装(此处之所以采用源码编译安装,为了后面的PHP 环境做准备) Oracle数据库的安装(包括服务器端和客户端的安装) Apache服务器的安装和配置(主要用来运行PHP程序) PHP环境安装和配置 Flex开发环境搭建 从上面可以看到,我们这篇教程要讲解的内容很多,所以我们需要准备如下的必备环境: 必备工具: VMware-workstation-6.5或更高版本 RedHat Enterprise Linux 4的iso文件,共4个 SSHSecureShellClient,用于远程连接Linux jdk-6u18-linux-i586.bin,可以从sun网站下载 mysql-5.1.41.tar.gz,MySQL的Linux源码分发包 SQLyog Enterprise,MySQL的可视化操作工具 10201_database_linux32.zip,Oracle的Linux版本 10201_client.zip,Oracle在Win下的客户端,注意根据操作系统选择 PL/SQL Developer,操作Oracle的可视化工具 PHP相关组件 ?php-5.2.14.tar.gz ?freetype-2.1.10.tar.gz ?gd-2.0.35.tar.gz ?jpegsrc.v6b.tar.gz ?libpng-1.2.29.tar.gz ?libxml2-2.6.2.tar.gz ?zlib-1.2.3.tar.gz ?curl-7.15.0.tar.gz httpd-2.2.16.tar.gz,Apache服务器 flex_sdk_3.5.0.12683.zip,Flex SDK

Ubuntu linux驱动安装及3D桌面启用

系统需求 ?硬件及软件环境需求 启用3D桌面的硬件,显卡推荐使用Nvidia及ATI主流独立显卡,对于 Intel显卡、集成显卡、老旧显卡、以及最后刚新推出市场的新显卡,可能不适于使用本文的“最简便的驱动安装方法(经测试,Intel G965集成显卡3100在Ubuntu 8.04上会自动安装好显卡驱动,可以安装启用 Compiz 3D桌面效果)”,如果Ubuntu系统自带的"非受限驱动"安装不成功,请另行查找解决方案。CPU和内存自然是越高配置越好。 本文已在Ubuntu 8.04和8.10上测试通过,适用于i386,amd64及DVD 版本 ?网络环境 本文涉及到的软件需要系统联入互联网下载安装,请确保系统已联入网络 ?涉及到的软件清单 envyng-gtk compizconfig-settings-manager emerald fusion-icon RecordMyDesktop。 操作步骤 1.安装envyng辅助工具[Ubuntu 10.04及以后版本不支持] 让envyng这个傻瓜软件帮助你吧!用envyng安装驱动有个好处就是,有些需要卸载的冲突软件包它会自动帮你卸载,有些3D桌面需要安装的支持软件包它会自动帮你安装。例如,Nvidia的glx相关软件包等。这些软件之间的关联比较复杂,如果采用手工安装的方法很麻烦且容易出错。 首先,确保已经能连上网了,图形界面下,点击任务栏“系统”-“系统管理”-“软件源”在弹出的窗口中“下载自”的下拉菜单里,把默认的“中国的服务器”改选为“主服务器”。点击“关闭”然后会自动更新一些文件。 然后,点击任务栏“系统”-“系统管理”-“新立得软件包管理器”在菜单栏里点击“编辑”-“搜索”-输入envyng-gtk并勾选它,会提示安装envyng-core,勾选后点击“应用”即可自动下载安装(如果你的Ubuntu安装有KDE,还可以下载envyng-qt安装)。

Linux内核分析-网络[五]:网桥

看完了路由表,重新回到netif_receive_skb ()函数,在提交给上层协议处理前,会执行下面一句,这就是网桥的相关操作,也是这篇要讲解的容。 view plaincopy to clipboardprint? 1. s kb = handle_bridge(skb, &pt_prev, &ret, orig_dev); 网桥可以简单理解为交换机,以下图为例,一台linux机器可以看作网桥和路由的结合,网桥将物理上的两个局域网LAN1、LAN2当作一个局域网处理,路由连接了两个子网1.0和2.0。从eth0和eth1网卡收到的报文在Bridge模块中会被处理成是由Bridge收到的,因此Bridge也相当于一个虚拟网卡。 STP五种状态 DISABLED BLOCKING LISTENING LEARNING FORWARDING 创建新的网桥br_add_bridge [net\bridge\br_if.c] 当使用SIOCBRADDBR调用ioctl时,会创建新的网桥br_add_bridge。 首先是创建新的网桥: view plaincopy to clipboardprint?

1. d ev = new_bridge_dev(net, name); 然后设置dev->dev.type为br_type,而br_type是个全局变量,只初始化了一个名字变量 view plaincopy to clipboardprint? 1. S ET_NETDEV_DEVTYPE(dev, &br_type); 2. s tatic struct device_type br_type = { 3. .name = "bridge", 4. }; 然后注册新创建的设备dev,网桥就相当一个虚拟网卡设备,注册过的设备用ifconfig 就可查看到: view plaincopy to clipboardprint? 1. r et = register_netdevice(dev); 最后在sysfs文件系统中也创建相应项,便于查看和管理: view plaincopy to clipboardprint? 1. r et = br_sysfs_addbr(dev); 将端口加入网桥br_add_if() [net\bridge\br_if.c] 当使用SIOCBRADDIF调用ioctl时,会向网卡加入新的端口br_add_if。 创建新的net_bridge_port p,会从br->port_list中分配一个未用的port_no,p->br会指向br,p->state设为BR_STATE_DISABLED。这里的p实际代表的就是网卡设备。 view plaincopy to clipboardprint? 1. p = new_nbp(br, dev); 将新创建的p加入CAM表中,CAM表是用来记录mac地址与物理端口的对应关系;而刚刚创建了p,因此也要加入CAM表中,并且该表项应是local的[关系如下图],可以看到,CAM表在实现中作为net_bridge的hash表,以addr作为hash值,链入 net_bridge_fdb_entry,再由它的dst指向net_bridge_port。

linux lamp环境搭建教程

linux 环境搭建教程 [url=https://www.doczj.com/doc/2110236369.html,]https://www.doczj.com/doc/2110236369.html,[/url] 一、系统约定 软件源代码包存放位置:/usr/local/src 源码包编译安装位置(prefix):/usr/local/software_name 脚本以及维护程序存放位置:/usr/local/sbin MySQL 数据库位置:/var/lib/mysql(可按情况设置) Apache 网站根目录:/var/www/wwwroot(可按情况设置) Apache 虚拟主机日志根目录:/var/logs/httpd/(可按情况设置) Apache 运行账户:apache:apache 二、系统环境部署及调整 1. 检查系统是否正常 # more /var/log/messages(检查有无系统级错误信息) # dmesg(检查硬件设备是否有错误信息) # ifconfig(检查网卡设置是否正确) # ping [url=https://www.doczj.com/doc/2110236369.html,]https://www.doczj.com/doc/2110236369.html,[/url](检查网络是否正常) 2. 关闭不需要的服务 # ntsysv 以下仅列出需要启动的服务,未列出的服务一律推荐关闭: atd crond irqbalance microcode_ctl network sendmail sshd syslog 3. 重新启动系统 # init 6 4. 配置vim # vi /root/.bashrc 在alias mv='mv -i' 下面添加一行:alias vi='vim' 保存退出。 # echo 'syntax on' > /root/.vimrc 5. 使用yum 程序安装所需开发包(以下为标准的RPM 包名称) # yum install ntp vim-enhanced gcc gcc-c++ gcc-g77 flex bison autoconf automake bzip2-devel ncurses-devel libjpeg-devel libpng-devel libtiff-devel freetype-devel pam-devel kernel 6. 定时校正服务器时钟,定时与中国国家授时中心授时服务器同步 # crontab -e 加入一行: */30 * * * * ntpdate 210.72.145.44 7. 源码编译安装所需包(Source) (1) GD2 # cd /usr/local/src

linux驱动环境配置

首先我的操作系统是Ubuntu 问题一: https://www.doczj.com/doc/2110236369.html,/Linux/2011-11/47481.htm 问题二: 我用得是USB 转串口,sudo minicom -s 把/dev/tty8/ttyUSB0改成/dev/ttyUSB0后save as dfl,直接输入minicom后 显示minicom:cannot open /dev/tty8/ttyUSB0: 不是一个目录 sudo vim /etc/minirc.dfl后把/dev/tty8/ttyUSB0改成/dev/ttyUSB0后:wq,出现同样的提示。 我怀疑是没有修改成功,再次sudo vim /etc/minirc.dfl 查看的确修改过来了,用ls -l 查看minirc.dfl 对于root是可读写的。 就是很郁闷为什么会出现这样的问题!? https://www.doczj.com/doc/2110236369.html,/viewtopic.php?p=891039 问题三: 错误信息已经很清楚的告诉你【404 Not Found】,意思是在这个“us”的【源】上找不到你需要下载的软件。 解决办法很简单,更换另一个源就行了。一般建议是使用国内的源。 更新管理器(update-manager),打开后按底下的“设置”->“ubuntu软件”->“下载自” 在“下载自”那里点“其他站点”,里面选一个源就是了。一般选中国的源。 或者新立得(synaptic),打开后点菜单“设置”->“软件库”,然后是同样的设置。 或者是直接打开在命令行上打开:software-properties-gtk 或者直接编辑/etc/apt/sources.list,输入新的源。 问题四: 在Ubuntu 系统中有两种设置环境变量PATH 的方法。第一种适用于为单一用户设置PA TH,第二种是为全局设置PATH。第三种方法适合于暂时修改,重新登录后失效 第一种方法: 在用户主目录下有一个.bashrc 文件,可以在此文件中加入PATH 的设置如下: export PA TH=”$PA TH:/your path1/:/your path2/…..” 注意:每一个path 之间要用“:“分隔。 注销重启X 就可以了。 第二种方法: 在/etc/profile中增加。 PATH="$PATH:/home/zhengb66/bin" export PA TH

Linux环境变量设置总结

Linux环境变量设置总结 1、引言 在linux系统下,如果你下载并安装了应用程序,很有可能在键入它的名称时出现“command not found”的提示内容。如果每次都到安装目标文件夹内,找到可执行文件来进行操作就太繁琐了。这涉及到环境变量PATH的设置问题,而PATH的设置也是在linux下定制环境变量的一个组成部分。本文基于RedHat9.0,详细讲解了环境变量定制的问题。 2、变量简介 Linux是一个多用户的操作系统。每个用户登录系统后,都会有一个专用的运行环境。通常每个用户默认的环境都是相同的,这个默认环境实际上就是一组环境变量的定义。用户可以对自己的运行环境进行定制,其方法就是修改相应的系统环境变量。 3、常见的环境变量 $PATH:决定了shell将到哪些目录中寻找命令或程序 $HOME:当前用户主目录 $MAIL:是指当前用户的邮件存放目录。 $SHELL:是指当前用户用的是哪种Shell。 $HISTSIZE:是指保存历史命令记录的条数 $LOGNAME:是指当前用户的登录名。 $HOSTNAME:是指主机的名称,许多应用程序如果要用到主机名的话,通常是从这个环境变量中来取得的。 $LANG/LANGUGE:是和语言相关的环境变量,使用多种语言的用户可以修改此环境变量。 $PS1:是基本提示符,对于root用户是#,对于普通用户是$,也可以使用一些更复杂的值。 $PS2:是附属提示符,默认是“>”。可以通过修改此环境变量来修改当前的命令符,比如下列命令会将提示符修改成字符串“Hello,My NewPrompt:)”。 #PS1="Hello,My NewPrompt:)" $IFS:输入域分隔符。当shell读取输入时,用来分隔单词的一组字符,它们通常是空格、制表符和换行符。 $0:shell脚本的名字。 例如,在我的Linux系统中: $echo$0 /bin/bash

linux的网络接口以及详细配置

Linux 网络接口2012-06-21 10:29:45 分类:LINUX 在 Linux 中,所有的网络通讯都发生在软件接口与物理网络设备之间。与网络接口配置相关的文件,以及控制网络接口状态的脚本文件,全都位于 /etc/sysconfig/netwrok-scripts/ 目录下。虽然在不同的系统之间,这些文件的类型和数量并不一定相同,但大致来讲,都包含以下几类与网络相关的配置文件: 1.网络接口配置文件 2.网络接口控制脚本 3.与网络相关的函数库文件(function files) 各种的网络设备都需要用到这些文件保证设备的正常动作 本章将深入探讨这些文件的用途,以及使用它们的方式。 Linux 网络接口 网络接口配置文件 在 Linux 中,网络接口配置文件用于控制系统中的软件网络接口,并通过接口实现对网络设备的控制。当系统启动时,系统通过这些接口配置文件决定启动哪些接口,以及如此对这些接口进行配置。 在 Linux 中,网络接口配置文件用于控制系统中的软件网络接口,并通过这些接口实现对网络设备的控制。当系统启动时,系统通过这些接口配置文件决定启动哪些接口,以及如何对这些接口进行配置。接口配置文件的名称通常类似于 ifcfg-,其中 与配置文件所控制的设备的名称相关。 在所有的网络接口中,我们日常中最常用到的接口类型就是以太网接口。

以太网接口 在所有的网络配置文件中,最常用的就是 ifcfg-eth0,因为它是系统中第一块网卡的配置文件。如果系统中有多块网卡,ifcfg-eth 后面的数字就会依次递增。正因为每个设备都有对应的一个配置文件,因此管理员也能够单独地控制每一个设备。 以下是一个 ifcfg-eth0 配置文件的示例,在配置中已经为网卡设置好了 IP 地址。 DEVICE=eth0 BOOTPROTO=none ONBOOT=yes NETWORK=10.0.1.0 NETMASK=255.255.255.0 IPADDR=10.0.1.27 USERCTL=no // 是否允许非root用户控制网卡 在接口配置文件中,选项之间存在着一些关联,如果不像上例中那样使用固定 IP,使用 DHCP 获取 IP 地址的配置文件又会不一样。以下就是将网卡配置成通过 DHCP 获取 IP 地址的配置: DEVICE=eth0 BOOTPROTO=dhcp ONBOOT=yes 使用网络管理工具(system-config-network) 对网络接口文件进行更改是比较方便的一种方式,但通过学习手动更改配置文件,能够更好的在各种 Linux 发行版中执行网络配置的工作。 有关网络管理工具的使用方法,可以参考下一章翻译文档 - 《Fedora/Linux 网络配置工具》 下面是以太网接口配置文件中常用的一些选项:

相关主题
文本预览
相关文档 最新文档