迅爲龍芯2K1000開發板系統編譯-編譯PMON

在第六部分,我們講解了如何給開發板燒寫系統,比如講系統燒寫到 U 盤,燒寫當固態等,那麼我們使用的這些鏡像是如何來的呢,在一部分會一一給大家揭曉。
7.1 編譯 PMON
龍芯 2K1000 的 bootloader 目前支持 pmon 和 uboot,但是截止到本開發板教程編寫的時間點,官方只提供了 pmon 的 bsp 源碼,uboot 的資料並未對外開放,所以 2k1000 開發板的 bootloader 使用的 pmon。本節我們來講解一下 pmon 的編譯。
7.1.1 安裝庫文件
7.1.1.1 安裝 bison
我們在 Ubuntu 的終端命令窗口輸入“sudo apt-get install bison”安裝 bison 庫,如下圖所示:

安裝完成如下圖:

7.1.1.2 安裝 flex
我們在 Ubuntu 的終端命令窗口輸入“sudo apt-get install flex”命令,安裝 flex 庫,如下圖所示:

安裝完成如下圖所示:

7.1.1.3 安裝 makedepand
我們在 Ubuntu 的終端命令窗口輸入“sudo apt-get install xutils-dev”命令,安裝 makedepand,安裝完成如下圖所示:

7.1.1.4 安裝 python
我們在 Ubuntu 的終端命令窗口輸入“sudo apt-get install python”命令,安裝 python,如下圖所示:

安裝完成如下圖所示:

7.1.2 安裝 pmon 交叉編譯器
編譯 pmon 使用的是“gcc-4.4-gnu.tar.gz”,可以在迅爲龍芯開發板資料中找到,位置:“LS2K1000 開發板資料\02_開發及燒寫工具”。我們將編譯器拷貝到 Ubuntu 的任意目錄下,如下圖所示:

然後我們輸入“sudo tar -xf gcc-4.4-gnu.tar.gz -C /”解壓命令,將交叉編譯器解壓到“/”目錄下,注意:解壓命令必須爲這個命令,目錄是保證腳本里面的交叉編譯器環境變量的路徑跟編譯器實際解壓的路徑一致。因爲我們在編譯的時候使用的是均爲絕對路徑並已經在編譯腳本中寫好,大家只要按照這個路徑解壓即可,也就不用給編譯器設置環境變量了。解壓完成後會在/opt 下得到解壓生成的編譯器文件夾,如下圖所示:

7.1.3 安裝 pmoncfg
如果我們的 Ubuntu 系統是第一次編譯 pmon,我們首先需要安裝 pmoncfg 命令(如果我們已經安裝過pmoncfg 可以跳過本小節),安裝 pmoncfg 的具體步驟如下:
首先將pmon源碼拷貝到Ubuntu的任意路徑下,pmon源碼包位置LS2K1000開發板資料\04_pmon&Linux內核源碼,拷貝完成後使用命令 tar -xf pmon-loongson3_20210525.tar.gz 解壓 pmon 源碼,pmon-loongson3文件夾即爲解壓得到的源碼,最後使用命令 cd pmon-loongson3/進入到 pmon 源碼目錄下,如下圖所示:

然後使用“cd tools/pmoncfg”命令,進入到 pmoncfg 的源碼目錄下,使用命令 make clean 清理之前編譯生成的文件,清理完成後執行 make 編譯 pmoncfg,如下圖所示:


我們輸入“ls”命令,可以看到在“pmoncfg”目錄下生成了“pmoncfg”文件,如下圖所示:

接着我們輸入“sudo cp pmoncfg /usr/bin/”,將“pmoncfg”文件拷貝到 Ubuntu 系統的“/usr/bin/”目錄下,運行結果如下圖所示:

至此,pmoncfg 的安裝就完成了。
7.1.4 編譯 pmon 源碼
34.1 到 33.4 準備工作做好以後,我們就可以編譯 pmon 了,首先我們需要進到 pmon 的源碼根目錄下,如下圖所示:

輸入“cd zloader.ls2k”命令,進入到“zloader.ls2k”目錄,如下圖所示:

然後輸入“./create.sh”命令,開始編譯 pmon,如下圖所示:

編譯成功如下圖所示:

create.sh 腳本文件裏面執行了三行代碼,如下:
1. export PATH=/opt/gcc-4.4-gnu/bin/PATH
2. make cfg all tgt=rom ARCH=mips CROSS_COMPILE=mipsel-linux- DEBUG=-g
3. make dtb
簡析:
export PATH=/opt/gcc-4.4-gnu/bin/PATH
設置交叉編譯器 gcc-4.4-gnu 的環境變量
make cfg all tgt=rom ARCH=mips CROSS_COMPILE=mipsel-linux- DEBUG=-g
解析:其中 cfg 爲使用默認的配置文件進行編譯,編譯目標爲 all,tgt=rom 爲編譯生成 gzrom.bin 文件
make dtb
編譯設備樹,生成的設備樹文件和 gzrom.bin 文件會合併成最終的 gzrom-dtb.bin編譯成功以後最終會在上一級“zloader”目錄下生成“gzrom-dtb.bin”鏡像文件(後面 pmon 鏡像燒寫章節將會用到該文件),如下圖所示:

至此,pmon 的編譯就完成了。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章