0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫(xiě)文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

Openwrt開(kāi)發(fā)指南 第4章 燒寫(xiě)OpenWrt固件

嵌入式大雜燴 ? 來(lái)源:嵌入式大雜燴 ? 作者:嵌入式大雜燴 ? 2023-06-27 09:11 ? 次閱讀

1 嵌入式系統(tǒng)啟動(dòng)流程

對(duì)于一個(gè)完整的嵌入式系統(tǒng),它由U-boot、內(nèi)核(Linux)、文件系統(tǒng)、應(yīng)用程序四部分組成。那么這四部分之間的關(guān)系是怎么樣的呢?OpenWrt是屬于哪部分呢?

當(dāng)我們拿到嵌入式設(shè)備,比如我們的MT7620開(kāi)發(fā)板,然后給它一上電,首先運(yùn)行的就是我們的U-boot程序,然后就是U-boot來(lái)啟動(dòng)我們的內(nèi)核(Linux),當(dāng)內(nèi)核(Linux)啟動(dòng)完成以后,內(nèi)核(Linux)就會(huì)去掛載我們的文件系統(tǒng),當(dāng)文件系統(tǒng)掛載成功以后,就會(huì)在文件系統(tǒng)上面運(yùn)行我們的應(yīng)用程序,比如我們學(xué)習(xí)C語(yǔ)言時(shí)寫(xiě)的HelloWorld應(yīng)用程序。

OpenWrt系統(tǒng)是一個(gè)嵌入式的Linux發(fā)行版。它本生是包含了內(nèi)核(Linux)和文件系統(tǒng)兩部分的。因此,上一章中,我們編譯出來(lái)的固件

openwrt-ramips-mt7620-youku-yk1-squashfs-sysupgrade.bin

就是將內(nèi)核(Linux)和文件系統(tǒng)打包成了一個(gè)bin文件。在這里,大家肯定會(huì)有疑問(wèn)了,那么U-boot是誰(shuí)提供的呢?對(duì)于其它的嵌入式設(shè)備,U-boot是需要我們單獨(dú)來(lái)編譯和燒寫(xiě)的,而對(duì)于我們的MT7620等開(kāi)發(fā)板,我們?cè)诔鰪S的時(shí)候,已經(jīng)在開(kāi)發(fā)板上的Flash中燒入了U-boot了。

那么大家馬上肯定會(huì)問(wèn),我們可以自己燒寫(xiě)U-boot嗎?答案是肯定的。我們可以自己燒寫(xiě)U-boot。如何燒寫(xiě),我們會(huì)在后面進(jìn)行講解。

注意:雖然我們可以自己燒寫(xiě)U-boot,但是,如果不是動(dòng)手能力特別強(qiáng)的同學(xué),不建議自己燒寫(xiě)U-boot,因?yàn)殡S時(shí)都有可能變磚。變磚以后,就只能通過(guò)SPIFlash編程器來(lái)拯救了。雖然在后面的章節(jié),會(huì)講如何使用SPIFlash編程器來(lái)燒U-boot、固件。但是整個(gè)過(guò)程比較麻煩,所以請(qǐng)大家自己慎重。

2 U-boot菜單選項(xiàng)簡(jiǎn)介

將開(kāi)發(fā)板的Mini-USB口通過(guò)USB線和電腦的USB口進(jìn)行連接,然后安裝串口驅(qū)動(dòng)(只有第一次需要安裝),USB轉(zhuǎn)串口驅(qū)動(dòng)文件如下,安裝步驟不再贅述。

168779106622505u82025wt

圖1串口驅(qū)動(dòng)

1687791066960ylg0ngts56

圖2電腦識(shí)別到串口

打開(kāi)putty串口下載軟件,編者也給出了另一款下載軟件securecrt,看讀者喜好了。自己選擇吧。

緊接著,如圖3所示,在終端上設(shè)置好相應(yīng)的串口(8N1,57600)。

1687791067504n4esvax5qc

圖3設(shè)置終端

最后上電啟動(dòng),便可以在串口上看到開(kāi)發(fā)板的啟動(dòng)信息,首先打印出的是U-boot的版本等信息,如圖4所示。

1687791068196y5s2vjidhy

圖4 U-boot啟動(dòng)信息

緊接著便進(jìn)入了U-boot的菜單選項(xiàng),如圖5所示。這里一共有5秒的時(shí)間供大家選擇。如果不做任何選擇,5秒后,便自動(dòng)啟動(dòng)內(nèi)核。

1687791068456es9qfcivgz

圖5U-boot的菜單選項(xiàng)

