2013-06-27

BeagleBone on OSX Mountain Lion

依照官方提供的 Getting Started 步驟來執行的結果就是卡在 Step3,... 無法 Launch USB-to-Ethernet interface 因此沒辦法開啟 http://192.168.7.2 的網頁 (使用的 BeagleBone 版本是 A6a)。
底下是更詳細的步驟:
  1. 安裝 Driver : FTDI USB to serial。
  2. 將 BeagleBorad 接上 mac,此時在 Finder 會看到一個 BEAGLE_BONE 的 USB Disk,然後 Eject 這個 Disk。 
  3. 此時 System Preferences 的 Network 裡應該會自動多出 interface : RNDIS/Ethernet Gadget,如圖所示 :
    左方有 RNDIS/Ethernet Gadget

  4. 若沒發現 RNDIS/Ethernet Gadget 的話是正常的,因為我的 Mountain Lion 也沒有。
  5. 開啟 Terminal,輸入  screen `ls /dev/{tty.usb*B,beaglebone-serial}` 115200
  6. Terminal 全黑之後再按下 Enter,出現 Login 畫面,如圖所示 :
    登入頁面

  7. 輸入 root 後登入,再輸入 systemctl start network-gadget-init.service
  8. 完成!RNDIS/Ethernet Gadget 出現!
  9. 開啟瀏覽器並輸入 http://192.168.7.2
在 BeagleBone 內建的作業系統上編譯新版 node.js :
  1. 執行 opkg install python python-compiler python-modules python-distutils python-misc
  2. 執行 opkg install openssl openssl-dev
  3. 使用 wget 下載新版 nodejs 然後使用 tar xf 解壓縮之
  4. 修改檔案 deps/v8/SConstruct 內的 :
    'CCFLAGS' : ['$DIALECTFLAGS', '$WARNINGFLAGS'],
    
    'CCFLAGS' : ['$DIALECTFLAGS', '$WARNINGFLAGS', '-march=armv7-a'],
    
  5. 執行 export CC='gcc -march=armv7-a -mtune=cortex-a8'
  6. 執行 export CXX='g++ -march=armv7-a -mtune=cortex-a8'
  7. 執行 ./configure
  8. 執行 make
ps.
1. Eject USB Disk 的指令是 systemctl stop storage-gadget-init.service
2. 在 OSX 上設定好 Internet Sharing 之後鍵入 udhcpc -i usb0 則可透過 OSX 連結上 Internet
3. 資料參考來源 https://groups.google.com/forum/#!topic/beagleboard/gKQtFpdpB6k
4. 資料參考來源 http://brachestudios.com/2012/03/13/installing-the-latest-version-of-node-js-on-the-beaglebone/
5. 資料參考來源 http://fastr.github.io/articles/Node.js-on-OpenEmbedded.html