日本免费全黄少妇一区二区三区-高清无码一区二区三区四区-欧美中文字幕日韩在线观看-国产福利诱惑在线网站-国产中文字幕一区在线-亚洲欧美精品日韩一区-久久国产精品国产精品国产-国产精久久久久久一区二区三区-欧美亚洲国产精品久久久久

在嵌入式Linux中實(shí)現(xiàn)802.11b無(wú)線網(wǎng)關(guān)( 二 )


這些保留的命令和目錄大體可以分為三類 。一類是Linux系統(tǒng)啟動(dòng)所需要的 。這類重要的文件有init、getty等,重要的目錄與文件有/etc/rc.d、/etc/inittab等;在啟動(dòng)時(shí)還會(huì)調(diào)用目錄/bin及/sbin下的一些命令,若已刪除,可以根據(jù)啟動(dòng)時(shí)的出錯(cuò)信息進(jìn)行添加 。第二類是用于完成一些系統(tǒng)基本功能的保留命令和目錄,最簡(jiǎn)單的如拷貝命令cp,進(jìn)入和跳出目錄的命令cd,列舉目錄下內(nèi)容的命令ls等,這些命令完成操作系統(tǒng)最基本的功能 。另一些命令需要與特定的配置文件或是存放配置文件的目錄相對(duì)應(yīng),完成相對(duì)特殊的功能 。當(dāng)然,具體要實(shí)現(xiàn)什么功能要根據(jù)實(shí)際來(lái)定,并盡可能保留必要的命令與相應(yīng)的目錄或是配置文件,達(dá)到在完成功能的情況下盡可能少地占用存儲(chǔ)空間 。完成上面的裁減工作后,重啟 。若Linux能夠正常啟動(dòng)、運(yùn)行,表明初步的Linux嵌入式系統(tǒng)已經(jīng)構(gòu)架成功 。最后一類就是使無(wú)線網(wǎng)關(guān)能夠正常工作的 。無(wú)線網(wǎng)關(guān)是以運(yùn)行腳本命令pcmcia將驅(qū)動(dòng)程序中已編譯好的目標(biāo)文件作為模塊加載到系統(tǒng)中而啟動(dòng)的,Linux提供了depmod、insmod、rmmod及其他一些命令來(lái)保證適當(dāng)?shù)哪K以正確的順序加載,所以系統(tǒng)中必須保證存在這些命令,同時(shí)無(wú)線網(wǎng)關(guān)啟動(dòng)時(shí)還要讀取配置文件 。這些配置文件通知無(wú)線網(wǎng)關(guān)的驅(qū)動(dòng)程序相關(guān)參數(shù)的設(shè)置,所以配置文件所在的目錄/ect/pcmcia要保留 。有了這些以后,無(wú)線網(wǎng)關(guān)就能正常啟動(dòng)了 。
2.3 無(wú)線網(wǎng)關(guān)功能的實(shí)現(xiàn)
如圖1所示,無(wú)線網(wǎng)關(guān)需要完成的最重要的功能就是:與無(wú)線節(jié)點(diǎn)通信、橋接所有的無(wú)線節(jié)點(diǎn)、實(shí)現(xiàn)無(wú)線網(wǎng)絡(luò)和有線網(wǎng)絡(luò)的跨網(wǎng)段連接 。

配置Linux的內(nèi)核模塊,用PCMCIA CardService的方式驅(qū)動(dòng)PCMCIA,運(yùn)行“make modeules”以及“make
modeules_install"來(lái)產(chǎn)生和安裝核心模組 。由于標(biāo)準(zhǔn)發(fā)行的“Linux內(nèi)核源碼中,橋接功能和封包過(guò)濾功能(NetFiIi—ter)不能一起正常工作,因此為了要在同一臺(tái)計(jì)算機(jī)上同時(shí)運(yùn)行橋接功能和IPtables,需要對(duì)核心源碼進(jìn)行修補(bǔ) 。相關(guān)補(bǔ)丁可以從http://bridge.sourceforge.net/上下載 。另外,要獲取PCMCIA-CS 3.2.1和PRISM2 HlostAP的驅(qū)動(dòng)程序包,移植PCMCIA-CS和PRISM2 HostAP的驅(qū)動(dòng)程序 。完成這一步工作需要具有Linux下編譯程序源碼的簡(jiǎn)單知識(shí),主要是交叉編譯器(GCC)的使用 。編譯好的模塊*.o文件放在/lib/modules/2.4.4/misc:下,然后用depmod-a使此模塊成為可加載模塊 。模塊用insmod命令加載,用rmmod命令卸載,并可以用lsmod命令查看所有已加載的模塊的狀態(tài) 。最后,橋接有線網(wǎng)卡和無(wú)線網(wǎng)卡,需要Linux下硬件(主要是網(wǎng)卡)配置和網(wǎng)絡(luò)配置的一些基本知識(shí) 。

模塊搭建完畢后進(jìn)行橋接功能的構(gòu)建 。解開橋接補(bǔ)丁bridge-utils.tar.gz,編譯全部通過(guò)并且移植成功后,可以用“ifconfig-a”命令查看所有的網(wǎng)絡(luò)接口:lo——本地loopback設(shè)備;ethO——第一個(gè)以太網(wǎng)卡;ethl——第二個(gè)以太網(wǎng)卡;wlan0——無(wú)線網(wǎng)卡 。用“ifconfig<設(shè)備>0.O.0.O”命令改變除了lo設(shè)備以外所有網(wǎng)絡(luò)接口的工作方式,以迫使系統(tǒng)進(jìn)入雜亂模式,可以接收所有數(shù)據(jù)包 。然后,執(zhí)行“brctl addbr br0”命令來(lái)添加一個(gè)名字為br0的橋接設(shè)備,再用“bretl addif br0 ethO”和“brctl addif br0wlan0"把無(wú)線端和有線端的接口綁定 。接著,用“ifeonfigbr0 192.168.2.18 up"’使橋接設(shè)備生效 。

內(nèi)核配置時(shí)選定GeneraI setup--->[*]Sysctlsupport,這樣才會(huì)在板子的文件系統(tǒng)中/proc/sys/net/ipv4/出現(xiàn)ip_forward文件,然后在應(yīng)用程序中提供ena程序(加到etc/init.d/rcS中一句/bin/ena-e),將ip_for-ward文件中默認(rèn)的0改為1,這樣就打通了數(shù)據(jù)轉(zhuǎn)發(fā)的通道 。下面就是要加上iptables,以支持NAT(NetWork Ad—dress Translation) 。從網(wǎng)上下載iptables-1.2.5軟件,在iptables-1.2.5目錄下執(zhí)行make,編譯通過(guò)后,將生成的可執(zhí)行文件iptables加到ramdisk里面,然后燒寫到板子上進(jìn)行配置即可 。

推薦閱讀