1).選擇1,表示將固件通過(guò)網(wǎng)絡(luò)下載到內(nèi)存中,如果是刷SDK固件,可以選擇這個(gè)選項(xiàng),但是,如果是刷OpenWrt,該選項(xiàng)沒(méi)有用,我們會(huì)發(fā)現(xiàn),刷固件成功以后,系統(tǒng)并不能正常啟動(dòng);

2).選擇2,表示將固件通過(guò)網(wǎng)絡(luò)下載到Flash中,在以后的開(kāi)發(fā)中,我們都是使用該選項(xiàng);

3).選擇3,表示啟動(dòng)內(nèi)核(Linux),上面說(shuō)的5秒結(jié)束,不做任何選擇,系統(tǒng)就會(huì)默認(rèn)來(lái)選擇該選項(xiàng),然后啟動(dòng)系統(tǒng);

4).選擇4,便會(huì)進(jìn)入到U-boot的命令行,注意區(qū)分Linux系統(tǒng)的命令行。在U-boot的命令行我們可以使用printenv、set、loadb等命令。

5).選擇7,表示將U-boot通過(guò)串口下載到Flash中;

6).選擇9,表示將U-boot通過(guò)網(wǎng)絡(luò)下載到Flash中。

3 燒寫(xiě)OpenWrt固件

以下燒寫(xiě)方法,都是通過(guò)網(wǎng)絡(luò)的方式進(jìn)行燒寫(xiě)。因此,需要用到網(wǎng)線。接線方式有兩種,一是通過(guò)網(wǎng)線將開(kāi)發(fā)板的網(wǎng)口和電腦的網(wǎng)口直接相連(電腦---開(kāi)發(fā)板);另一種是電腦和路由器通過(guò)網(wǎng)線或者wifi連接,然后開(kāi)發(fā)板和路由器通過(guò)網(wǎng)線連接(電腦---路由器---開(kāi)發(fā)板)。

為了更加方便和穩(wěn)定,推薦使用第二種方法。

無(wú)論使用哪種方法,都必須遵循一個(gè)大前提,就是要讓電腦和開(kāi)發(fā)板的IP處于同一個(gè)網(wǎng)段。另外,一定要關(guān)閉電腦的防火墻和一些頑固的殺毒軟件。

3.1 通過(guò)網(wǎng)線下載

3.1.1設(shè)置ubuntu虛擬網(wǎng)卡

1 選擇網(wǎng)卡

編輯->虛擬網(wǎng)絡(luò)編輯器->橋接模式選擇本機(jī)的物理網(wǎng)卡,見(jiàn)下圖.

1687791068744ldphj2plw6

圖6

2 網(wǎng)絡(luò)適配器設(shè)置

虛擬機(jī)->設(shè)置->網(wǎng)絡(luò)適配器

1687791069032m3hgx5kd5i

圖7

3.1.2 主服務(wù)器tftp服務(wù)器配置

TFTP(Trivial File Transfer Protocol,簡(jiǎn)單文件傳輸協(xié)議)是TCP/IP協(xié)議族中的一個(gè)用來(lái)在客戶(hù)機(jī)與服務(wù)器之間進(jìn)行簡(jiǎn)單文件傳輸?shù)膮f(xié)議,提供不復(fù)雜、開(kāi)銷(xiāo)不大的文件傳輸服務(wù)。TFTP承載在UDP上,提供不可靠的數(shù)據(jù)流傳輸服務(wù),不提供存取授權(quán)與認(rèn)證機(jī)制,使用超時(shí)重傳方式來(lái)保證數(shù)據(jù)的到達(dá)。

0 IP配置

在談TFTP之前,先簡(jiǎn)單講一下Linux網(wǎng)絡(luò)配置,網(wǎng)絡(luò)中最重要的當(dāng)然是IP地址了,這里不講IP協(xié)議,在后面的網(wǎng)絡(luò)編程再講解,這里主要學(xué)習(xí)一下Linux下配置IP,配置IP地址的方法有兩種:

  • 配置靜態(tài)IP:在主機(jī)進(jìn)入網(wǎng)絡(luò)之前,事先未主機(jī)設(shè)置固定的IP地址;
  • 配置動(dòng)態(tài)IP:選擇DHCP網(wǎng)絡(luò)服務(wù),在主機(jī)進(jìn)行網(wǎng)絡(luò)之后,動(dòng)態(tài)的隨機(jī)獲取IP地址;

當(dāng)然,大家都知道ifconfig這個(gè)命令:

