首先,從here (ubuntu_mmc.img) 下載SD-bootable image文件(注意:官方會不斷更新新版image,下載前最好在pcDuino網站上檢查確認下載地址)。 ubuntu
接着將下載的image文件燒入 micro-SD,這裏將介紹三種不一樣操做系統的狀況:Windows, Linux和MacOS。 bash
Windows: 網站
咱們使用的是 Win32DiskImager (從這裏下載 ) ui
Linux: spa
插入micro-sd後將會自動安裝。首先卸載全部分區,例如SD卡有2個分區,用如下命卸載: 操作系統
1. $ umount /dev/mmcblk0p1 2. $ umount /dev/mmcblk0p2
而後 dd mmc image到micro-sd: 調試
1. $ dd if=/udisk/ubuntu_mmc.img of=/dev/mmcblk0 bs=1M 2. $ sync
注意:不要使用 「of=/dev/xxx」來指向硬盤,不然將會破壞硬盤裏的數據。. code
MacOS: blog
MacOS終端也支持「df」和 「dd」命令。 ip
插入micro-sd自動安裝,首先仍是卸載全部分區,SD卡有2個分區時,用如下命令卸載:
1. $ sudo umount /dev/disk1s1 2. $ sudo umount /dev/disk1s2
若是卸載失敗, 可使用如下腳本強制卸載:
1. $ sudo diskutil umount force /dev/disk1s1 2. $ sudo diskutil umount force /dev/disk1s2
而後 dd mmc image到micro-sd:
1. $ sudo dd if=/udisk/ubuntu_mmc.img of=/dev/disk1 bs=1M
注意:仍是不要使用 「of=/dev/xxx」 指向硬盤. 這將會損壞硬盤中的數據。
將燒好的micro sd插入pcDuino而後上電,pcDuino將會從SD開始啓動。
調整SD-boot image的大小,SD擴展到最大容量:
1. $ sudo bash ./expand_sdcard_rootfs.sh 2. $ sudo reboot
重啓以後輸入:
1. $ sudo resize2fs /dev/mmcblk0p2
引導失敗
先肯定pcDuino是從SD仍是從NAND引導啓動,有時沒法檢測到SD的存在時就會從NAND啓動。
輸入df命令來檢查:
若是從NAND啓動,root是 /dev/nandd;
若是從SD啓動, root是 /dev/mmcblk0p1。
若是從NAND啓動的話,串口有調試線時,要拔掉調試線,再次安裝以前先reset pcDuino。
也有狀況發現串口上面插上串口轉USB線時有可能會引發HDMI無顯示的問題。
Advanced Topic:
如何生成SD卡引導的ubuntu image(或者Linux)?
一、下載如下兩個程序包:
解壓命令:
1. $ tar xf pcduino_hwpack_20130331.tar.xz 2. $ 7za -x ubuntu.7z
解壓 pcduino_hwpack.tar.xz包後獲得如下四個文件
在解壓ubuntu.tar.xz包後會獲得文件
uImage 和 script.bin是內核文件,最好下載最新版本的。
另外,能夠輸入命令查看兩個文件:
1. $ sudo mount /dev/nanda /mnt/nanda 2. $ ls /mnt/nanda
二、插入micro-SD,若是安裝了系統須要要先卸載,例如:
1. $ sudo umount /dev/mmcblk0p1 2. $ sudo umount /dev/mmcblk0p2
三、用 fdisk分出兩個新的分區
首先是boot分區,filesystem類型是fat,用來裝 store uImage 和 script.bin
第二個是留給ubuntu filesystem,filesystem類型是ext3
$ sudo fdisk /dev/mmcblk0
執行如下腳本文件
Command (m for help): d
Selected partition 1
Command (m for help): n
Partition type:
Select (default p): p
Partition number (1-4, default 1):
Using default value 1
First sector (2048-15122431, default 2048):
Using default value 2048
Last sector, +sectors or +size{K,M,G} (2048-15122431, default 15122431): +64M
Command (m for help): n
Partition type:
Select (default p): p
Partition number (1-4, default 2): 2
First sector (206848-15122431, default 206848):
Using default value 206848
Last sector, +sectors or +size{K,M,G} (206848-15122431, default 15122431): +1800M
Command (m for help): w
The partition table has been altered!
Calling ioctl() to re-read partition table.
[ 5652.370000] mmcblk0: p1 p2
Syncing disks.
也能夠改變boot區和ubuntu區的大小,建議boot區要>= 64M,ubuntu區大於1G。
執行上面腳本獲得64M的boot區和1.8G的ubuntu區,也能夠再把SD卡全部可用的空間都分給ubuntu區。
四、格式化分區:
1. $ sudo apt-get install dosfstools 2 . 3. $ sudo mkdosfs /dev/mmcblk0p1 4 . 5. $ sudo mke2fs -T ext3 /dev/mmcblk0p2 6 . 7. $ sudo umount /dev/mmcblk0p1 8 . 9. $ sudo umount /dev/mmcblk0p2
五、複製內核到第一個分區
1. $ sudo mount /dev/mmcblk0p1 /boot 2. $ sudo cp uImage /boot -f 3. $ sudo cp script.bin /boot -f 4. $ sync && sudo umount /boot
六、複製ubuntu到第二個分區
1. $ sudo dd if=ubuntu.img of=/dev/mmcblk0p2 bs=1M 2. $ sudo sync
七、從sdcard引導
1. $ sudo umount /dev/mmcblk0p1 2. $ sudo umount /dev/mmcblk0p2 3. $ sudo dd if=sunxi-spl.bin of=/dev/mmcblk0 bs=1024 seek=8 4. $ sudo dd if=u-boot.bin of=/dev/mmcblk0 bs=1024 seek=32
八、 Dump the image (optional)
1. $ sudo umount /dev/mmcblk0p1 2. $ sudo umount /dev/mmcblk0p2 3. $ sudo dd if=/dev/mmcblk0 of=ubuntu_sd.img bs=1M count=1900
9、重啓時板子就會從sdcard引導啓動了