查看: 1380|回复: 0

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

[复制链接]
  • TA的每日心情
    奋斗
    2016-4-25 13:46
  • 签到天数: 1 天

    连续签到: 1 天

    [LV.1]初来乍到

    发表于 2013-5-24 18:54:14 | 显示全部楼层 |阅读模式
    分享到:
    准备可引导的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引导启动了
    回复

    使用道具 举报

    您需要登录后才可以回帖 注册/登录

    本版积分规则

    关闭

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

    手机版|小黑屋|与非网

    GMT+8, 2024-12-18 21:46 , Processed in 0.109976 second(s), 16 queries , MemCache On.

    ICP经营许可证 苏B2-20140176  苏ICP备14012660号-2   苏州灵动帧格网络科技有限公司 版权所有.

    苏公网安备 32059002001037号

    Powered by Discuz! X3.4

    Copyright © 2001-2024, Tencent Cloud.