當初買 Cubieboard2 的目的就是為了玩 Embedded Linux,但買來後一直沒時間玩,最多在 Micro SD 卡上安裝官方提供的 OS Image,我安裝了 linaro-trusty-server-14.04-v1.0.tar.gz ,然後在上面架設 Apache + PHP + Postgresql,把我的網頁放上去,但 Cubieboard2 的效能有點慢,似乎不是很合用! 最近又買了 Cubieboard4,所以就把 Web 移到 Cubieboard4 上,而 Cubieboard2 就拿來玩 Embedded Linux。
# 開頭表示使用 root 執行
$ 開頭表示使用一般帳號執行
1.設定建置環境
我是在 Windows 上用虛擬機安裝 Ubuntu 12.04 當做建置環境, 虛擬機我是建議使用 VMware Player,因為它對 USB 的支援比較好,而 VirtualBox 我搞了很久USB 裝置還是認不到。
2.更新軟體
# apt-get update && apt-get upgrade
3.安裝建置所需軟體
# apt-get install build-essential u-boot-tools uboot-mkimage build-essential u-boot-tools uboot-mkimage gcc-arm-linux-gnueabihf gcc-arm-linux-gnueabi libusb-1.0-0 libusb-1.0-0-dev git wget fakeroot kernel-package zlib1g-dev libncurses5-dev
4.建立工作目錄
$ mkdir workspace
$ cd workspace
$ mkdir cb2
$ cd cb2
5.下載平台工具
$ git clone https://github.com/cubieboard/linux-sdk-card-tools.git tools
$ cd tools/sunxi-tools
$ make
$ sudo cp fex2bin bin2fex /usr/bin
$ cd ..
6.下載 U-boot 及 Root Filesystem
$ git clone https://github.com/cubieboard/linux-sdk-binaries.git binaries
$ cd binaries
$ wget http://dl.cubieboard.org/model/commom/linux-sdk-binaries/u-boot-a20.tar.gz
$ tar -zxvf u-boot-a20.tar.gz
$ wget http://dl.cubieboard.org/model/commom/linux-sdk-binaries/linaro-trusty-server-14.04-v1.0.tar.gz
$ cd ..
7.下載平台設定
$ git clone https://github.com/cubieboard/linux-sdk-card-products.git products
P.S. 不知是 script 有問題,還是那裏步驟錯誤,要修改 products/cb2/cb2-linaro-server/configs/tsd/uEnv-mmc.txt 中的 root=/dev/mmcblk1p2 為 root=/dev/mmcblk0p2,否則建置完成的 Micro SD 會卡在 "Waiting for root devices /dev/mmcblk1p2"
8.下載核心
$ git clone https://github.com/cubieboard/linux-sunxi.git linux-sunxi
$ cd linux-sunxi
$ git checkout -b cb2-sunxi-3.4 origin/cb2/sunxi-3.4
$ cd ..
9.建置
$ source tools/scripts/envsetup.sh
$ cb_build_card_image
$ cb_part_install_tfcard tsd sdb pack
$ cb_install_tfcard tsd sdb pack
P.S.
a.sdb 為你的 Micro SD 的裝置
b.建置的結果會在 output/cb2/cb2-linaro-server 目錄下,並寫入你的 Micro SD 上。