首先,从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引导启动了