全志h3linux移植教程,全志H3启动分析,移植主线UBOOT
全志H3启动分析,移植主线UBOOT
参考资源
启动流程
因为使用的是外扩SD卡,因此主要参考了这部分内容;Bootable SD card
SD卡Layout如下:
start
sector
size
usage0KB
0
8KB
未使用,主要用于存放分区表
8KB
16
32KB
Init SPL
40KB
80
-
U-Boot
SD卡的起始地址处放的是分区表MBR(占用512B)或者GPT(更多),为了保证SD卡还能用于其他目的,所以前8KB是不能用的;
8KB开始存放U-Boot-spl以及U-boot镜像;
后续未使用区域可以分成FAT分区 + 其他分区,FAT分区中存放linux kernel + DTB文件 + boot.scr,其他分区主要存放根文件系统,或者其他分区;
上边这些规定都是全志内部固化的流程,芯片上电后首先运行内部一段引导程序,然后按照一定的优先级去遍历emmc sd nand usb等看是否能引导程序,如果是SD/eMMC,则会在8KB的便宜除引导程序(uboot-spl),再引导uboot,uboot会从sd卡FAT分区内引导linux内核,解析boot.scr,获取bootcmd,再从其他分区加载根文件系统,至此结束。
编译链
使用linaro工具链即可
uboot编译
make CROSS_COMPILE=arm-linux-gnueabihf- _defconfig
make CROSS_COMPILE=arm-linux-gnueabihf- menuconfig
make CROSS_COMPILE=arm-linux-gnueabihf-
我的板子和orangepi plus类似,1GB DDR3+8GB emmc;但是不幸是ddr沒有走等长线,如果是用orangepi plus的配置,则linux会运行失败,需要修改ddr3的频率,降低频率即可,或者直接使用友善之臂 nano-pi的配置。
SD制作
linux下 使用dd命令烧写uboot至8k偏移处。
使用blockdev命令进行分区,具体可参见:Bootable SD card 。
将boot.cmd转换为uboot可识别的boot.scr,并见boot.scr放于FAT分区:
mkimage -C none -A arm -T script -d boot.cmd boot.scr
将制作好的kernel和DTB放于FAT分区。
使用busybox构建根文件系统,或者直接使用第三方根文件系统,将此系统解压至sd卡的其他分区。
来源:oschina
链接:https://my.oschina.net/u/4232364/blog/3134751
全志h3linux移植教程,全志H3启动分析,移植主线UBOOT相关推荐
- 全志h3linux移植教程,全志H3_wifi模块移植说明文档V-SDK软件资料
2. 模块介绍 目前H3 android4.4.2平台上已支持wifi模组有6款,本文档将以H3盒子原型机为例说明如何配置每款wifi模组. wifi 模组可分 USB 接口和 SDIO 接口两种类型 ...
- 荔枝派Zero | 全志V3s 开发教程(一) 烧录系统镜像的方法以及如何烧录主线Linux系统镜像
荔枝派Zero | 全志V3s 开发教程(一) 荔枝派Zero的开发教程: http://zero.lichee.pro/系统开发/type.html 刚开始尝试编译Camdroid官方SDK,最终浪 ...
- 全志a64linux内核编译,全志A64 lichee编译脚本build.sh分析
全志A64 lichee编译脚本build.sh分析 发布时间:2018-08-22 15:58, 浏览次数:269 , 标签: lichee build sh lichee目录下的./build.s ...
- 全志V3S荔枝派zero10分钟制作TF启动卡,主线Linux,主线u-boot(超过10分钟博主直播吃奥利奥!!!)
一,初学者(比如我)刚拿到zero时,一定是一脸懵逼的,无从下手的,通过几篇代佬们写的文章+官网资料,了解了几种启动方式 1.Camdriod 官方SDK 2.主线Uboot + Bsp 内核 3.主 ...
- 基于STM32F4的CANOpen移植教程(超级详细)
CANopen移植到STM32F4平台 前言 1 物品准备 2 相关软件安装 2.1 CAN上位机 2.2 对象字典生成工具objdictedit环境配置 3 将CANopen移植到STM32F407 ...
- 区块链教程Fabric1.0源代码分析scc(系统链码)
区块链教程Fabric1.0源代码分析scc(系统链码),2018年下半年,区块链行业正逐渐褪去发展之初的浮躁.回归理性,表面上看相关人才需求与身价似乎正在回落.但事实上,正是初期泡沫的渐退,让人们更 ...
- 兄弟连区块链教程Fabric1.0源代码分析Peer peer根命令入口及加载子命令一
区块链教程Fabric1.0源代码分析Peer peer根命令入口及加载子命令,2018年下半年,区块链行业正逐渐褪去发展之初的浮躁.回归理性,表面上看相关人才需求与身价似乎正在回落.但事实上,正是初 ...
- 区块链教程Fabric1.0源代码分析流言算法Gossip服务端二
区块链教程Fabric1.0源代码分析流言算法Gossip服务端二 Fabric 1.0源代码笔记 之 gossip(流言算法) #GossipServer(Gossip服务端) 5.2.commIm ...
- iTop-4412精英版的u-boot-2017.11移植教程(三)
(一)修改clock.c 经过上面两节的修改,我们发现还是有些问题,就是u-boot启动后会停留在MMC: ,其实这是由于在clock.c文件中关于mmc和lcd部分的结构体用错了 exynos4_g ...
最新文章
- C++中string查找和取子串和整形转化
- 机器学习算法库scikit-learn的安装
- AI:一个20年程序猿的学习资料大全—区块链/大数据/数据集/云计算/前沿大会资料——只有你不想要的,没有你找不到的
- mysql 按时间累计计算_精通MySQL索引背后的数据结构及算法原理
- html霓虹灯效果图,HTML5 SVG+CSS3霓虹灯文字边框动画特效
- java链表对象_用Java实现链表结构对象:单向无环链表
- ~~通过预处理逆元的方式求组合数
- a标签js阻止跳转_前端笔试知识点:阻止冒泡
- 【NOIP1999】【Luogu1020】导弹拦截
- Windows Server 2016-DHCP服务器审核日志大小调整
- 【RS|概念】辐射校正和几何纠正
- linux中mysql启动时遇到MySql server PID file cound not be found
- 企业如何架设代理服务器联接互联网
- Dreammaker水疗流行的Eclipse从他们的加州系列,审议
- flask爱家租房项目开发(十二)
- Excel VBA一行代码搞定分组排序
- 户外P10全彩LED显示屏一站式解决方案。
- Android 之路51---百度地图实现
- html 设置元素向左浮动
- eclipse项目出现红色叉叉解决方案