* [[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]]