從網(wǎng)絡(luò)啟動(dòng) linux 系統(tǒng)的唯一目的就是為了調(diào)試!不管是為了調(diào)試 linux 系統(tǒng)還是 linux 下的驅(qū)動(dòng)。每次修改 linux 系統(tǒng)文件或者 linux 下的某個(gè)驅(qū)動(dòng)以后都要將其燒寫到 EMMC 中去測試,這樣太麻煩了。我們可以設(shè)置 linux 從網(wǎng)絡(luò)啟動(dòng),也就是將 linux 鏡像文件和根文件系統(tǒng)都放到 Ubuntu 下某個(gè)指定的文件夾中,這樣每次重新編譯 linux 內(nèi)核或者某個(gè) linux 驅(qū)動(dòng)以后只需要使用 cp 命令將其拷貝到這個(gè)指定的文件夾中即可,這樣就不用需要頻繁的燒寫 EMMC,這樣就加快了開發(fā)速度。
|配置網(wǎng)絡(luò)
uboot是支持網(wǎng)絡(luò)的,在移植uboot的時(shí)候一般都要調(diào)通網(wǎng)絡(luò)功能,因?yàn)樵谝浦瞝inuxkernel的時(shí)候需要使用到uboot的網(wǎng)絡(luò)功能做調(diào)試。uboot支持大量的網(wǎng)絡(luò)相關(guān)命令,比如 dhcp、ping、nfs 和 tftpboot。
(啟動(dòng)時(shí)打印信息)
(網(wǎng)絡(luò)相關(guān)的變量)
1、連接網(wǎng)線,網(wǎng)線一定要接在左邊那個(gè)網(wǎng)口,uboot的FEC1就是這個(gè)網(wǎng)口;
2、 配置uboot的網(wǎng)絡(luò),把下面命令全部輸入uboot面板中;
setenvipaddr192.168.2.50//開發(fā)板IP地址 setenv ethaddr b8:ae:1d:01:00:00 //開發(fā)板網(wǎng)卡 MAC 地址 setenvgatewayip192.168.2.1//開發(fā)板默認(rèn)網(wǎng)關(guān) setenv netmask 255.255.255.0 //開發(fā)板子網(wǎng)掩碼 setenvserverip192.168.2.55/服務(wù)器地址,也就是Ubuntu地址 saveenv//保存環(huán)境變量
上面的配置不一定適合所有,請(qǐng)根據(jù)實(shí)際網(wǎng)絡(luò)進(jìn)行配置:
Windows電腦的cmd中的ipconfig指令來查看;
linux的電腦使用ifconfig指令來查看;
注意:虛擬機(jī)中的ubuntu要使用【橋接】,然后在【虛擬網(wǎng)絡(luò)編輯器】中添加橋接的網(wǎng)絡(luò),不懂就百度一下,一定要保證物理機(jī)和虛擬機(jī)的網(wǎng)絡(luò)在同一個(gè)網(wǎng)段,并且能ping通,若ping不通物理機(jī),可以關(guān)閉【防火墻】再嘗試;
3、測試是否ping通
| 搭建TFTP服務(wù)
tftp 命令的作用和 nfs 命令一樣,都是用于通過網(wǎng)絡(luò)下載東西到 DRAM 中,只是 tftp 命令使用的 TFTP 協(xié)議,Ubuntu 主機(jī)作為 TFTP 服務(wù)器。因此需要在 Ubuntu 上搭建 TFTP 服務(wù)器,需要安裝 tftp-hpa 和 tftpd-hpa,命令如下:
sudo apt-get install tftp-hpa tftpd-hpa sudo apt-get install xinetd
TFTP也需要一個(gè)文件夾來存放文件,在用戶目錄下新建一個(gè)目錄,示例命令如下:
//創(chuàng)建文件夾 mkdir /home/noah/linux/tftpboot // 賦予權(quán)限 chmod 777 /home/noah/linux/tftpboot
最后配置 tftp,安裝完成以后新建文件/etc/xinetd.d/tftp,如果沒有/etc/xinetd.d 目錄的話自行創(chuàng)建,然后在里面輸入如下內(nèi)容:
server tftp { socket_type = dgram protocol = udp wait = yes user = root server = /usr/sbin/in.tftpd server_args = -s /home/noah/linux/tftpboot/ disable = no per_source = 11 cps = 100 2 flags = IPv4 }
配置完后啟動(dòng)tftp服務(wù),命令如下:
sudo service tftpd-hpa start
打開/etc/default/tftpd-hpa文件,將其修改為如下所示內(nèi)容:
# /etc/default/tftpd-hpa TFTP_USERNAME="tftp" TFTP_DIRECTORY="/home/noah/linux/tftpboot" TFTP_ADDRESS=":69" TFTP_OPTIONS="-l -c -s"TFTP_DIRECTORY 就是上面創(chuàng)建的 tftp 文件夾目錄,以后我們就將所有需要通過TFTP 傳輸?shù)奈募挤诺竭@個(gè)文件夾里面,并且要給予這些文件相應(yīng)的權(quán)限。 最后輸入如下命令, 重啟 tftp 服務(wù)器:
sudo service tftpd-hpa restarttftp 服務(wù)器已經(jīng)搭建好了,接下來就是使用了。 | 測試驗(yàn)證 將 zImage 鏡像文件拷貝到 tftpboot 文件夾中,并且給予 zImage 相應(yīng)的權(quán)限,命令如下:
chmod 777 zImage
uboot串口交互指令中的「tftp命令格式」如下:
tftpboot [loadAddress] [[hostIPaddr:]bootfilename]
loadAddress:文件在DRAM中的存放地址;
[[hostIPaddr:]bootfilename]:要從Ubuntu中下載的文件;
注意:tftp傳輸文件,不需要輸入文件在Ubuntu中的完整路徑,只需要輸入文件名即可。
比如我們現(xiàn)在將 tftpboot 文件夾里面的 zImage 文件下載到開發(fā)板 DRAM 的 0X80800000 地址處,命令如下:
tftp 80800000 zImage
|啟動(dòng)Linux
1、設(shè)置環(huán)境變量,命令如下:
setenv bootargs 'console=ttymxc0,115200 root=/dev/mmcblk1p2 rootwait rw' setenv bootcmd 'tftp 80800000 zImage; tftp 83000000 imx6ull-14x14-evk-emmc.dtb; bootz 80800000 - 83000000' saveenv
2、通過tftp將zImage和設(shè)備樹下載到板子的RAM中,命令如下:
tftp 80800000 zImage tftp 83000000 imx6ull-14x14-evk-emmc.dtb
使用到的文件有「野火提供的yocto的zImage和dtb文件」,可以在野火公開文件包中找到;
3、啟動(dòng)內(nèi)核,命令如下:
bootz 80800000 - 83000000
4、啟動(dòng)成功
至此,uboot的移植基本完成,可以啟動(dòng)Linux內(nèi)核。啟動(dòng)內(nèi)核之后,uboot的使命就完成了。
-
Linux系統(tǒng)
+關(guān)注
關(guān)注
4文章
600瀏覽量
28071 -
編輯器
+關(guān)注
關(guān)注
1文章
812瀏覽量
31545 -
emmc
+關(guān)注
關(guān)注
7文章
225瀏覽量
53511
原文標(biāo)題:i.MX6ULL|從網(wǎng)絡(luò)啟動(dòng) Linux 系統(tǒng)
文章出處:【微信號(hào):玩轉(zhuǎn)單片機(jī),微信公眾號(hào):玩轉(zhuǎn)單片機(jī)】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
教你如何快速啟動(dòng)Linux 系統(tǒng)
教你如何快速啟動(dòng)Linux 系統(tǒng)
教你如何快速啟動(dòng)Linux 系統(tǒng)
Linux系統(tǒng)啟動(dòng)卡制作及系統(tǒng)固化
Linux的系統(tǒng)啟動(dòng)卡制作及系統(tǒng)固化
如何通過網(wǎng)絡(luò)升級(jí)嵌入式系統(tǒng)的linux內(nèi)核
基于LINUX系統(tǒng)的IPv6網(wǎng)絡(luò)安裝與調(diào)試
如何做grub啟動(dòng)盤
實(shí)例分析LINUX系統(tǒng)的靜/動(dòng)態(tài)集成調(diào)試模式

嵌入式LINUX系統(tǒng)內(nèi)核和內(nèi)核模塊調(diào)試

如何做路由追蹤?【免工具】

linux系統(tǒng)如何做全盤備份
3562-Linux系統(tǒng)啟動(dòng)卡制作及系統(tǒng)固化

評(píng)論