ifconfig
eth0      Link encap:Ethernet  HWaddr 00:0c:29:6c:c2:ec  
          inet addr:172.16.58.130  Bcast:172.16.58.255  Mask:255.255.255.0
          inet6 addr: fe80::20c:29ff:fe6c:c2ec/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:337 errors:0 dropped:0 overruns:0 frame:0
          TX packets:358 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:123712 (123.7 KB)  TX bytes:42430 (42.4 KB)
          Interrupt:19 Base address:0x2024 
lo        Link encap:Local Loopback  
          inet addr:127.0.0.1  Mask:255.0.0.0
          inet6 addr: ::1/128 Scope:Host
          UP LOOPBACK RUNNING  MTU:16436  Metric:1
          RX packets:149 errors:0 dropped:0 overruns:0 frame:0
          TX packets:149 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0 
          RX bytes:10307 (10.3 KB)  TX bytes:10307 (10.3 KB)

如果ifconfig命令不帶任何參數(shù)時(shí),用于顯示當(dāng)前主機(jī)中狀態(tài)為“活動(dòng)”的網(wǎng)絡(luò)接口信息;

當(dāng)然,ifconfig命令可以修改IP地址:

sudo ifconfig eth0 192.168.3.51

但是這是動(dòng)態(tài)的修改IP地址,重啟以后,IP地址又變回原來(lái)的靜態(tài)IP地址;修改IP地址除了可以在圖形界面中修改,也可以在配置文件中修改,這才是Linux的特性!無(wú)論是配置靜態(tài)IP還是動(dòng)態(tài)IP,計(jì)算機(jī)系統(tǒng)將IP信息保存在什么地方呢?答案是配置文件 "/etc/network/interfaces".在UBuntu Linux 啟動(dòng)時(shí)就能獲得IP地址的配置信息。若是配置靜態(tài)IP。就從配置文件中讀取IP地址參數(shù),直接配置網(wǎng)絡(luò)接口設(shè)備;若是配置動(dòng)態(tài)IP,就通知主機(jī)通過(guò)DHCP協(xié)議獲取網(wǎng)絡(luò)配置。以下分別為配置靜態(tài)IP和動(dòng)態(tài)IP時(shí),配置文件"/etc/network/interfaces"的實(shí)例:

動(dòng)態(tài)IP

cat /etc/network/interfaces 
auto lo
iface lo inet loopback
auto eth0

靜態(tài)IP

cat /etc/network/interfaces 
auto lo
iface lo inet loopback

auto eth0
iface eth0 inet static
	address 192.168.3.51
	netmask 255.255.0.0
	gateway 192.168.1.1

重啟下系統(tǒng),用ifconfig命令查看IP地址

ifconfig 
eth0      Link encap:Ethernet  HWaddr 00:0c:29:6c:c2:ec  
          inet addr:192.168.3.51  Bcast:192.168.255.255  Mask:255.255.0.0

明顯看到IP地址依然是我們靜態(tài)修改過(guò)的IP地址。

注意:

1、若不能訪問(wèn)外網(wǎng): ping 不通114.114.114.114

解決方法: sudo route add default gw 192.168.1.1

2、若不能訪問(wèn)域名: ping 不通baidu.com

解決方法:

1)-- sudo vi /etc/resolv.conf

2) -- 添加nameserver 114.114.114.114

1 檢查是否安裝tftp server

命令:dpkg –s tftpd-hpa

2 如果未安裝則需要安裝tftp-server

命令:sudo apt-get install tftp-hpa tftpd-hpa

Client:PC 安裝tftp-hpa

Server:ARM 安裝tftpd-hpa

后面的 tftp 此處的IP地址應(yīng)該是ARM的IP地址。

__3 修改文件 tftpd-hpa __

命令:sudo vim /etc/default/tftpd-hpa

tftpd-hpa文件修改后如下:

# /etc/default/tftpd-hpa

TFTP_USERNAME="tftp"
TFTP_DIRECTORY="/tftpboot"
TFTP_ADDRESS="0.0.0.0:69"
TFTP_OPTIONS="--secure"

說(shuō)明:修改項(xiàng),其中TFTP_DIRECTORY處可以改為你的tftp-server的根目錄,這里是/tftpboot,當(dāng)然可以改成其他地址,參數(shù) -c 指定了可以創(chuàng)建文件,參數(shù) -s是指定tftpd-hpa服務(wù)目錄,上面已經(jīng)指定。

4 創(chuàng)建目錄tftpboot,改變權(quán)限及啟動(dòng)

命令:

sudo mkdir /tftpboot

sudo chmod a+w /tftpboot

操作命令:

sudo service tftpd-hpa stop//停止

sudo service tftpd-hpa start//啟動(dòng)

sudo service tftpd-hpa status//查看tftp信息

sudo service tftpd-hpa restart//重啟

5 測(cè)試

