日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

marvell万兆交换机内核编译总结

發布時間:2024/3/7 编程问答 34 豆豆
生活随笔 收集整理的這篇文章主要介紹了 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設置問題
克服以上問題后,會出現以下報錯提示:

coreutils/lib.a(sync.o): In function `sync_main': sync.c:(.text.sync_main+0x7c): undefined reference to `syncfs' collect2: ld returned 1 exit status Note: if build needs additional libraries, put them in CONFIG_EXTRA_LDLIBS. Example: CONFIG_EXTRA_LDLIBS="pthread dl tirpc audit pam" Makefile:717: recipe for target 'busybox_unstripped' failed make: *** [busybox_unstripped] Error 1

解決思路是:

首先將終端目錄切換至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_ALL UNZIP

(再次編譯內核時,請使用# ./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万兆交换机内核编译总结的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。