超簡潔的群暉交叉編譯教程

2021-10-08 16:01:20 字數 2289 閱讀 3410

最近把乙個群暉的nas放在校園網裡的時候遇到了銳捷認證的問題,找了一下沒有現成的程式可以拿來用,然後自己交叉編譯乙個mentohust來用。

# uname -a

linux my-nas 3.10.105 #25426 smp wed jul 8 03:19:42 cst 2020 x86_64 gnu/linux synology_broadwell_rs3618xs

# wget 

# tar -jvxf broadwell-gcc493_glibc220_linaro_x86_64-gpl.txz

# cd x86_64-pc-linux-gnu/bin

# ls

x86_64-pc-linux-gnu-addr2line x86_64-pc-linux-gnu-cc x86_64-pc-linux-gnu-elfedit x86_64-pc-linux-gnu-gcc-ar x86_64-pc-linux-gnu-gprof x86_64-pc-linux-gnu-nm x86_64-pc-linux-gnu-ranlib x86_64-pc-linux-gnu-strip

x86_64-pc-linux-gnu-ar x86_64-pc-linux-gnu-c++filt x86_64-pc-linux-gnu-g++ x86_64-pc-linux-gnu-gcc-nm x86_64-pc-linux-gnu-ld x86_64-pc-linux-gnu-objcopy x86_64-pc-linux-gnu-readelf

x86_64-pc-linux-gnu-as x86_64-pc-linux-gnu-cpp x86_64-pc-linux-gnu-gcc x86_64-pc-linux-gnu-gcc-ranlib x86_64-pc-linux-gnu-ld.bfd x86_64-pc-linux-gnu-objdump x86_64-pc-linux-gnu-size

x86_64-pc-linux-gnu-c++ x86_64-pc-linux-gnu-ct-ng.config x86_64-pc-linux-gnu-gcc-4.9.3 x86_64-pc-linux-gnu-gcov x86_64-pc-linux-gnu-ldd x86_64-pc-linux-gnu-populate x86_64-pc-linux-gnu-strings

可以看到gcc相關的可執行程式,這時候可以驗證一下下的程式對不對,執行乙個試試。

然後把bin目錄新增到path讓系統能夠找到你的工具鏈

# export path=$path:你的工具包的目錄/x86_64-pc-linux-gnu/bin

這樣基本環境就弄好了,剩下的就是編譯你需要的程式。

# apt-get install autoconf automake libtool
帶引數執行configure生成makefile

# ./configure --host=x86_64-pc-linux-gnu [這裡可能還有你的程式的其他配置引數]
其中host就是目標機器平台了,這個對應著工具鏈bin目錄下檔案共有的字首,比如前面ls命令輸出的那些gcc之類的,x86_64-pc-linux-gnu是它們的字首。

configure不出錯的話下一步就是執行make進行編譯,編譯的輸出自己去找一下。有些也可以在configure裡設定安裝目錄,然後make完再make install就會安裝到設定的目錄了。

編譯**現的其他問題,請在google\stackoverflow\github的issues裡面找解決辦法。

完工

更新

# make cross_compile=x86_64-pc-linux-gnu
或者在你的makefile裡面新增,不熟,自己去查。

或者更簡單的要直接編譯原始檔:

# x86_64-pc-linux-gcc main.c
另外,如果目標平台儲存空間有限,需要壓縮編譯出的可執行檔案的的大小的話,用x86_64-pc-linux-gnu-strip:

這玩意在嵌入式的交叉編譯中有奇效。

群暉登入位址 開啟群暉系統的root許可權

在控制面板中開啟ssh 開啟瀏覽器,輸入群暉web管理位址,登入群暉之後開啟控制面板。從控制面板中開啟終端機和snmp介面,在終端機選項卡中,啟動ssh功能。群暉的ssh功能每次重啟nas後會自動關閉,如果以前開啟了但是重啟過nas仍然需要再開啟一次 用ssh連線nas 然後將會開啟乙個終端視窗,熟...

量子互聯 群暉NAS的遠端對映配置

使用者訪問量子互聯控制台 註冊帳號並登入。控制台後台隧道列表右上角選擇開通隧道,進入開通隧道設定頁面 群暉預設http管理埠5000,https管理埠5001,這裡以5000埠為例 在控制台開通隧道,內網ip 127.0.0.1,內網埠 5000 s1.nsloop.com 13210為對映後的公網...

用crosstool ng構建自己的交叉編譯工具鏈

交叉編譯器是編譯器的一種,它執行在一種平台下卻生成另一種平台執行的二進位制檔案。當前構建交叉編譯器的方法有很多,這裡介紹一種方便快捷的方式 使用crosstool ng 1.從crosstool ng cd crosstool ng 1.21.0 3.執行編譯三步曲 configure prefix...