a、登陸服務(wù)器

tftp localhost或 tftp<主機(jī)IP>

b、從tftp服務(wù)器下載文件

tftp> get

c、上傳文件到tftp服務(wù)器

tftp> put

d、查看幫助

tftp>?

tftp-hpa5.2

Commands may be abbreviated. Commands are:

connect connect to remote tftp

mode set file transfer mode

put send file

get receive file

quit exit tftp

verbose toggle verbose mode

trace toggle packet tracing

literal toggle literal mode, ignore':'in file name

status show current status

binary set mode to octet

ascii set mode to netascii

rexmt set per-packet transmission timeout

timeout set total retransmission timeout

?print help information

help print help information

e、退出登陸

tftp> q

注意:必須是超級(jí)用戶(hù)權(quán)限

6問(wèn)題及原因(解決方法):

1、Transfer time out.

tftpd服務(wù)沒(méi)有啟動(dòng)

2、Error code 0:Permission denied

可能是由SELinux造成的,在FC3和FC3以后的FC版本中SELinux默認(rèn)的都是開(kāi)啟的,現(xiàn)在要關(guān)掉它。

修改文件/etc/sysconfig/selinux,設(shè)定SELINUX=disabled,然后重啟電腦即可

或者執(zhí)行命令system-config-securitylevel打開(kāi)“安全級(jí)別配置”對(duì)話框,將SELinux(S)選項(xiàng)中“強(qiáng)制”改為“允許”

3、Error code 1:File not found

指定的文件夾不存在;或tftpd啟動(dòng)參數(shù)中沒(méi)有指定-c選項(xiàng),允許上傳文件

4、Error code 2:Only absolute filenames allowed

TFTP_OPTIONS="-l -c -s",中的選項(xiàng)注意一下,是否沒(méi) -c

5、Error code 2:Access violation

上傳的文件要有相應(yīng)的可讀寫(xiě)(覆蓋)的權(quán)限才能上傳,要對(duì)文件的權(quán)限進(jìn)行修改

chmod 777 (文件名)

3.1.3 主機(jī)端NFS配置

NFS是Network File System的簡(jiǎn)寫(xiě),即網(wǎng)絡(luò)文件系統(tǒng)。

網(wǎng)絡(luò)文件系統(tǒng)是許多操作系統(tǒng)都支持的文件系統(tǒng)中的一種,也被成為NFS。NFS允許一個(gè)系統(tǒng)在網(wǎng)絡(luò)上與他人共享目錄和文件。通過(guò)使用NFS,用戶(hù)可以像訪問(wèn)本地文件一樣訪問(wèn)遠(yuǎn)端系統(tǒng)上的文件。

NFS所提供的共享文件服務(wù)是建議在高度信任的基礎(chǔ)上的,所以,向其他用戶(hù)釋放共享資源之前,一定要確保對(duì)方的可靠性。

NFS的應(yīng)用:在我們嵌入式開(kāi)發(fā)過(guò)程中,NFS是一個(gè)重要環(huán)節(jié),我們常?!ぐ选案募毕到y(tǒng)放在主機(jī)上,然后在開(kāi)發(fā)板啟動(dòng)的時(shí)候通過(guò)NFS來(lái)掛載主機(jī)上的根文件系統(tǒng)。這樣省去了每次都要把文件系統(tǒng)燒寫(xiě)到存儲(chǔ)設(shè)備上的步驟,可以說(shuō)比tftp更方便。

下面我們將以Ubuntu為例,講解一下NFS的配置過(guò)程:

Server: PC

CLient : ARM(這里是用同一臺(tái)機(jī)器模擬的,主要是安裝過(guò)程)

1 檢查是否安裝nfs

命令:sudo dpkg -s install nfs-kernel-server

2 如果未安裝則需要安裝nfs-server

命令:sudo apt-get install nfs-kernel-server

3 修改配置文件及權(quán)限

命令:

sudo vim /etc/exports

sudo chmod 777 /tftpboot/rootfs

修改后的文件:

# /etc/exports: the access control list for filesystems which may be exported
#		to NFS clients.  See exports(5).
#
# Example for NFSv2 and NFSv3:
# /srv/homes       hostname1(rw,sync,no_subtree_check) hostname2(ro,sync,no_subtree_check)
#
# Example for NFSv4:
# /srv/nfs4        gss/krb5i(rw,sync,fsid=0,crossmnt,no_subtree_check)
# /srv/nfs4/homes  gss/krb5i(rw,sync,no_subtree_check)
#/tftpboot/rootfs  *(rw,sync,no_root_squash,no_subtree_check)

格式說(shuō)明:

