pcDuino入门指南——第四章 烧录系统

作者: EEbird
上传时间为: 2013-05-24 06:54 PM
2013-05-24
阅读:

准备可引导的SD卡:

首先,从here (ubuntu_mmc.img) 下载SD-bootable image文件(注意:官方会不断更新新版image,下载前最好在pcDuino网站上检查确认下载地址)。

接着将下载的image文件烧入 micro-SD,这里将介绍三种不同操作系统的情况:Windows, Linux和MacOS。

Windows:

我们使用的是 Win32DiskImager (从这里下载 )

Linux:

插入micro-sd后将会自动安装。首先卸载所有分区,例如SD卡有2个分区,用以下命卸载:

然后 dd mmc image到micro-sd:

注意:不要使用 “of=/dev/xxx”来指向硬盘,否则将会破坏硬盘里的数据。.

MacOS:

MacOS终端也支持“df”和 “dd”命令。

插入micro-sd自动安装,首先还是卸载所有分区,SD卡有2个分区时,用以下命令卸载:

如果卸载失败, 可以使用以下脚本强制卸载:

然后 dd mmc image到micro-sd:

注意:还是不要使用 “of=/dev/xxx” 指向硬盘. 这将会损坏硬盘中的数据。

将烧好的micro sd插入pcDuino然后上电,pcDuino将会从SD开始启动。

调整SD-boot image的大小,SD扩展到最大容量:

准备以下expand.sh脚本 :

重启之后输入:

引导失败

先确定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、下载以下两个程序包:

pcduino_hwpack.tar.xz

Ubuntu.7z

解压命令:

解压 pcduino_hwpack.tar.xz包后得到以下四个文件

uImage

script.bin

sunxi-spl.bin

u-boot.bin

在解压ubuntu.tar.xz包后会得到文件

Ubuntu.img

uImage 和 script.bin是内核文件,最好下载最新版本的。

另外,可以输入命令查看两个文件:

2、插入micro-SD,如果安装了系统需要要先卸载,例如:

3、用 fdisk分出两个新的分区

首先是boot分区,filesystem类型是fat,用来装 store uImage 和 script.bin

第二个是留给ubuntu filesystem,filesystem类型是ext3

执行以下脚本文件

Command (m for help): d

Selected partition 1

Command (m for help): n

Partition type:

p primary (0 primary, 0 extended, 4 free)

e extended

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:

p primary (1 primary, 0 extended, 3 free)

e extended

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区。

4、格式化分区:

5、复制内核到第一个分区

6、复制ubuntu到第二个分区

7、从sdcard引导

8、 Dump the image (optional)

9、重启时板子就会从sdcard引导启动了

全部评论 ()
条评论
写评论

创建讨论帖子

登录 后参与评论
系统提示