iTOP 4412開發板刷ubuntu

2021-08-16 00:11:13 字數 3262 閱讀 9652

此文章講解了itop-4412開發板上刷寫ubuntu的流程。android、qt、最小linux系統的刷寫也可以此為參考,但這三個系統更建議使用fastboot刷寫方式,速度更快,更簡單。

準備工具:2g以上大小tf卡乙個、ubuntu虛擬機器(其他linux虛擬機器也可)乙個、超級終端(securecrt也可,用於通過串列埠和板子進行通訊)。將開發板的靠近有線網口的串列埠連線至電腦(直連或使用usb轉串列埠線連線,後者的話電腦端可能需要安裝usb轉串列埠的驅動),在電腦裝置管理器裡檢視對應的是哪個串列埠,後面將會使用此串列埠進行刷機。

準備檔案:ubuntu系統壓縮包、zimage、zimage_sd、u-boot-itop-4412.bin(板子能啟動到uboot模式的話,此檔案可不用刷)

刷機思路:給板子的mmc和外接tf卡分好區,然後在linux虛擬機器中將ubuntu系統解壓到tf卡中,之後在板子上啟動tf卡中的系統,最後通過tf卡中的系統將ubuntu系統解壓到mmc上。這個過程中tf卡類似一張跳板。

刷機流程概述

mmc分割槽(板子自帶儲存)、tf卡分割槽 –> 在虛擬機器中將ubuntu系統壓縮包解壓到tf中 –>刷入zimage_sd –> 啟動到tf的ubuntu中 –> 解壓ubuntu系統壓縮包到mmc分割槽 –> 刷入zimage –> 正常啟動板子

uboot模式介紹:板子上電後,按下任意鍵(有點類似電腦進入bios的方式),會進入到板子的uboot模式(新板子的uboot出廠時已經刷好了,如果板子不能進入uboot模式,可參考使用手冊《出廠首次刷寫》來製作可以啟動uboot的tf卡,另外此時需要修改板子上的啟動開關),此模式下可對mmc或tf進行分割槽,也可燒寫zimage包來設定板子是啟動mmc中的作業系統還是啟動tf卡中的作業系統,甚至可以燒寫uboot檔案(大多數情況下uboot不用燒寫)。

開刷

第一步,給mmc和tf卡分割槽

板子上電,快速按任意鍵,進入到uboot模式。

//-c表示分割槽,0表示0號磁碟,即mmc,相應的tf卡為1號磁碟,2700表示分割槽大小,單位為mb

fdisk -c

02700

300300

這條命令會將mmc分為四個區,大小分別為2700mb、300mb、300mb、剩餘空間。2700mb分割槽是作業系統的所在分割槽,我們的系統也會解壓到此處。分割槽大小可以調整,但要保證2700mb分割槽能放入作業系統。

這四個分割槽在磁碟的實際順序和將要格式化的分割槽格式如下:

剩餘空間分割槽(fat32)  2700mb(ext3) 300mb(ext3)  300mb(ext3)
然後給這四個分割槽分別格式化。

fatformat mmc 0:1

//第乙個分割槽格式化為fat模式

ext3format mmc 0:2

//作業系統所在分割槽,此分割槽

ext3format mmc 0:3

ext3format mmc 0:4

fdisk -c

11500

5050

//1500那個分割槽將會放置我們的作業系統

fatformat mmc 1:1

ext3format mmc 1:2

ext3format mmc 1:3

ext3format mmc 1:4

這時分割槽就完畢了,接下來我們要將系統解壓到tf卡中。

第二步,解壓ubuntu系統到tf卡中

將tf卡插到電腦上。啟動電腦的linux虛擬機器,並將tf卡以u盤的形式掛在到虛擬機器上。根據linux系統不同,有的linux系統需要手動mount,有的會自動mount,我們的目標是找到tf卡上的那個1500的分割槽。使用如下命令解壓ubuntu系統到tf卡中:

為ubuntu系統壓縮包路徑,/mnt為tf卡1500分割槽對映路徑

tar -xvf ubuntu.tar -c /mnt

解壓會持續一會,另外如果tf卡或讀卡器有問題,解壓到一半時會失敗(為此我換了好幾個讀卡器和tf卡)。

第三步,啟動tf卡中的ubuntu系統並解壓ubuntu系統壓縮包到mmc中

sdfuse flash kernel zimage_sd
如果需要刷如uboot,可以執行如下命令(大多數情況下,我們不需要刷uboot):

sdfuse flash bootloader  u-boot

-itop

-4412.bin

第四步,解壓ubuntu壓縮包到mmc中

為u盤中系統壓縮包的路徑,/mnt/mmc為mmc的2700mb分割槽掛在的位置

tar -xvf /mnt/u/ubuntu.tar -c /mnt/mmc/

等待解壓完畢即可。

最後一步,啟動mmc中的ubuntu系統

tf卡不要拔,重啟板子並進入uboot,然後刷入zimage檔案

sdfuse flash kernel zimage
然後輸入reset命令重啟板子。待板子啟動完成後,我們的ubuntu就刷入完成了。

bonous

後續,關於4412的板子之前是沒有寫文章的計畫的。但前幾天我嘗試在板子上安裝mysql,雖然沒有成功。但板子重啟後就起不來了,網絡卡能啟動,能ping通,但ssh無法連線,串列埠的控制台也無法進入。本來以為可以進入到tf卡的作業系統,然後覆蓋一下mmc裡的檔案,結果刷了zimage_sd後,tf也無法進入。折騰了半天,最後使用fastboot方式重新刷的uboot、zimage,重新分割槽並解壓作業系統檔案才搞定。我還差點以為板子壞了,不過仔細想象,很可能是tf卡壞了,導致使用tf卡刷的uboot和zimage都是有問題的,我用fastboot在電腦上直接刷這兩個檔案應該是偶然的避開了tf的問題。現在板子已經重新刷寫,上面的控制系統也能正常啟動。

還有就是這次刷機風波中出現比較詭異的一件事,就是掛在驅動後,在/dev/下並沒有出現裝置節點,但驅動的probe函式等都已經正常執行,這個問題最終解決了,解決的方法會在後續文章中詳解。

iTop4412 裸機開發 LED

平台 itop4412 scp 2g 開發板有兩個可控制的led燈 分別接到引腳 kp col0和vdd50 en kp col0就是gpl2 0 vdd50 en就是gpk1 1 配置gpx con對應位為輸出功能,設定gpx dat相應管腳輸出為1,就可以點亮led燈了。實現 如下 原始碼1 s...

iTOP 4412開發板LCD的螢幕驅動

開發板 lcd 的螢幕驅動,itop 4412 開發板支援 4.3 寸,7 寸,9.7 寸的 lcd 顯示屏。其中 4.3 寸屏是用的 cpu 直接出來的 rgb 訊號,7 寸屏和 9.7 寸屏是用的 lvds 訊號,硬體 上 使 用 了 一 個 rgb 轉 lvds 的 芯 片 實 現 的 我 們...

迅為iTOP 4412開發板精英版

核心板引數 核心板尺寸 60mm 70mm 高度 連同聯結器在內2.6mm cpu exynos4412,四核cortex a9,主頻為1.4ghz 1.6ghz 記憶體 1gb 雙通道 ddr3 2gb可選 儲存 4gb emmc 16gb可選 電源管理 低功耗動態三星s5m8767電源管理,最優...