共享目錄:主機(jī)名稱(chēng)

主機(jī)名稱(chēng)或共享IP:允許按照指定權(quán)限訪問(wèn)這個(gè)目錄的遠(yuǎn)程主機(jī)(如:開(kāi)發(fā)板)

參數(shù):

ro:只讀權(quán)限

rw:讀寫(xiě)權(quán)限

no_root_squash:如果是客戶(hù)端root,那么他對(duì)這個(gè)目錄具有root權(quán)限

root_squash:如果是客戶(hù)端root,那么他的權(quán)限被限制為匿名使用者

all_squash:如果是客戶(hù)端是什么身份,那么他的權(quán)限被限制為匿名使用者

4手動(dòng)啟停NFS服務(wù)

命令:

sudo/etc/init.d/nfs-kernel-server start

sudo /etc/init.d/nfs-kernel-server restart

sudo/etc/init.d/nfs-kernel-server stop

sudo/etc/init.d/nfs-kernel-server restart//重新啟動(dòng)

5 共享操作

sudo/etc/init.d/nfs-kernel-server status//查看NFS服務(wù)當(dāng)前狀態(tài)

showmount –e 192.168.3.51 //查看NFS服務(wù)器的共享資源

sudo mount –t nfs 192.168.3.51: /tftpboot/rootfs/mnt/nfs//掛載共享資源

-t 指類(lèi)型,這里是NFS;

192.168.3.51是服務(wù)端的IP地址;

/tftpboot/rootfs 是服務(wù)端的共享目錄;

/mnt/nfs是掛載點(diǎn),是客戶(hù)端的目錄;

當(dāng)客戶(hù)端使用mount命令講NFS服務(wù)器上的到處文件系統(tǒng)掛載到本地后,接下來(lái)對(duì)掛載的文件系統(tǒng)的操作與使用本地文件系統(tǒng)沒(méi)有任何區(qū)別。

sudo umount/mnt/nfs//卸載共享資源

需要說(shuō)明的是,當(dāng)有用戶(hù)正在使用某個(gè)已加載的共享目錄上的文件時(shí),則不能卸載該文件系統(tǒng),如果用戶(hù)確認(rèn)無(wú)誤,可以使用“umount -f”命令強(qiáng)行卸載共享的目錄。

6測(cè)試

第一種方法)showmount -e

第二種方法)自己掛載

$ mount -t nfs 127.0.0.1:/nfsboot /mnt/xxx

注意:必須是超級(jí)用戶(hù)權(quán)限

連接串口和板子,運(yùn)行串口通信程序(putty在工具),設(shè)置相關(guān)參數(shù)。

1687791069357b7k8bfjd7h

圖8

1687791069848jwersw5mxz

圖9

然后開(kāi)發(fā)板上電,在如圖10所示的界面中,選擇2。

1687791070129ce4924gs27

圖10

在圖10所示界面中,我們輸入y以確定我們是要燒寫(xiě)固件到Flash中。接著便會(huì)進(jìn)入到如圖11所示界面。

1687791070371a7ckslbd5j

圖11

1).如圖11所示的1中,輸入設(shè)備IP,這個(gè)IP可以是任意的,但是必須要和2中輸入的服務(wù)器IP是同一個(gè)網(wǎng)段;

2).如圖11所示的2中,輸入服務(wù)器IP;

3).如圖11所示的3中,輸入我們要下載的固件的名字。以上3點(diǎn)設(shè)置好以后,最后回車(chē),便開(kāi)始下載程序了。如圖12所示。

1687791070630i20j2cco2s

圖12下載過(guò)程

注意:

1).出現(xiàn)#####,表示下載正在下載,一切正常;出現(xiàn)TTTTT,則說(shuō)明我們哪里設(shè)置不對(duì),需要從頭重新設(shè)置一下。

2).如圖12所示,當(dāng)串口打印出raspi_erase信息的時(shí)候,表示正在擦除Flash中的數(shù)據(jù),此時(shí)一定不要強(qiáng)行斷電和退出,否則開(kāi)發(fā)板就變磚了。

3.2 通過(guò)tftpd32軟件

Tftpd32軟件適用于32位系統(tǒng)和部分64位系統(tǒng)。首先啟動(dòng)軟件,Tftpd32的界面如下。

1687791070887k6yviwxtdy

圖13 Tftpd32界面

①對(duì)應(yīng)的CurrentDirectory用于選擇固件所在的目錄,通過(guò)Browse按鈕來(lái)進(jìn)行選擇設(shè)置。比如,我將固件放在了G:盤(pán)的tftpboot目錄,則需要進(jìn)行如圖2所示的設(shè)置。

