解決思路 使用TF卡啟動,先在開發板正常運行的Ubuntu系統上正常安裝軟件,安裝完軟件以后,把TF卡里面的文件系統在Ubuntu上打包。最終在使用mfg或者tf燒寫進開發板。 涉及到的知識: 1.TF卡啟動。 2.編譯Ubuntu文件系統。 3.TF卡燒寫。 實驗環境 開發環境:Ubuntu14 開發板:迅為imx6q工業級(迅為imx6系列開發板均可) 開發板底板版本:V2.6 開發板Ubuntu鏡像:Ubuntu12(Ubuntu16也可以) 工具: 1.一張只有一個FAT32分區的TF卡,大小不超過32G。 2.讀卡器一個。 3. imx6開機自動燒寫鏡像文檔。 步驟一 TF卡啟動 在 ubuntu 系統下插入 tf 卡,使用命令df -lh可以查看 tf 卡的設備節點以及掛在的目錄,如下圖所示: ![]() 我這里 tf 卡的節點是/dev/sdc1,掛載在/media/topeet/B93A-B93A目錄(也有可能是 sdc,sdd 之類的,根據實際情況,目錄也都不一樣)。然后我們使用 umount 命令取消掛載umount /media/topeet/B93A-B93A/,如下圖所示: ![]() 使用ls /sbin/mkfs*,假如我們的機器中沒有/sbin/mkfs.fat”文件,則使用命令ln -s /sbin/mkfs.vfat /sbin/mkfs.fat,有的話,直接跳過這一步。 我的機器如下圖所示: ![]() 然后我們把開發板Ubuntu系統鏡像和imx6開機自動燒寫鏡像文檔里面的腳本拷貝到虛擬機Ubuntu。如下圖所示: ![]() 我們打開這個腳本,把分區改大一點,如下圖所示: ![]() 然后在當前目錄下運行./mksdcard-android.sh -f /dev/sdc,注意sdc后面不要跟數字,這個腳本會給TF分區,燒寫uboot,拷貝內核,如下圖所示: ![]() 拔下tf卡,重新插入到ubuntu系統下,輸入命令df -lh,可以看到 tf 卡分區信息,以及掛載的目錄,/dev/sdc5是文件系統的分區(有可能用戶的盤符會是sda5 等等,請記住帶有數字5的盤符是保存文件系統的)如下圖所示: ![]() 然后我把Ubuntu的系統鏡像解壓到5這個分區,最好是先把鏡像拷貝到這個分區,在解壓。 ![]() 然后拔下TF卡,給開發板撥成TF卡啟動,以imx6q為例,撥碼1和7,撥到 ON,其余的撥到 OFF,然后插入TF卡,給開發板 上電,Ubuntu系統就會從TF啟動。 步驟二 安裝軟件 安裝軟件我們直接使用apt-get命令就可以了,比如我們這里安裝minicom 。如下圖所示: ![]() 打包文件系統 我們把TF卡拔下來,連接到Ubuntu上,在進到文件系統系統的分區,然后使用命令tar -czvf iMX6_ubuntu_12.04.tgz ./* 打包我們安裝好軟件的文件系統,打包成功如下圖所示: ![]() 燒寫測試 我們把打包好的文件系統放在燒寫工具里面,然后燒寫測試,燒寫成功以后,我們使用命令minicom -s 打開串口軟件,如下圖所示: ![]() 這樣我們做好的文件系統就有這個軟件啦,其實步驟不是太重要,重要的是解決這個問題的思路,希望對大家有所啟發,更多關注公眾號:迅為電子 |