最近換了新的筆記本,就把老的筆記本裝了ubuntu,使用體驗比虛擬機好很多,就算是老筆記本的配置,帶個ubuntu還是非常流暢的,就是要重新配置環(huán)境,這篇文章就來記錄下環(huán)境配置。
| 交叉編譯器安裝
交叉編譯參考交叉編譯器安裝這篇推文,具體步驟記錄得非常清楚。想要獲取當(dāng)前路徑,可以使用 pwd 命令:
| uboot編譯
uboot編譯參照uboot初探這篇推文,里邊有相關(guān)介紹和操作,這里就不做過多介紹。
| 從網(wǎng)絡(luò)啟動 Linux 系統(tǒng)
可以通過從網(wǎng)絡(luò)啟動Linux系統(tǒng)這篇文章了解相關(guān)內(nèi)容,在ubuntu20中查看ip地址可以使用 ip addr查看,在win11中可以使用ipconfig查看ip,在保證網(wǎng)線接到同一局域網(wǎng)中,還需要配置uboot才能ping通win11和win11,win11需要關(guān)閉防火墻,配置如下:
setenvipaddr192.168.2.50//開發(fā)板IP地址 setenvethaddrb81d:01:00:00//開發(fā)板網(wǎng)卡MAC地址 setenvgatewayip192.168.2.1//開發(fā)板默認網(wǎng)關(guān) setenvnetmask255.255.255.0//開發(fā)板子網(wǎng)掩碼 setenvserverip192.168.2.55/服務(wù)器地址,也就是Ubuntu地址 saveenv//保存環(huán)境變量
配置完后再重啟開發(fā)板,再ping通win11和ubuntu,確保它們都在同一局域網(wǎng)下面。最后再搭建TFTP服務(wù),測試linux能否正常通過網(wǎng)絡(luò)啟動。
測試啟動
1、設(shè)置環(huán)境變量
進入uboot中,輸入下面配置:
setenvbootargs'console=ttymxc0,115200root=/dev/mmcblk1p2rootwaitrw' setenvbootcmd'tftp80800000zImage;tftp83000000imx6ull-14x14-evk-emmc.dtb;bootz80800000-83000000' saveenv
2、下載文件
進入uboot中,輸入下面命令:
tftp80800000zImage tftp83000000imx6ull-14x14-evk-emmc.dtb
3、啟動內(nèi)核
進入uboot中,輸入下面命令:
bootz80800000-83000000
| 編譯內(nèi)核
內(nèi)核的編譯可以參考移植內(nèi)核這篇推文,里邊有相關(guān)內(nèi)容介紹及實現(xiàn)過程等。
內(nèi)核編譯配置如下:
#!/bin/sh #編譯之前先清理 makeARCH=armCROSS_COMPILE=arm-linux-gnueabihf-distclean #配置Linux內(nèi)核 makeARCH=armCROSS_COMPILE=arm-linux-gnueabihf-imx_v7_mfg_defconfig #編譯Linux內(nèi)核 makeARCH=armCROSS_COMPILE=arm-linux-gnueabihf-all-j16
最終會生成一個很重要的文件,就是zImage文件,下方是它存放在系統(tǒng)中的詳細路徑:
Linux內(nèi)核鏡像文件: 存放路徑為arch/arm/boot/zImage IMX6ULL EVK開發(fā)板對應(yīng)的設(shè)備樹文件: 存放路徑為arch/arm/boot/dts/imx6ull-14x14-evk.dtb
| 編譯根文件系統(tǒng)
根文件系統(tǒng)相關(guān)知識可以借鑒根文件系統(tǒng)構(gòu)建這篇推文,詳細介紹了如何從零到一構(gòu)建一個根文件系統(tǒng)。
uboot配置:
setenvbootargs'console=ttymxc0,115200root=/dev/nfsnfsroot=192.168.2.55:/home/noah/linux/nfs/rootfs,proto=tcprwip=192.168.2.50192.168.2.1off' saveenv
如果遇到根文件掛載失敗的,可以借鑒以下下面的方法:
原因:因為ubuntu的nfs版本為version4,而板子的nfs版本為version2,所以直接掛載上去無法識別
解決方法:在 /etc/default/nfs-kernel-server的最后一行添加以下代碼:
RPCNFSDOPTS="--nfs-version2,3,4--debug--syslog"
具體看下圖(使用命令:sudo gedit nfs-kernel-server):
| 新字符驅(qū)動
字符驅(qū)動可以借鑒新字符設(shè)備驅(qū)動模板這篇文章,里邊有完整的相關(guān)說明及源代碼;從官方下載了Linux kernel源碼進行編譯,遇到如下錯誤:
cc1: error: code model kernel does not support PIC mode 解決方法:打開官方內(nèi)核源碼,在Makefile中對應(yīng)修改一下:
ARCH?=arm CROSS_COMPILE?=arm-linux-gnueabihf- #Architectureaspresentincompile.h UTS_MACHINE:=$(ARCH) SRCARCH:=$(ARCH) 和 KBUILD_CFLAGS:=-Wall-Wundef-Wstrict-prototypes-Wno-trigraphs -fno-strict-aliasing-fno-common -Werror-implicit-function-declaration -Wno-format-security -std=gnu89-fno-pie
圖片如下:
最后加載驅(qū)動,然后測試應(yīng)用程序,到此驅(qū)動開發(fā)環(huán)境基本搭建完成!
審核編輯:劉清
-
Linux系統(tǒng)
+關(guān)注
關(guān)注
4文章
590瀏覽量
27316 -
虛擬機
+關(guān)注
關(guān)注
1文章
904瀏覽量
28018 -
Uboot
+關(guān)注
關(guān)注
4文章
125瀏覽量
28125 -
TFTP協(xié)議
+關(guān)注
關(guān)注
0文章
5瀏覽量
5489 -
Ubuntu系統(tǒng)
+關(guān)注
關(guān)注
0文章
85瀏覽量
3898
原文標(biāo)題:i.MX6ULL|快速配置環(huán)境
文章出處:【微信號:玩轉(zhuǎn)單片機,微信公眾號:玩轉(zhuǎn)單片機】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
相關(guān)推薦
評論