②對(duì)應(yīng)的Serverinterface用于選擇服務(wù)器的IP地址。此時(shí),如果你是通過(guò)網(wǎng)線和開(kāi)發(fā)板或者路由器進(jìn)行連接,那么這里就應(yīng)該選擇為本地有線網(wǎng)卡的IP地址;如果是通過(guò)WiFi和路由器進(jìn)行連接,那么這里應(yīng)該選擇為無(wú)線網(wǎng)卡的IP地址。

注意:電腦的IP地址通過(guò)在運(yùn)行(win+R就可打開(kāi),方法很多)中CMD中輸入ipconfig命令得到,如圖14所示。

1687791071419rmnyc4ubx5

圖14查看電腦IP

當(dāng)Tftpd32軟件設(shè)置完成以后,接下來(lái)就是將開(kāi)發(fā)板的Mini-USB口通過(guò)USB線和電腦的USB口進(jìn)行連接,然后安裝串口驅(qū)動(dòng)和設(shè)置好相應(yīng)的串口(8N1,57600),然后開(kāi)發(fā)板上電,在如圖15所示的界面中,選擇2。

1687791071920n8uq9ov9qt

圖15

在圖15所示界面中,我們輸入y以確定我們是要燒寫(xiě)固件到Flash中。接著便會(huì)進(jìn)入到如圖16所示界面。

1687791072238k5ndr25cbo

圖16

1).如圖16所示的1中,輸入設(shè)備IP,這個(gè)IP可以是任意的,但是必須要和2中輸入的服務(wù)器IP是同一個(gè)網(wǎng)段;

2).如圖16所示的2中,輸入服務(wù)器IP;

3).如圖16所示的3中,輸入我們要下載的固件的名字。以上3點(diǎn)設(shè)置好以后,最后回車(chē),便開(kāi)始下載程序了。如圖17所示。

1687791072460ibaukj6nqy

圖17下載過(guò)程

注意:

1).出現(xiàn)#####,表示下載正在下載,一切正常;出現(xiàn)TTTTT,則說(shuō)明我們哪里設(shè)置不對(duì),需要從頭重新設(shè)置一下。

2).如圖17所示,當(dāng)串口打印出raspi_erase信息的時(shí)候,表示正在擦除Flash中的數(shù)據(jù),此時(shí)一定不要強(qiáng)行斷電和退出,否則開(kāi)發(fā)板就變磚了。

3.3 通過(guò)3CDaemon軟件

3CDaemon適用于64位系統(tǒng)。首先啟動(dòng)軟件,3CDaemon的界面如下。

1687791072739jvijw4bupk

圖18 CDaemon軟件界面

當(dāng)我們啟動(dòng)好3CDaemon軟件以后,我們發(fā)現(xiàn)它監(jiān)聽(tīng)了電腦上所有網(wǎng)卡的IP地址,這也是較Tftpd32軟件好的地方,不用我們自己選擇指定IP。但是,任然需要我們來(lái)設(shè)置固件所在目錄。點(diǎn)如圖18所示的,點(diǎn)擊“設(shè)置TFTP服務(wù)器”按鈕,會(huì)彈出如圖19所示的對(duì)話框。在該對(duì)話框中選中固件的存放目錄即可。

1687791073173z5ewxg9utk

圖19設(shè)置固件的目錄

當(dāng)3CDaemon軟件設(shè)置好以后,接下來(lái)的操作又和使用Tftpd32軟件的過(guò)程一樣了。開(kāi)發(fā)板上電,選2,輸入y,設(shè)置設(shè)備IP、服務(wù)器IP、固件的名字。

注意:對(duì)于不會(huì)從Ubuntu下載固件的朋友,編者也將固件放在附件里,直接使用就行了。但是想更好地掌握openwrt的朋友,還是要多學(xué)習(xí)啊。
審核編輯:湯梓紅

