忍不住所以就又開始摸網樂通了(淚),最近為了讓網樂通XBMC放影片時受到網路線的束縛,所以就請教了許多大大要如何達到這個目標~!
======
2021/08/08 更新
其實可以直接在網樂通上面編譯的,不過因為它那杯具般的效能….所以還是用電腦來跑比較快,幸好stlinux(專為sh架構開發的linux)有提供完整的交叉編譯(Cross Compile)工具,當然就直接上啦~!建議~沒有Linux使用經驗的話就不要繼續下去了,因為會有滿滿的挫折感(O),不過會看這種文章的人應該不會有這個問題XDD

網樂通 紅米手機攝
首先呢~把這些軟體下載完~!
VirtualBox
請挑最新的!Ubuntu 12.04.4 Server 32位元
server版即可~桌面版只是多吃效能而已~!為什麼用12.04!?前輩推薦的,太新好像不太好!PieTTY
talnet & ssh軟體WinSCP
sftp~傳檔案很方便!
下載完了嗎?那就把ubuntu裝起來吧!安裝ubuntu server可以參考相關文章,安裝最後記得選OpenSSH嘿!這樣用SSH控制複製貼上比較方便~!

安裝完應該像這樣
再來呢~先登入你的ubuntu~然後輸入
[email protected]:~# ifconfig
eth0 Link encap:Ethernet HWaddr 08:00:27:29:68:9b
inet addr:10.0.2.15 Bcast:10.0.2.255 Mask:255.255.255.0
inet6 addr: fe80::a00:27ff:fe29:689b/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:80 errors:0 dropped:0 overruns:0 frame:0
TX packets:69 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:9227 (9.2 KB) TX bytes:11967 (11.9 KB)
==========略==========
[email protected]:~#
[email protected]:~$ sudo passwd root #替root設定密碼
[sudo] password for nextvod: #輸入你目前帳號的密碼,都不會顯示
Enter new UNIX password: #輸入root的密碼
Retype new UNIX password: #再一次
passwd: password updated successfully
[email protected]:~$ su #進入root
Password: #輸入岡設定的root密碼
[email protected]:/home/nextvod# cd #回到root家目錄
[email protected]:~#
看到了嗎?「addr:10.0.2.15」這個就是安裝在虛擬機的ubuntu裡面的虛擬IP,每個人應該都不一樣,把你顯示的位置記下來!
為了方便控制,設定一下vbox讓我們的電腦可以對虛擬機作SSH連線,把ubuntu關機後,來到「設定→網路→介面卡1→進階→連接埠轉送」,按下右上角的「+」,照這張圖片作設定,10.0.2.15 請記得不要照抄唷!!

右邊IP不要照抄!!
設定完成之後,使用Pietty作SSH連線即可登入ubuntu,用SSH的好處就是複製貼上很方便啦XDD

127.0.0.1:3022

登入成功
安裝前先更新套件庫
[email protected]:~# apt-get update
參考stlinux官方安裝教學,先安裝bash
[email protected]:~# apt-get install bash
安裝完成後,設定把預設 shell 改成 bash
[email protected]:~# dpkg-reconfigure dash#會跳出一個畫面請選no
再安裝rpm
[email protected]:~# apt-get install rpm
安裝一下必備的程式
[email protected]:~# apt-get install python-urlgrabber python-rpm python-sqlitecachec
這裡選擇安裝STLinux 2.4 因為現在(201407)都是用這個版本了XD
先在家目錄隨便建個資料夾(mkdir),進入(cd)之後再下載最新版的rpm
[email protected]:~# mkdir stlinux #隨便取
[email protected]:~# cd stlinux #進去這個資料夾
[email protected]:~/stlinux# wget http://download.stlinux.com/pub/stlinux/2.4/misc/stlinux24-host-STLinux_deps-20140120-1.i386.rpm #下載最新版的STLinux 2.4 rpm
[email protected]:~/stlinux# rpm -ivh stlinux24-host-STLinux_deps-20140120-1.i386.rpm #安裝
再來下載自動安裝檔案!
[email protected]:~/stlinux# wget http://download.stlinux.com/pub/stlinux/2.4/install
直接執行install可能會權限不足,所以先設定一下檔案權限
[email protected]:~/stlinux# chmod +x install
開始安裝
./install -d all-sh4-glibc
(茶
====有939個檔案,大概有1.2GB,休息一下====

慢慢來
====終於裝好了====

終於..
進入stlinux的資料夾,更新一下裡面的檔案,如果有出現 y/N
的話就選y
吧
[email protected]:~# cd /opt/STM/STLinux-2.4/host/bin/
[email protected]:/opt/STM/STLinux-2.4/host/bin# ./stmyum update
建立 Cross-Compile 指令的 PATH,就可以不用輸入絕對路徑了
[email protected]:~# vi ~/.profile #編輯~/.profile
加入以下內容後存檔
# for STLinux Cross-Compile
export PATH="$PATH:/opt/STM/STLinux-2.4/devkit/sh4/bin"
輸入. ~/.profile有以下結果才算成功喔!
[email protected]:~# . ~/.profile #「.」和「~/.profile」之間有一個空格
[email protected]:~# sh4-linux-gcc
sh4-linux-gcc: fatal error: no input files
compilation terminated.
大功告成!完成Cross Compile環境架設!
但是….我的網卡驅動模組還是編不起來…,請教前輩後才知道,因為這晶片的的年紀太老了…硬要編的話會很麻煩,只好放棄他了。不過也因為這樣才學會了模組、kernel編譯,昨天成功在XBMC上面開機了XDDDD,Linux真的還蠻有趣的XD
參考網站 Installing STLinux on Ubuntu | STLinux
安裝 STLinux Cross-Compile Enviroment(交叉編譯環境) 至 Ubuntu – OSSLab
請問在2018年要怎麼編譯網樂通程式?XDD
好多檔案都不能用QAQ
怎麼找到舊版Debian/Ubuntu來裝就不提了…2017以後STLinux進入封存狀態,網址改到archive.stlinux.com。所以要修改文內提到的檔案下載網址↓
http://archive.stlinux.com/stlinux/2.4/misc/stlinux24-host-STLinux_deps-20150225-1.i386.rpm
然後還要手工編輯安裝用script↓
http://archive.stlinux.com/stlinux/2.4/install
把裡面的下載網址改到archive.stlinux.com的對應目錄下。這樣就可以裝了…環境整備好後記得把VM留存備份,不然哪天連archive.stlinux.com都倒站就真的沒救。
感謝分享,在您的提醒後,順勢把整個包成 Container 了,Dockerfile 如下: https://github.com/fuyuanli/NextVOD-STLinux2.4-sh4-Cross-Compiler-Environment
目前正 push 到 Dockerhub,傳完再來更新文章。
膜拜….
沒什麼啦XDDDDDDD