2012年2月1日 星期三

BeagleBoard-xM 教學筆記 - 嘗試安裝 Ubuntu Natty Narwhal (11.04) @ Ubuntu 10.04

嘗試完把 microSD 恢復到原廠後,接著在 BeagleBaord xM 安裝 Ubuntu 看看。網路上可以找到不少文件和教學,但有些過程繁瑣老舊,就來試試看 Ubuntu 官網上提的步驟了:OmapNetbook。結果?可以看到系統裝起來,但缺乏 usb 跟網路的功能,不曉得是不是因為 BeagleBoard-xM Rev C 的關係?因此若真的需要把玩 Ubuntu 的,建議使用 http://elinux.org/BeagleBoardUbuntu#Demo_Image (Ubuntu 11.10) 即可,一個步驟安裝完,並且網路或 USB 鍵盤都 ok 啦。


對我而言,第一次接觸碰到幾個問題:


什麽是 OMAP?


OMAP是德州儀器(IT)提出的「 開放式多媒體應用平台」架構。在 BBxMSRM_latest.pdf 中可以查到這塊 BeagleBoard xM 板子的 CPU 是 DM3730,而 BeagleBoard 是 OMAP3530 的,然而 DM3730 是啥?在網路上找了一下,有人說這是 OMAP3630 的開發版,其中 DM 是開發版,OMAP是客戶版,但又有一說是 OMAP 是給 cell phone 的,剩下的是 AM/DM/davinci 等等,並且說在 BeagleBoard 上的 OMAP3630/DM3730 是對應到 cell phone 上的 OMAP3530 和 OMAP 3630等,總之故事好像不少,但我需要的只是確定 DM3730 也是指 OMAP 3系列的就好,有興趣的可以在 http://www.beagleboard.org/irclogs/index.php?date=2011-02-16搜尋 DM3730 關鍵字。


什麽是 Netbook?


查 wiki 的結果就是小筆電的意思,可以去看看 Ubuntu Netbook Edition - wiki 的介紹,其中有提到 Ubuntu Netbook 11.04 已經規劃納入 Desktop 版本,因此在 11.10 時,只會看到 OMAP3 preinstalled desktop image 版本,在這之前可以看到 Instruments OMAP3 preinstalled netbook image 等。


由於 DM3730 是 OMAP3630 for cell phone world 的關係,所以在此採用 OMAP3 系列。在 http://cdimage.ubuntu.com/releases/11.04/release/ 挑選 Texas Instruments OMAP3 preinstalled netbook image 和 Texas Instruments OMAP3 preinstalled headless image 來玩玩。


https://wiki.ubuntu.com/ARM/OmapNetbook 指示即可完工,在此列一些指令筆記:


$ sudo umount /media/* (或 umount /dev/sdX* )


$ sudo time sh -c 'zcat ./ubuntu-11.04-preinstalled-headless-armel+omap.img.gz | dd bs=4M of=/dev/sdc ; sync '
0+51047 records in
0+51047 records out
1675173888 bytes (1.7 GB) copied, 1961.25 s, 854 kB/s
64.90user 5.95system 32:41.61elapsed 3%CPU (0avgtext+0avgdata 5760maxresident)k
417368inputs+3271824outputs (2major+1417minor)pagefaults 0swaps

$ sudo cp ./uImage /media/PartitionBoot/
$ sudo cp ./vmlinuz-2.6.38-8-omap /media/PartitionRoot/boot


擺好 microSD 後就可以啟動 beagleboard-xM 啦,接好 RS232 to USB 後,可以透過 screen -U /dev/ttyUSB0 115200 來查看板子目前的設定狀況(建議先用 minicom 初始化後,關掉 minicom,再用 screen,可避免 screen 有時沒資料出來),通常大概 6 分鐘以內就能看到相關設定畫面,後來的流程就像安裝 Ubuntu 一樣的選單,而 microSD(此為一開始內建卡)的讀寫速度將影響啟動所耗費的時間。選好環境設定後,大概又要等 15 分鐘的安裝初始化。


只是無論是 desktop(netbook) 或 server(headless) 版,從 USB 接的鍵盤跟滑鼠都無用 XD 這樣對 desktop 版就無法進入的初始化設定啦,而 Server 版倒可以透過 /dev/ttyUSB0 來作設定,只是設定完還是無用。在網路上打滾了一會,看到的解法大概都是更新 uImage 和 boot.src,有的是取得 Angstrom Linux Demo 的檔案,有的就乾脆依照 elinux.org 的安裝方法了 BeagleBoardUbuntu#Demo_Image


所以,我就很懶的直接用 elinux.org - BeagleBoardUbuntu#Demo_Image,只需安裝相關軟體後,按一下指令就搞定了!經過測試,網路、鍵盤無痛搞定,並且因為檔案很小,只花不到 10 分鐘(上面都要30起跳)。


$ wget http://rcn-ee.net/deb/rootfs/oneiric/ubuntu-11.10-r3-minimal-armel.tar.xz
$ tar -xJf ubuntu-11.10-r3-minimal-armel.tar.xz (若不行記得安裝xz-utils)
$ cd ubuntu-11.10-r3-minimal-armel
$ sudo time ./setup_sdcard.sh --mmc /dev/sdX --uboot "beagle_xm" (/dev/sdX是 microSD 位置)
...
Are you 100% sure, on selecting [/dev/sdX] (y/n)? y
...
Downloading Device's Bootloader ...
Unmounting Partitions ...
Using fdisk to create BOOT Partition ...
Setting Boot Partition's Boot Flag ...
Creating rootfs ext4 Partition ...
Formating Boot Partition ...
Populating Boot Partition ...
Using mkimage to create uImage ...
Using mkimage to create uInitrd ...
Copying uEnv.txt based boot scripts to Boot Partition ...
Finished populating Boot Partition ...
Transfer of Base Rootfs Complete, syncing to disk ...
Finished populating rootfs Partition
-----------------------------
setup_sdcard.sh script complete
1.32user 2.52system 6:54.94elapsed 0%CPU (0avgtext+0avgdata 14848maxresident)k
2234inputs+1093280outputs (3major+55864minor)pagefaults 0swaps


收工,改天在找看看如何解決官方 Ubuntu 提供的 Image 問題。


沒有留言:

張貼留言