聲明:本文內(nèi)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 嵌入式系統(tǒng)
    +關(guān)注

    關(guān)注

    40

    文章

    3520

    瀏覽量

    128805
  • 內(nèi)核
    +關(guān)注

    關(guān)注

    3

    文章

    1336

    瀏覽量

    40084
  • Linux
    +關(guān)注

    關(guān)注

    87

    文章

    11123

    瀏覽量

    207913
  • 燒寫(xiě)
    +關(guān)注

    關(guān)注

    0

    文章

    56

    瀏覽量

    14193
  • OpenWrt
    +關(guān)注

    關(guān)注

    10

    文章

    122

    瀏覽量

    39148
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    Openwrt開(kāi)發(fā)指南 25 配置OpenWrt支持網(wǎng)絡(luò)攝像頭

    Openwrt開(kāi)發(fā)指南 25 配置OpenWrt支持網(wǎng)絡(luò)攝像頭
    的頭像 發(fā)表于 07-13 08:56 ?2076次閱讀
    <b class='flag-5'>Openwrt</b><b class='flag-5'>開(kāi)發(fā)指南</b> <b class='flag-5'>第</b>25<b class='flag-5'>章</b> 配置<b class='flag-5'>OpenWrt</b>支持網(wǎng)絡(luò)攝像頭

    Openwrt開(kāi)發(fā)指南 1 OpenWrt入門(mén)

    如果要學(xué)習(xí)openwrt的話,買(mǎi)些列表中二手的路由器來(lái)實(shí)踐下更容易學(xué)習(xí),大部分要升級(jí)一下rom芯片和內(nèi)存芯片,典型配置都是4M、64M。
    的頭像 發(fā)表于 06-27 09:09 ?3929次閱讀

    Openwrt開(kāi)發(fā)指南 2 OpenWrt開(kāi)發(fā)環(huán)境搭建

    寫(xiě)到設(shè)備中;另外,嵌入式設(shè)備的資源并不足以用來(lái)開(kāi)發(fā)軟件。所以需要用到交叉開(kāi)發(fā)模式:在主機(jī)上編輯、編譯軟件,然后在目標(biāo)板上運(yùn)行、驗(yàn)證程序。對(duì)于MT7621等開(kāi)發(fā)板,進(jìn)行物聯(lián)網(wǎng)
    的頭像 發(fā)表于 06-27 09:09 ?6231次閱讀
    <b class='flag-5'>Openwrt</b><b class='flag-5'>開(kāi)發(fā)指南</b> <b class='flag-5'>第</b>2<b class='flag-5'>章</b> <b class='flag-5'>OpenWrt</b><b class='flag-5'>開(kāi)發(fā)</b>環(huán)境搭建

    Openwrt開(kāi)發(fā)指南 3 OpenWrt下載及配置

    編譯OpenWrt首先需要下載源碼,OpenWrt的源碼是通過(guò)git下載,OpenWrt目前已經(jīng)很好的支持了MT7620、MT7821等芯片,因此OpenWrt系統(tǒng)完全可以用于MT76
    的頭像 發(fā)表于 06-27 09:10 ?4982次閱讀
    <b class='flag-5'>Openwrt</b><b class='flag-5'>開(kāi)發(fā)指南</b> <b class='flag-5'>第</b>3<b class='flag-5'>章</b> <b class='flag-5'>OpenWrt</b>下載及配置

    Openwrt開(kāi)發(fā)指南 7 添加Web界面

    LuCI作為“FFLuCI”誕生于2008年3月份,目的是為OpenWrt固件從Whiterussian到Kamikaze實(shí)現(xiàn)快速配置接口。Lua是一個(gè)小巧的腳本語(yǔ)言,很容易嵌入其它語(yǔ)言。輕量級(jí)
    的頭像 發(fā)表于 06-29 09:04 ?3452次閱讀
    <b class='flag-5'>Openwrt</b><b class='flag-5'>開(kāi)發(fā)指南</b> <b class='flag-5'>第</b>7<b class='flag-5'>章</b> 添加Web界面

    Openwrt開(kāi)發(fā)指南 12 添加OpenWrt軟件包

    OpenWrt是一個(gè)比較完善的嵌入式Linux開(kāi)發(fā)平臺(tái),在無(wú)線路由器應(yīng)用上已有4000多個(gè)軟件包。我們可以在其基礎(chǔ)上增加軟件包,以擴(kuò)大其應(yīng)用范圍。在OpenWrt中增加軟件包極其方便,按照
    的頭像 發(fā)表于 06-29 09:09 ?8219次閱讀

    Openwrt開(kāi)發(fā)指南 13 OpenWrt啟動(dòng)流程

    任何系統(tǒng)的啟動(dòng)都是開(kāi)發(fā)人員首要關(guān)注的問(wèn)題,因?yàn)橹挥辛私饬讼到y(tǒng)的啟動(dòng)流程和啟動(dòng)機(jī)制,才能真正掌握一個(gè)系統(tǒng),如果對(duì)啟動(dòng)的啟動(dòng)不熟悉的話,是不可能真正用好一個(gè)系統(tǒng),openwrt系統(tǒng)也不例外,他的啟動(dòng)和一般的嵌入式系統(tǒng)啟動(dòng)還有所區(qū)別,現(xiàn)在咱們就分析一下
    的頭像 發(fā)表于 06-29 09:09 ?3131次閱讀
    <b class='flag-5'>Openwrt</b><b class='flag-5'>開(kāi)發(fā)指南</b> <b class='flag-5'>第</b>13<b class='flag-5'>章</b> <b class='flag-5'>OpenWrt</b>啟動(dòng)流程

    Openwrt開(kāi)發(fā)指南 17 驅(qū)動(dòng)開(kāi)發(fā)之字符設(shè)備驅(qū)動(dòng)程序

    首先將 RT5350_drv 文件夾傳到 OpenWrt 源碼的chaos_calmer/package/kernel 目錄下。然后進(jìn)入 OpenWrt 源碼的頂層目錄,執(zhí)行 make menuconfig。
    的頭像 發(fā)表于 07-02 09:20 ?2923次閱讀
    <b class='flag-5'>Openwrt</b><b class='flag-5'>開(kāi)發(fā)指南</b> <b class='flag-5'>第</b>17<b class='flag-5'>章</b> 驅(qū)動(dòng)<b class='flag-5'>開(kāi)發(fā)</b>之字符設(shè)備驅(qū)動(dòng)程序

    Openwrt開(kāi)發(fā)指南 22 Openwrt串口的使用2

    在上一中,我們成功的讓驅(qū)動(dòng)程序支持了串口 2,并且做了簡(jiǎn)單的測(cè)試。接下來(lái),我們就為串口 2 添加一個(gè)應(yīng)用程序,從而實(shí)現(xiàn) Wi-Fi 串口。實(shí)現(xiàn)過(guò)程非常簡(jiǎn)單,首先進(jìn)入 OpenWrt 系統(tǒng)源碼,然后運(yùn)行 make menuconfig 命令進(jìn)行配置。
    的頭像 發(fā)表于 07-05 09:09 ?3702次閱讀
    <b class='flag-5'>Openwrt</b><b class='flag-5'>開(kāi)發(fā)指南</b> <b class='flag-5'>第</b>22<b class='flag-5'>章</b> <b class='flag-5'>Openwrt</b>串口的使用2

    Openwrt開(kāi)發(fā)指南 24 配置開(kāi)發(fā)板支持U盤(pán)

    Openwrt開(kāi)發(fā)指南 24 配置開(kāi)發(fā)板支持U盤(pán)
    的頭像 發(fā)表于 07-13 08:55 ?2364次閱讀
    <b class='flag-5'>Openwrt</b><b class='flag-5'>開(kāi)發(fā)指南</b> <b class='flag-5'>第</b>24<b class='flag-5'>章</b> 配置<b class='flag-5'>開(kāi)發(fā)</b>板支持U盤(pán)

    Openwrt開(kāi)發(fā)指南 29 OpenWrt 防火墻介紹

    Openwrt 是一個(gè) GNU/Linux 的發(fā)行版, 和其他大多數(shù)的發(fā)行版一樣,Openwrt 的防火墻同樣也是基于 iptables。 在 OpenWRT 下防火墻的默認(rèn)行為已經(jīng)可以滿(mǎn)足路由器的需要,一般情況下也無(wú)需修改。
    的頭像 發(fā)表于 07-15 16:24 ?3149次閱讀
    <b class='flag-5'>Openwrt</b><b class='flag-5'>開(kāi)發(fā)指南</b> <b class='flag-5'>第</b>29<b class='flag-5'>章</b> <b class='flag-5'>OpenWrt</b> 防火墻介紹

    基于VF2的openWRT寫(xiě)、配置和測(cè)試

    將IMG從weiyun上下載下來(lái),利用U盤(pán)寫(xiě)工具,我比較喜歡和習(xí)慣Rufus,將openwrt-visionfive2-generic-visionfive2-ext4-sdcard.img
    的頭像 發(fā)表于 09-11 12:59 ?1196次閱讀
    基于VF2的<b class='flag-5'>openWRT</b><b class='flag-5'>燒</b><b class='flag-5'>寫(xiě)</b>、配置和測(cè)試

    【NetRouter試用體驗(yàn)】netrouter上使用openwrt寫(xiě)固件

    完成進(jìn)行寫(xiě)入flash。寫(xiě)入完成后啟動(dòng)內(nèi)核。openwrt內(nèi)核啟動(dòng)完成。這樣,netrouter寫(xiě)openwrt固件就完成了。
    發(fā)表于 02-26 16:41

    openwrt開(kāi)發(fā)教程1~6

    openwrt開(kāi)發(fā)教程1~6
    發(fā)表于 03-17 14:23 ?52次下載

    Openwrt通用固件 make menuconfig配置教程

    Openwrt通用固件 make menuconfig配置教程
    發(fā)表于 09-07 12:01 ?4次下載