marvell万兆交换机内核编译总结
Marvell 98DX3236 萬兆交換機 內核編譯過程小結
0.條件
(1)Marvell技術支持提供的壓縮文件:
GNU EABI:
arm-mv5sft-linux-gnueabi_SW3.2.tar.bz2.tar.bz2
armebv7-marvell-linux-gnueabi-softfp_i686_201201.tar.bz2
CPSS代碼:
Cpss-PP-DxCh-4.2_012.zip
Linux內核文件:
lsp-4.2_012.zip
LSP-Unified.zip
LuaCLI:
luaCli-4.2_012.zip
LuaSuite-4.2_012.zip
其它:
EnablerSuite-4.2_012.zip
ExtUtils-4.2_012.zip
GaltisSuite-4.2_012.zip
ReferenceCode-4.2_012.zip
Simulation-4.2_012.zip
UT-4.2_012.zip
(2)Busybox壓縮包:
busybox-1.01.tar.bz2
busybox-1.25.0.tar.bz2
(3)工作站操作系統:Ubuntu14.10,32位
(4)編譯時工作目錄:~/work
1.安裝交叉編譯環境
(1)復制GNU壓縮包arm-mv5sft-linux-gnueabi_SW3.2.tar.bz2.tar.bz2和
armebv7-marvell-linux-gnueabi-softfp_i686_201201.tar.bz2到~/work目錄下;
(2)解壓縮:
# tar -xjf arm-mv5sft-linux-gnueabi_SW3.2.tar.bz2.tar.bz2 # tar -xjf armebv7-marvell-linux-gnueabi-softfp_i686_201201.tar.bz2(3)確認系統已經安裝了以下程序:
make bc mtd-utils(4)添加交叉編譯工具鏈的路徑
# gedit ~/.bashrc在文檔末尾插入以下內容,最后保存并退出:
PATH=$PATH:/home/user/work/Marvell_toolchain_201201/armv7-marvell-linux-gnueabi-softfp_i686/bin PATH=$PATH:/home/user/work/arm-mv5sft-linux-gnueabi_SW3.2/bin(注意:user為開發者名稱,需要修改為自己的用戶名!)
2.編譯內核
(1)在終端中以user(普通用戶)的身份登錄;
(2)跳轉到~/work目錄下
# cd ~/work(3)創建linux子目錄,并修改work目錄權限
# mkdir linux # sudo chown -R user ~/work(4)解壓縮CPSS代碼
# cd ~/work # unzip Cpss-PP-DxCh-4.2_012.zip # chmod +x build_cpss.sh(5)打開調試信息開關
# export DEBUG_INFO=D_ON(6)復制以下文件到work目錄下:
lsp-4.2_012.zip
LSP-Unified.zip
luaCli-4.2_012.zip
LuaSuite-4.2_012.zip
EnablerSuite-4.2_012.zip
ExtUtils-4.2_012.zip
GaltisSuite-4.2_012.zip
ReferenceCode-4.2_012.zip
Simulation-4.2_012.zip
UT-4.2_012.zip
(7)復制兩個busybox壓縮文件到~/work/linux目錄下
(8)編譯內核文件
# cd ~/work # ./build_cpss.sh MSYS DX_ALL UNZIP注意:第一次使用build_cpss.sh腳本程序時,要使用UNZIP參數,之后UNZIP需要改為CUST!
命令中,MSYS為CPU型號,DX_ALL為包處理器型號。
主要問題:
1)CPU型號
解決思路:
98DX3236為XCAT3系列CPU,當使用命令“./build_cpss.sh XCAT DX_ALL UNZIP”編譯時,終端會報錯并提示需要在linux目錄下放置對應版本的內核文件。通過嘗試發現,當CPU型號使用MSYS時,不會出現類似報錯信息。
2)提示缺少文件“simulation/_Makefile”
解決思路:解壓縮Simulation-4.2_012.zip,并將simulation文件夾剪切至~/work/cpss目錄下。
3)busybox1.25.0設置問題
克服以上問題后,會出現以下報錯提示:
解決思路是:
首先將終端目錄切換至busybox-1.25.0:
# cd ~/work/linux/MSYS/msys_lsp_3_4/linux-3.4.69/rootfs/busybox-1.25.0接著配置一下busybox:
# make menuconfig在彈出的對話框中去掉Coreutils—>sync的選項,接著保存退出,
再將~/work/linux目錄下的busybox1.25.0.tar.bz2剪切至其它子目錄中,最后執行下方命令:
(再次編譯內核時,請使用# ./build_cpss.sh MSYS DX_ALLCUST)
3.燒寫內核
編譯成功后,在目錄~/work/compilation_root下會生成內核文件:
ubifs_arm_256eb_nand_v2_5.image和ubifs_arm_512eb_nand.image,
98DX3236開發板對應的內核文件是ubifs_arm_512eb_nand.image。
【轉】 https://blog.csdn.net/snaking616/article/details/78207861?utm_source=blogxgwz0
總結
以上是生活随笔為你收集整理的marvell万兆交换机内核编译总结的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Kafka源码分析10:副本状态机Rep
- 下一篇: java replica set_K8s