摘要
香蕉派Banana Pi是一塊搭載ARM Cortex-A7雙核心處理器的單板電腦(single board computer),具備發光二極體、按鈕、和UART(Universal Asynchronous Receiver/Transmitter)等週邊介面,並且具備SD卡儲存介面,將5伏特直流電源灌入安裝完作業系統之香蕉派的micro USB接頭即可啟動之。我在這裏將會簡述安裝、裝配、和以簡潔的TUI(Text-based User Interface)來認識香蕉派的各個程序。材料
香蕉派×1、SD卡×1、micro USB接頭之5伏特電源變壓器×1、及USB轉UART的轉接板×1。安裝
在安裝作業系統的這個程序裏,我需要把一塊容量充份的SD卡予以格式化、並且寫入預先編譯完畢的作業系統映像檔。我選用的SD卡容量為8GB;由於我的開發主機(development host)是Windows 7,所以SD卡的格式化軟體選用的是SD Formatter,同樣的理由,SD卡映像檔寫入軟體選用的是Win32 Disk Imager。至於作業系統映像檔,我則選用了Cubieboard for Banana Pi版的Linux。將SD卡插入開發主機的SD卡插槽,接著用SD Formatter予以格式化,再接著用Win32 Disk Imager來把解壓縮完畢的映像檔寫入該SD卡,寫入完畢後便可退出SD卡。
裝配
裝配程序包含了(1)把TUI所需的UART介面轉接至開發主機、(2)把安裝完作業系統的SD卡插入插槽、及(3)把直流電源變壓器插到micro USB接頭。我的香蕉派的裝配照片如下所示。值得注意的是我的開發主機用來跟香蕉派連接的介面為USB轉UART的轉接板,該轉接板的介面晶片為PL2303,這類轉接板很容易在各大購物網站購得、而驅動程式亦支援Windows 7;至於我使用的電源變壓器則是手機Nokia Lumia 525的電源變壓器。
以TUI操縱
欲以TUI操縱香蕉派,我的開發主機需要一個終端機軟體;在此,我選用Windows 7版的PuTTY。確認了USB轉UART的轉接板被列舉為哪一個序列埠後,便將PuTTY設定至該埠、且鮑率設定為115200bps,再把直流電源插上香蕉派,便可以見到黑底白字的終端機畫面了。
- 認識處理器
Processor : ARMv7 Processor rev 4 (v7l)
processor : 0
BogoMIPS : 119.70
processor : 1
BogoMIPS : 119.70
Features : swp half thumb fastmult vfp edsp neon vfpv3 tls vfpv4 idiva idivt
CPU implementer : 0x41
CPU architecture: 7
CPU variant : 0x0
CPU part : 0xc07
CPU revision : 4
Hardware : sun7i
Revision : 0000
Serial : 0000000000000000
鍵入cat /proc/cpuinfo指令即可查閱香蕉派的處理器資訊,由TUI印出的內容可以得知,香蕉派的處理器族系為ARMv7 Processor rev 4、並且具備編號0和1等兩個處理器。
- 認識記憶體
MemTotal: 929112 kB
MemFree: 816780 kB
Buffers: 10912 kB
Cached: 37860 kB
SwapCached: 0 kB
Active: 30488 kB
Inactive: 35500 kB
Active(anon): 21952 kB
Inactive(anon): 128 kB
Active(file): 8536 kB
Inactive(file): 35372 kB
Unevictable: 30072 kB
Mlocked: 30080 kB
HighTotal: 270336 kB
HighFree: 184776 kB
LowTotal: 658776 kB
LowFree: 632004 kB
SwapTotal: 0 kB
SwapFree: 0 kB
Dirty: 0 kB
Writeback: 0 kB
AnonPages: 47380 kB
Mapped: 16500 kB
Shmem: 176 kB
Slab: 8668 kB
SReclaimable: 3000 kB
SUnreclaim: 5668 kB
KernelStack: 1248 kB
PageTables: 900 kB
NFS_Unstable: 0 kB
Bounce: 0 kB
WritebackTmp: 0 kB
CommitLimit: 464556 kB
Committed_AS: 181852 kB
VmallocTotal: 245760 kB
VmallocUsed: 11640 kB
VmallocChunk: 212928 kB
root@cubieboard2:~# free
total used free shared buffers cached
Mem: 929112 117984 811128 0 13400 39812
-/+ buffers/cache: 64772 864340
Swap: 0 0 0
鍵入cat /proc/meminfo指令即可查閱香蕉派的記憶體資訊,由TUI印出的內容可以得知,香蕉派的系統可用的記憶體容量為929112kB;使用free指令亦可得知記憶體的使用情形。
- 認識儲存分割
major minor #blocks name
179 0 7761920 mmcblk0
179 1 12288 mmcblk0p1
179 2 3858944 mmcblk0p2
root@cubieboard2:~# ls -al /dev/mmcblk0 /dev/mmcblk0p1 /dev/mmcblk0p2
brw-rw---- 1 root disk 179, 0 Jan 1 00:00 /dev/mmcblk0
brw-rw---- 1 root disk 179, 1 Jan 1 00:00 /dev/mmcblk0p1
brw-rw---- 1 root disk 179, 2 Jan 1 00:00 /dev/mmcblk0p2
鍵入cat /proc/partitions指令即可查閱香蕉派的儲存分割資訊,由TUI印出的內容可以得知,香蕉派的系統可用的分割包含了mmcblk0、mmcblk0p1、及mmcblk0p2等;輔以ls指令將可以查閱更為詳細的資訊。
- 認識主控台
console=ttyS0,115200 root=/dev/mmcblk0p2 rootwait panic=10
root@cubieboard2:~# ls -al /dev/ttyS0
crw------- 1 root tty 4, 64 Jan 1 01:19 /dev/ttyS0
鍵入cat /proc/cmdline指令即可查閱香蕉派的主控台資訊,由TUI印出的內容可以得知,香蕉派的主控台裝置檔案(device file)為ttyS0、而鮑率為115200bps;輔以ls指令將可以查閱更為詳細的資訊。
- 認識作業系統
Linux version 3.4.61.A20.bananapi.v02 (mikey@bananapi-imx6-43-mikey-L5) (gcc version 4.6.3 (Debian 4.6.3-14+rpi1) ) #2 SMP PREEMPT Sat Dec 28 08:58:57 CST 2013
root@cubieboard2:~# cat /etc/lsb-release
DISTRIB_ID=Linaro
DISTRIB_RELEASE=13.04
DISTRIB_CODENAME=quantal
DISTRIB_DESCRIPTION="Linaro 13.04"
root@cubieboard2:~# ls -al /
total 3260
drwxr-xr-x 22 root root 4096 Sep 7 2013 .
drwxr-xr-x 22 root root 4096 Sep 7 2013 ..
-rw-r--r-- 1 root root 3255984 Apr 22 2013 SHA256SUMS
drwxrwxr-x 2 root root 4096 Sep 7 2013 bin
drwxr-xr-x 3 root root 4096 Apr 22 2013 boot
drwxr-xr-x 12 root root 3300 Jan 1 00:00 dev
drwxr-xr-x 97 root root 4096 Jan 1 00:00 etc
drwxr-xr-x 3 root root 4096 Apr 22 2013 home
drwxrwxr-x 14 root root 4096 Aug 29 2013 lib
drwx------ 2 root root 16384 Sep 7 2013 lost+found
drwxr-xr-x 2 root root 4096 Apr 22 2013 media
drwxr-xr-x 2 root root 4096 Feb 22 2013 mnt
drwxr-xr-x 2 root root 4096 Apr 22 2013 opt
dr-xr-xr-x 90 root root 0 Jan 1 1970 proc
drwxr-xr-x 5 root root 4096 Jan 1 00:03 root
drwxr-xr-x 14 root root 520 Jan 1 00:05 run
drwxr-xr-x 2 root root 4096 Apr 22 2013 sbin
drwxr-xr-x 2 root root 4096 Jun 11 2012 selinux
drwxr-xr-x 2 root root 4096 Apr 22 2013 srv
dr-xr-xr-x 12 root root 0 Jan 1 00:00 sys
drwxrwxrwt 4 root root 100 Jan 1 01:17 tmp
drwxr-xr-x 10 root root 4096 Aug 29 2013 usr
drwxr-xr-x 11 root root 4096 Jan 1 01:26 var
root@cubieboard2:~# df
Filesystem 1K-blocks Used Available Use% Mounted on
/dev/root 3798280 1851664 1753672 52% /
devtmpfs 464452 4 464448 1% /dev
tmpfs 20480 4 20476 1% /tmp
none 92912 156 92756 1% /run
none 5120 0 5120 0% /run/lock
none 464556 0 464556 0% /run/shm
none 102400 12 102388 1% /run/user
鍵入cat /proc/version指令即可查閱香蕉派的作業系統核心資訊,由TUI印出的內容可以得知,香蕉派的核心版本為第3.4.61版;鍵入cat /etc/lsb-release指令則可以查閱香蕉派的作業系統套裝資訊(distribution),在此可以得知香蕉派的套裝資訊為Linaro的第13.04版;輔以ls指令將可以查閱根檔案系統的相關資訊,輔以df指令將可以查閱根檔案系統的儲存空間使用情形。
小結
經過了基本的安裝、裝配、及TUI指令操作之後,我對於香蕉派有了基礎的認識,大致上符合香蕉派主頁聲稱的內容;至於不使用主頁提及的螢幕鍵盤來測試香蕉派的理由則是(1)我覺得TUI簡潔明確、和(2)我手邊恰巧沒有螢幕鍵盤可供GUI(Graphical User Interface)的操縱。在此對同為open source且外觀大致相同的單板電腦作為簡單的評比。香蕉派的處理器規格比樹莓派Raspberry Pi來得先進,前者為7代ARM而後者為6代ARM;香蕉派搭載的週邊較樹莓派來得豐富,前者增添了硬碟所使用的SATA介面、及CIR遙控器所需的紅外線接收器等;對於預先編譯的作業系統映像檔,兩者皆以SD卡為儲存目標;然而,作為open source的一員,我目前無法輕易地在Internet下載香蕉派的schematic、source code、和toolchain,而我目前也仍沒下載到這幾項重要的資料,單憑這點,香蕉派就需要好好地向樹莓派效法了。
以ARM為基礎的單板電腦款式眾多且日益風行,不只本文提及的香蕉派,舉凡BeagleBone Black、或UDOO等都是現今有趣的單板電腦。期待未來有機會再嘗試。
Good Work, Leo. So you give up the Raspberry Pi and change to Banana Pi.
回覆刪除Which one is cheaper?
網誌管理員已經移除這則留言。
刪除關於價格的部份,剛剛查了淘寶網臺灣的標價,香蕉派約RMB$299、而樹莓派約RMB$213,後者較為便宜。
回覆刪除關於取捨的部份,能夠符合專案需求的「派」就是好派,管它香蕉派還是樹莓派。
目前香蕉派已經提供GitHub以下載相關原始碼,
回覆刪除作業系統映像檔也提供了Cubieboard for Banana Pi之外的版本,
可以撥空嘗試一番。
網誌管理員已經移除這則留言。
回覆刪除