主题 : 自制简易bootloader分享,可用于NanoPi M3 64位模式 复制链接 | 浏览器收藏 | 打印
级别: 新手上路
UID: 126651
精华: 0
发帖: 2
金钱: 10 两
威望: 2 点
贡献值: 0 点
综合积分: 4 分
注册时间: 2016-07-15
最后登录: 2019-03-07
楼主  发表于: 2017-02-09 00:02

 自制简易bootloader分享,可用于NanoPi M3 64位模式

这是为Nexell S5P6818编写的一个简易bootloader,支持从USB和带FAT12/FAT16分区的SD卡中加载并启动完整的bootloader或裸机程序,作用是代替官方提供的SecondBoot(2ndboot)。目前为止支持友善之臂(FriendlyARM)的NanoPi M3开发板的AArch64模式启动,理论上可移植到其他使用S5P6818的开发板上。

目录结构:
drivers ---- Windows下使用的USB驱动,Linux不需要驱动(但需要安装libusb-1.0,安装方法请自行搜索)。
image ------ 完整镜像,可直接写到SD卡中使用。
tools ------ USB下载工具,适用于启动完本bootloader并进入到USB下载模式时。

使用方法:
1. 首先需要将镜像写到SD卡中。将image目录下对应的.tar.bz2文件解压并得到.img文件,即可使用此文件写入到SD卡中。Linux可使用dd命令从SD卡的0扇区开始写入(.img文件已自带分区表),对于Windows则可以使用Win32 Disk Imager,这里不再赘述。
2. 写入完毕后,在电脑上可以看到多了一个名为"boot"的分区,此即为SD启动使用的分区。分区下有boot.cfg和u-boot.bin文件,其中boot.cfg文件为启动配置文件,而u-boot.bin文件则为测试用的完整bootloader程序。boot.cfg的内容相信大家一看就懂。
3. 现在,将SD卡插入到开发板,便可使用SD卡启动u-boot.bin文件。若要使用USB启动,只需将boot.cfg中的filename改为不存在的文件即可。
4. 在加载完本bootloader后,若要进行USB启动,需要使用其他程序。tools目录下分别有Windows和Linux (Ubuntu x64)使用的USB启动工具,对于其他版本的Linux用户可以到我的GitHub上自行编译load程序。
5. 若需要对本bootloader进行移植或修改,请到GitHub自行下载及编译文件,具体的使用方法请参照GitHub上的相关说明。

相关链接:
1. 网盘地址:https://pan.baidu.com/s/1geNgIyR
2. 我的GitHub:https://github.com/metro94/
3. 我的博客:http://metro94.github.io
4. 友善之臂(FriendlyARM)NanoPi M3的详细信息:http://www.friendlyarm.com/index.php?route=product/product&product_id=130
[ 此帖被imetro在2017-02-12 22:44重新编辑 ]