查看: 93|回复: 1

[教程] pcDuino入门指南 烧录系统

[复制链接]

2

主题

0

好友

14

积分

白丁

Rank: 1

该用户从未签到

发表于 2016-11-10 14:56:27 |显示全部楼层
准备可引导的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引导启动了


回复

使用道具 举报

1

主题

1

好友

2663

积分

进士

Rank: 5Rank: 5

  • TA的每日心情
    奋斗
    昨天 12:21
  • 签到天数: 641 天

    [LV.9]以坛为家II

    发表于 2016-11-10 23:02:46 |显示全部楼层
    写的好,学习和参考
    回复

    使用道具 举报

    您需要登录后才可以回帖 登录 | 立即注册

    关闭

    站长推荐上一条 /6 下一条


    手机版|爱板网 |网站地图  

    GMT+8, 2016-12-5 06:22 , Processed in 0.101906 second(s), 10 queries , Memcache On.

    苏公网安备 32059002001056号

    Powered by Discuz!

    回顶部