※ 本文為 zbali.bbs. 轉寄自 ptt.cc 更新時間: 2012-10-04 03:31:07
看板 Modchip
作者 cassine (Savannah)
標題 [心得] 網樂通編譯環境
時間 Thu Mar 10 11:18:12 2011


前言:
  網樂通PK7105的架構不賴,但很可惜內建的程式套件少得可憐所以要跑自己想
  要的程式,例如 FTP伺服器、HTTP伺服器都要自己抓原始碼移植,這個移植的
  動作需要建立Cross-Compile 環境,然而官方網站上的資訊有點過時所以按照
  網站上的說明很可能還是會遇到錯誤,我把整個架設環境的流程寫一下,避免
  有需要的人不小心走了冤枉路浪費時間。


事前準備:
  首先需要一個標準的 Linux環境,在 Linux環境裡面套件管理分兩大陣營,分
  別是Debian的dpkg/apt-get與RedHat的rpm/yum ,網樂通裡面跑的STLinux 屬
  於後者,而很多無線AP裡面跟JB過的iPhone裡面則是跑前者。


  當然選擇原生支援rpm/yum 的 Linux系統如RedHat或是Fedora會簡單一點,但
  其實選擇Debian或Ubuntu也只多一兩個步驟而已,個人兩種平台都試過了,最
  後還是決定用熟悉的Ubuntu 10.10 AMD64。cygwin應該不行,裡面只有rpm 沒
  有yum ,而且缺很多東西,所以放棄。


  再來是情況你要準備帶有DHCP伺服器的網路環境,為了避免弄壞最好也準備一
  下USB2TTL 傳輸線,拿CA-42 傳輸線來改是最簡單的。

環境設定:
  http://www.stlinux.com/faq?q=node/361
  先跑完Ubuntu所有的更新然後啟動終端機程式輸入指令

    host% sudo apt-get install bash

  這個應該會回說已經最新版了,所以沒有安裝任何東西

    host% sudo dpkg-reconfigure dash

  這個選擇「否/No 」就好

    host% sudo apt-get install rpm yum

  系統會自動把那兩個程式裝好

  網樂通是用STLinux-2.3 ,儘管2.4 也已經發布,還是先裝2.3 。

    host% wget http://www.stlinux.com/sites/default/files/
          stlinux23-host-STLinux_deps-0.1-5.i386.rpm  (請貼成一行)

    host% sudo rpm -ivh --force-debian
          stlinux23-host-STLinux_deps-0.1-5.i386.rpm  (請貼成一行)

  rpm 會抱怨說不應該這樣用的,你要用alien 才對,不用理它

  裝好之後去下載新版的install script,光碟裡面附的不相容python-2.6,
  所以得抓新版。

    ftp://ftp.stlinux.com/pub/stlinux/2.3/install

  下載下來請把 install檔案打開,用文字編輯器改兩個地方:

    第 356列 "yum-wavefront-3.2.24-1.i386" 換成 "yum-wavefront-3.2.24-3.i386"

    第 358列 yum-2.6.1-17.i386 換成 "yum-2.6.1-19.i386" (加上雙引號並改19)

  然後存檔離開,並將檔案屬性設定成「允許作為程式執行」。

安裝STLinux :
  進到終端機存放install 檔案的目錄,然後輸入指令

    host% sudo ./install --debian all-sh4-glibc

  都沒錯誤訊息的話應該會下載 664個套件802 MB大小的檔案,等它跑完吧。

  跑完後切到 /opt/STM/STLinux-2.3/host/bin目錄,輸入指令

    host% sudo ./stmyum update

  之後會自動將現有的套件再做更新。

設定PATH路徑:
  必須要將編譯器的路徑設好,如此make指令才抓的到,編譯器的路徑在

    /opt/STM/STLinux-2.3/devkit/sh4/bin

  請添加到~/.bashrc 檔案的PATH變數中,然後重新啟動終端機,直接輸入

   host% sh4-linux-gcc

  如果回應說「 sh4-linux-gcc: 沒有輸入檔案」的話代表路徑設置成功。到此
  為止已經可以開始編譯核心了。

--

    ____  _  _  _  _  ____  _  _  ____  _____  ____
 (_  _)( \( )( \/ )( ___)( \( )(_  _)(  _  )(  _ \
    _)(_  )  (  \  /  )__)  )  (   )(   )(_)(  )   /  
     (____)(_)\_)  \/  (____)(_)\_) (__) (_____)(_)\_)   
                                                           

--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.120.31.137
satou20444:c大也參一腳了 (?)1F 114.38.233.190 台灣 03/10 11:19
※ 編輯: cassine         來自: 140.120.31.137       (03/10 11:27)
rexct:也可以到 /usr/bin 把python指向 python2.52F 114.33.168.171 台灣 03/10 12:30
cassine:樓上說得對,但Ubuntu 10.10我找不到3F 140.120.31.137 台灣 03/10 12:36
cassine:python-2.5的安裝套件,所以就沒用這招了
cassine:肥佬黎放出的核心比STLinux給的要舊,看來
cassine:應該要直接編官方的核心比較好,至少驅動
cassine:程式有多一些。
showbbs:MOD比較有改的價值 試試看....>)|)m8F 220.137.146.209 台灣 03/10 19:56
cassine:沒申請MOD啊9F 122.117.54.160 台灣 03/10 20:31

--
※ 看板: ott 文章推薦值: 0 目前人氣: 0 累積人氣: 1082 
※ 本文也出現在看板: npc
分享網址: 複製 已複製
guest
x)推文 r)回覆 e)編輯 d)刪除 M)收藏 ^x)轉錄 同主題: =)首篇 [)上篇 ])下篇