[網樂通] Ubuntu安裝交叉編譯(Cross Compile)環境,使用電腦編譯網樂通可執行的程式

 

忍不住所以就又開始摸網樂通了(淚),最近為了讓網樂通XBMC放影片時受到網路線的束縛,所以就請教了許多大大要如何達到這個目標~!

======
2021/08/08 更新

聽說 STLinux 網站可能快消失了,先包起來放…
直接 docker run 就可以用了
======

其實可以直接在網樂通上面編譯的,不過因為它那杯具般的效能….所以還是用電腦來跑比較快,幸好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~然後輸入
root@ubuntu:~# ifconfig<br /> eth0 Link encap:Ethernet HWaddr 08:00:27:29:68:9b<br /> inet <span style="color: #ff0000;">addr:10.0.2.15</span> Bcast:10.0.2.255 Mask:255.255.255.0<br /> inet6 addr: fe80::a00:27ff:fe29:689b/64 Scope:Link<br /> UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1<br /> RX packets:80 errors:0 dropped:0 overruns:0 frame:0<br /> TX packets:69 errors:0 dropped:0 overruns:0 carrier:0<br /> collisions:0 txqueuelen:1000<br /> RX bytes:9227 (9.2 KB) TX bytes:11967 (11.9 KB)<br /> ==========略==========<br /> root@ubuntu:~#

註:為什麼是root帳號呢?因為懶的打sudo… 如果你也跟我一樣懶的話也可以替root設密碼
<code>nextvod@ubuntu:~$ sudo passwd root #替root設定密碼<br /> [sudo] password for nextvod: #輸入你目前帳號的密碼,都不會顯示<br /> Enter new UNIX password: #輸入root的密碼<br /> Retype new UNIX password: #再一次<br /> passwd: password updated successfully<br /> nextvod@ubuntu:~$ su #進入root<br /> Password: #輸入岡設定的root密碼<br /> root@ubuntu:/home/nextvod# cd #回到root家目錄<br /> root@ubuntu:~# 
 

 

 

看到了嗎?「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

登入成功

 

安裝前先更新套件庫
root@ubuntu:~# apt-get update

參考stlinux官方安裝教學,先安裝bash
root@ubuntu:~# apt-get install bash

安裝完成後,設定把預設 shell 改成 bash
root@ubuntu:~# dpkg-reconfigure dash#會跳出一個畫面請選no

 

再安裝rpm
root@ubuntu:~# apt-get install rpm 

安裝一下必備的程式
root@ubuntu:~# apt-get install python-urlgrabber python-rpm python-sqlitecachec

 

這裡選擇安裝STLinux 2.4 因為現在(201407)都是用這個版本了XD

先在家目錄隨便建個資料夾(mkdir),進入(cd)之後再下載最新版的rpm
root@ubuntu:~# mkdir stlinux #隨便取<br /> root@ubuntu:~# cd stlinux #進去這個資料夾<br /> root@ubuntu:~/stlinux# wget http://download.stlinux.com/pub/stlinux/2.4/misc/stlinux24-host-STLinux_deps-20140120-1.i386.rpm #下載最新版的STLinux 2.4 rpm<br /> root@ubuntu:~/stlinux# rpm -ivh stlinux24-host-STLinux_deps-20140120-1.i386.rpm #安裝

再來下載自動安裝檔案!
root@ubuntu:~/stlinux# wget http://download.stlinux.com/pub/stlinux/2.4/install

直接執行install可能會權限不足,所以先設定一下檔案權限
root@ubuntu:~/stlinux# chmod +x install

開始安裝
./install -d all-sh4-glibc

 

 

(茶

====有939個檔案,大概有1.2GB,休息一下====

 

慢慢來

 

 

====終於裝好了====

 

終於..

進入stlinux的資料夾,更新一下裡面的檔案,如果有出現 y/N的話就選y
root@ubuntu:~# cd /opt/STM/STLinux-2.4/host/bin/<br /> root@ubuntu:/opt/STM/STLinux-2.4/host/bin# ./stmyum update

建立 Cross-Compile 指令的 PATH,就可以不用輸入絕對路徑了
root@ubuntu:~# <a title="鳥哥的 Linux 私房菜 -- vim 程式編輯器" href="http://linux.vbird.org/linux_basic/0310vi.php" target="_blank" rel="noopener">vi</a> ~/.profile #編輯~/.profile

加入以下內容後存檔
# for STLinux Cross-Compile<br /> export PATH="$PATH:/opt/STM/STLinux-2.4/devkit/sh4/bin"

輸入. ~/.profile有以下結果才算成功喔!
root@ubuntu:~# . ~/.profile #<span style="color: #ff0000;">「.」和「~/.profile」之間有一個空格</span><br /> root@ubuntu:~# sh4-linux-gcc<br /> sh4-linux-gcc: fatal error: no input files<br /> compilation terminated.<br />
大功告成!完成Cross Compile環境架設!

 

但是….我的網卡驅動模組還是編不起來…,請教前輩後才知道,因為這晶片的的年紀太老了…硬要編的話會很麻煩,只好放棄他了。不過也因為這樣才學會了模組、kernel編譯,昨天成功在XBMC上面開機了XDDDD,Linux真的還蠻有趣的XD

 

 

參考網站
Installing STLinux on Ubuntu | STLinux
安裝 STLinux Cross-Compile Enviroment(交叉編譯環境) 至 Ubuntu – OSSLab

See also

comments powered by Disqus