* [[https://wiki.ubuntu.com/ARM/OMAP|Pre-Installed OMAP/OMAP4 Images]]
* [[http://omappedia.org/wiki/Ubuntu_Pre-built_Binaries_Guide|PandaBoard Ubuntu Pre-built Binaries Guide]]
* [[http://drizztcp.wordpress.com/2012/01/16/pandaboard-es%E5%92%8C%E9%85%8D%E4%BB%B6%E5%85%A5%E6%89%8B/|Pandaboard ES和配件入手]]
* 5V 電源線
* Serial to USB 線
* 8G SD 卡
* [[http://tw.knowledge.yahoo.com/question/question?qid=160708171204|switch-hub如何安裝]]
* 無線 AP
- 請用 5V 的電源! SD 卡建議選購 8G 以下。32G SD 卡 (實際稱為 SDHC 卡,請見 [[http://yuhoct1.pixnet.net/blog/post/23665662-sd..sdhc-%E5%82%BB%E5%82%BB%E5%88%86%E4%B8%8D%E6%B8%85%E6%A5%9A|SD..SDHC 傻傻分不清楚]]),安裝相當耗時,且不會很順利。
* [[http://comments.gmane.org/gmane.comp.embedded.pandaboard/5274|SDHC I/O errors]]
* [[http://groups.google.com/group/pandaboard/browse_thread/thread/88894079fae87701|SD card compatibility issue]]
* 請儘量使用[[http://www.omappedia.com/wiki/PandaBoard_Accessories_%26_Peripherals#SD_cards|官方測試過的型號]]。
- 將映像檔寫進 SD 卡。可能需要接上螢幕,Ubuntu 非 server 版會在 serial console 靜默[(http://people.cs.nctu.edu.tw/~chenwj/log/UNIX/av500-2012-04-03.txt)]。
$ wget http://cdimage.ubuntu.com/releases/12.04/release/ubuntu-12.04-preinstalled-server-armhf+omap4.img.gz
$ md5sum http://cdimage.ubuntu.com/releases/12.04/release/ubuntu-12.04-preinstalled-server-armhf+omap4.img.gz
0c85f1ef517efae28acf062c54943ebf
# 清空 sd card。
$ dd if=/dev/zero of=/dev/sdb
$ gunzip -c ubuntu-12.04-preinstalled-server-armhf+omap4.img.gz | sudo dd bs=1M of=/dev/sdb
$ sync
- 接上 rs232,插上 SD 卡,插上電源。正常應該要亮兩個綠燈。亮一個綠燈代表 SD 卡有問題,亮紅燈代表燒壞了。開始安裝。
- 拷貝映像檔。
# 倒出安裝好的映像檔 (2G sd card)
$ sudo dd if=/dev/sdb of=card.image
# 寫至新的 32G sd card
$ sudo dd if=card.image of=/dev/sdb
# 使用 gparted。先將 /dev/sdb2 卸載,再放大。
* [[http://superuser.com/questions/460657/cloning-an-sd-card-onto-a-larger-sd-card|Cloning an SD card onto a larger SD card]]
* [[http://superuser.com/questions/477642/enlarge-partition-on-sd-card|Enlarge partition on SD card]]
* [[http://www.raspberrypi-spy.co.uk/2012/06/resize-sd-card-partitions/|Resize SD Card Partitions]]
* [[http://forum.xda-developers.com/showthread.php?t=557590|[HOWTO] Repartitioning Your SD Card with GParted Using Ubuntu]]
- 自行編譯內核。
# 產生預設 config
$ ARCH=arm make omap2plus_defconfig
- 調整安裝好的映像檔。
$ apt-get install partclone
$ apt-get install btrfs-tools
# 針對 ext4 檔案系統調整大小。
$ apt-get install gparted
# http://140.109.23.171/ubuntu-pandaboard/
# 如果第一個分割起始位置在 32 (安裝),用底下的檔案。
$ wget http://140.109.23.171/ubuntu-pandaboard/boot.partclone
# 如果第一個分割起始位置在 2048,用底下的檔案。
$ wget http://140.109.23.171/ubuntu-pandaboard/boot.partclone-2048
$ wget http://140.109.23.171/ubuntu-pandaboard/rootfs-btrfs.partclone
# 先把 sdcard 切成兩個分割,第一個放 boot.partclone,並設定成 active; 第二個放 root-btrfs.partclone。
# http://www.tldp.org/HOWTO/html_single/Partition/
# 用 n 切,用 t 設檔案系統類型,用 a 設定啟動分割。
$ fdisk /dev/sdb
/dev/sdb1 * 2048 206847 102400 6 FAT16
/dev/sdb2 206848 62552063 31172608 83 Linu
# 正常要看到 /dev/sdb1 和 /dev/sdb2
$ ls /dev/sdb?
$ partclone.vfat -s boot.partclone -o /dev/sdb1 -r
$ mount /dev/sdb1 /mnt/tmp
# boot.scr 和 MLO 是 bootloader,uImage 是內核映像。
$ ls /mnt/tmp
boot.scr MLO u-boot.bin uImage uInitrd
# 請用以下指令寫入 sdcard, sdx2 請依照實際路徑修改,我的是 sdb2。
# 這裡寫入的檔案系統是 btrfs,故底下用的是 btrfsctl 來調整大小。
# 遇到 CRC 錯誤,用 md5sum 檢查映像檔的正確性。
$ partclone.btrfs -s rootfs-btrfs.partclone -o /dev/sdb2 -r
# mount /dev/sdb2 /mnt/tmp
# 修改 /etc/hosts /etc/hostname /etc/network/interfaces
# 寫入完成後, 依照以下方式調整 size
# (因每張卡的 boot partition 大小有點差異, 所以還是需要跑 resize, 但速度比 ext4 快很多)
$ mkdir /mnt/tmp
$ mount -t btrfs /dev/sdx2 /mnt/tmp
$ btrfsctl -r max /mnt/tmp
$ umount /mnt/tmp
# 另外如果發生連 boot loader 都無法載入的情況時,可嘗試把 mbr 清除。
$ dd if=/dev/zero of=/dev/sdb bs=1024 count=1024
* [[http://www.thegeekstuff.com/2011/09/parted-command-examples/|9 Linux Parted Command Examples – mkpart, mkpartfs, resize partitions]]
* [[http://askubuntu.com/questions/51272/resize-partition-with-gparted|Resize partition with GParted]]
* [[https://btrfs.wiki.kernel.org/|btrfs]]
* [[https://btrfs.wiki.kernel.org/articles/c/o/n/Conversion_from_Ext3_6e03.html|Btrfs Conversion from Ext3 or Ext4]]
* [[http://www.switchroot.com/how-to-convert-a-ext3-or-ext4-filesystem-to-btrfs|How to convert a ext3 or ext4 filesystem to Btrfs]]
* [[http://onubuntu.blogspot.com/2011/05/convert-your-ext4-ubuntu-1104-to-btrfs.html|Convert your ext4 Ubuntu 11.04 to btrfs without doing a clean install]]
- [[http://cdimage.ubuntu.com/releases/11.04/release/|Ubuntu 11.04 Headless]] 等同之後的 server 版,輸出為 serial console [(http://people.cs.nctu.edu.tw/~chenwj/log/UNIX/ogra-2012-04-05.txt)]。
* [[https://wiki.ubuntu.com/ARM/Server/Install?action=show&redirect=ARM%2FOMAPHeadlessInstall|Installing pre-installed OMAP3/4 Oneiric (11.10) Server Images]]
- 安裝完後將原本 ext4 轉成 btrfs 可減輕問題。Ubuntu 11.04 安裝過程較 Ubuntu 11.10 穩定。
/dev/sdb1 * 32 147455 73712 c W95 FAT32 (LBA)
/dev/sdb2 147456 62552063 31202304 83 Linux
# ext4 轉 btrfs。
$ btrfs-convert /dev/sdb
# 從 /dev/sdb1 生成 boot.partclone 供之後使用。注意! 透過安裝所得的分割,第一個分割是從 32 開始。
# 此時所得的 boot.partclone 只適用在寫入從 32 開始的第一個分割。如果是自己手動用 fdisk 切分割,
# 一般會從 2048 開始,此時所得的 boot.partclone 不能用。解法是先把 boot.partclone 寫入從 2048
# 開始的第一個分割,再用 partclone 將該分割的內容寫出。這時候所得的 boot.partclone 才可用來寫入從
# 2048 開始的第一個分割。
$ sudo partclone.vfat -s /dev/sdb1 -O boot.partclone -c
$ sudo partclone.btrfs -s /dev/sdb2 -O rootfs-btrfs.partclone -c
* 不建議用 ''do-release-upgrade'' 升級系統,重新安裝較佳。
====== 其它 ======
是否用能用 QEMU 模擬 pandaboard? [(http://people.cs.nctu.edu.tw/~chenwj/log/QEMU/pm215-2012-04-05.txt)]
* [[https://launchpad.net/qemu-linaro|Linaro QEMU]]
* [[http://www.cnx-software.com/2011/09/26/beagleboard-emulator-in-ubuntu-with-qemu/|Beagleboard Emulator in Ubuntu with Qemu]]
* [[https://wiki.linaro.org/MichaelHope/Sandbox/QEMU|qemu-linaro-0.13.50-2011.02-0-rc2]]
編譯 [[Clang]] 需要超過 1G 的內存,在板子上切出 swap 空間,亦或是安裝 gold。
====== 外部連結 ======
* [[http://pandaboard.org/]]
* [[http://delog.wordpress.com/2011/06/27/write-ubuntu-image-file-to-sd-card-on-windows/|Write Ubuntu image file to SD card on Windows]]