licheepi nano 从零开始使用sd卡启动

本文目的:licheepi nano从零开始,使用sd卡启动;
某些原因导致需要重新捣鼓uboot,但过程中频繁出错,后悔最初没有记录详细的操作方法,此帖主要为自己出口气,重新记录;

持续完善,最后更新日期:2024/02/08(年二十九)

文章目录

  • 一、u-boot
    • 1、下载编译u-boot的工具链
    • 2、下载u-boot
    • 3、配置u-boot
    • 4、修改suniv.h
    • 5、编译u-boot
    • 6、制作boot.src
  • 二、Linux内核
  • 三、rootfs根文件系统
  • 四、SD卡制作
  • 五、测试
  • 六、总结

一、u-boot

1、下载编译u-boot的工具链

  • 我编译u-boot所使用的工具链是单独的,和编译Linux内核与根文件系统是分开的;
wget http://releases.linaro.org/components/toolchain/binaries/7.2-2017.11/arm-linux-gnueabi/gcc-linaro-7.2.1-2017.11-x86_64_arm-linux-gnueabi.tar.xz# 解压
tar -vxJf gcc-linaro-7.2.1-2017.11-x86_64_arm-linux-gnueabi.tar.xz

2、下载u-boot

git clone https://gitee.com/LicheePiNano/u-boot.git
# 进入u-boot根目录
cd u-boot
# 查看分支
git branch -a
# 切换到 Nano 分支
git checkout nano-lcd800480

3、配置u-boot

  • 不带spi-flash的板子,请选择 licheepi_nano_defconfig ;
  • 带spi-flash的板子,请选择 f1c100s_nano_uboot_defconfig ;
# 在u-boot根目录下执行
# 建议选择这个
make f1c100s_nano_uboot_defconfig

4、修改suniv.h

  • 注释原有的 CONFIG_BOOTCOMMAND
  • 增加一句 #define CONFIG_BOOTCOMMAND “run distro_bootcmd”
# 在u-boot根目录下执行
vi include/configs/suniv.h 

在这里插入图片描述

  • 修改后,u-boot 启动时会从第一分区读取 boot.scr 文件;

5、编译u-boot

  • 配置交叉编译工具链的环境变量;
# 此次配置只是当前有效,并不是永久生效
# 第三条命令的绝对路径要换成自己的,精确到工具链目录下的bin目录
export ARCH=arm
export CROSS_COMPILE=arm-linux-gnueabi-
export PATH=$PATH:/home/book/licheePi-f1c100s/gcc-linaro-7.2.1-2017.11-x86_64_arm-linux-gnueabi/bin
  • 在u-boot根目录下执行 make 编译;
# 在u-boot根目录下执行
make -j4
  • 编译完成后,会看到目录下有一个 u-boot-sunxi-with-spl.bin ,这个文件就是我们要的;

6、制作boot.src

# 在u-boot根目录下执行
touch boot.cmd
vi boot.cmd
  • 写入以下内容:
setenv bootargs console=tty0 console=ttyS0,115200 panic=5 rootwait root=/dev/mmcblk0p2 rw
load mmc 0:1 0x80008000 zImage
load mmc 0:1 0x80C00000 suniv-f1c100s-licheepi-nano.dtb
bootz 0x80008000 - 0x80C00000
  • 使用 u-boot 编译后 tools 目录下的 mkimage 工具可以将 boot.cmd 文件生成为 boot.scr 文件;
# 在u-boot根目录下执行
# arm架构;不压缩;script文件;输入boot.cmd文件;输出boot.scr文件
tools/mkimage -A arm -C none -T script -d boot.cmd boot.scr
  • 生成的 boot.scr 文件就在当前目录下;

二、Linux内核

三、rootfs根文件系统

四、SD卡制作

五、测试

六、总结

参考文章:
1、全志F1C100s使用记录:u-boot & linux & rootfs 编译与烧录测试(基于SD卡)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://xiahunao.cn/news/2775083.html

如若内容造成侵权/违法违规/事实不符,请联系瞎胡闹网进行投诉反馈,一经查实,立即删除!

相关文章

P1176 路径计数2

网址如下&#xff1a; P1176 路径计数2 - 洛谷 | 计算机科学教育新生态 (luogu.com.cn) 动归典中典 代码如下&#xff1a; #include<iostream> using namespace std; bool map[1001][1001]; int dp[1001][1001];int main(void) {//输入int N, M;cin >> N >&g…

使用CubeMX快速开始STM32微控制器开发

CubeMX是一款由STMicroelectronics提供的集成开发环境&#xff0c;可以帮助开发者快速启动STM32微控制器的开发。屏蔽了底层配置的繁琐&#xff0c;简化了开发流程&#xff0c;减少了开发时间。本文将向您介绍使用CubeMX进行STM32开发的基本步骤&#xff0c;并附上部分示例代码…

【CV论文精读】【MVDet】Multiview Detection with Feature Perspective Transformation

0.论文摘要 合并多个摄像机视图进行检测减轻了拥挤场景中遮挡的影响。在多视图检测系统中&#xff0c;我们需要回答两个重要问题。首先&#xff0c;我们应该如何从多个视图中聚合线索&#xff1f;第二&#xff0c;我们应该如何从空间上相邻的位置聚集信息&#xff1f;为了解决…

C#调用WechatOCR.exe实现本地OCR文字识别

最近遇到一个需求&#xff1a;有大量的扫描件需要还原为可编辑的文本&#xff0c;很显然需要用到图片OCR识别为文字技术。本来以为这个技术很普遍的&#xff0c;结果用了几个开源库&#xff0c;效果不理想。后来&#xff0c;用了取巧的方法&#xff0c;直接使用了WX的OCR识别模…

彩虹系统7.0免授权+精美WAP端模板源码

最低配置环境 PHP7.2 1、上传源码到网站根目录&#xff0c;导入数据库文件 2、修改数据库配置文件&#xff1a;/config.php 3、后台&#xff1a;/admin 账号&#xff1a; 4、前台用户&#xff1a;123456 密码&#xff1a;1234561

回顾2023展望2024,追逐光成为光

&#x1f469; 个人主页&#xff1a;不爱吃糖的程序媛 &#x1f64b;‍♂️ 作者简介&#xff1a;前端领域新星创作者、CSDN内容合伙人&#xff0c;专注于前端各领域技术&#xff0c;成长的路上共同学习共同进步&#xff0c;一起加油呀&#xff01; ✨系列专栏&#xff1a;前端…

【前端素材】bootstrap4实现葡萄酒品牌电商网站Bidouno(附带源码)

一、需求分析 葡萄酒品牌电商网站是一个专门销售葡萄酒的在线平台。它提供各种类型和品牌的葡萄酒&#xff0c;包括红葡萄酒、白葡萄酒、起泡酒等。葡萄酒品牌电商网站的功能可以从以下几个方面来分析&#xff1a; 1. 提供多样化的选择&#xff1a;葡萄酒品牌电商网站通常会提…

手动汉化unity编辑器,解决下载中文语言报错问题

手动汉化unity编辑器&#xff0c;解决下载中文语言报错问题 START 最近在下载支持微信小程序版本的编辑器时&#xff0c;中文语言包&#xff0c;一直无法下载。记录一下 手动汉化unity编辑器的方法 &#xff0c;帮助和我遇到同样问题的人。 解决方案 1. 下载汉化包 https:…

【原理图PCB专题】Cadence17.4版本新增加的Cutout和Design_Outline层有什么用?

在Cadence 17.4版本中我们发现在Board Geometry下面多出了Cutout和Design_Outline两层,其实这两层在高版本的软件中都做为板框使用。 如下所示在输出光绘时,如果没有将Cutout和Desing_Outline两层加入,还是使用16版本的Outline来定义板框的话,在出光绘时会提示:WA…

automative

car sevice car-lib

【python量化交易】qteasy使用教程01 - 安装方法及初始化配置

qteasy教程1 - 安装方法及初始化配置 qteasy教程1 - 安装方法及初始配置qteasy安装前的准备工作1&#xff0c; 创建安装环境2&#xff0c;安装MySQL数据库 (可选)安装pymysql 3&#xff0c;创建tushare账号并获取API token (可选)4&#xff0c;安装TA-lib (可选)WindowsMac OSL…

简单说网络:TCP+UDP

TCP和UPD: (1)都工作在传输层 (2)目的都是在程序之中传输数据 (3)数据可以是文本、视频或者图片(对TCP和UDP来说都是一堆二进制数没有太大区别) 一、区别:一个基于连接一个基于非连接 将人与人之间的通信比喻为进程和进程之前的通信:基本上有两种方式(1)写信;(2)打电话;这…

FPGA_ip_Rom

一 理论 Rom存储类ip核&#xff0c;Rom是只读存储器的简称&#xff0c;是一种只能读出事先存储数据的固态半导体存储器。 特性&#xff1a; 一旦储存资料&#xff0c;就无法再将之改变或者删除&#xff0c;且资料不会因为电源关闭而消失。 单端口Rom: 双端口rom: 二 Rom ip核…

问题:在下列选项中,下列哪种情况不属于生理排泄过程的是() #媒体#学习方法#经验分享

问题&#xff1a;在下列选项中&#xff0c;下列哪种情况不属于生理排泄过程的是&#xff08;&#xff09; A.CO2由呼吸系统排出 B.食物残渣由消化道排出 C.皮肤排出汗液 D.肾脏排出尿液 E.由消化道排出的胆色素 参考答案如图所示

BGP 双归不同运营商并且客户之间互为主备的部署实验

一、拓朴&#xff1a; 要求&#xff1a; 1、双方 ISP 均不得将客户 AS 做为穿越 AS 2、对于客户业务的出流量&#xff1a;客户 AS100 和 200 访问 ISP 时&#xff0c;AS100优选从 Line-1 线路&#xff0c;AS200 优选从 Line-2 访问&#xff0c;但当 Line-1 和 …

第三章 搜索与图论(二)(最短路)

一、最短路问题 1、对于稠密图&#xff0c;由于朴素版的dijkstra算法与边数无关使用这种算法的复杂度较低。稀疏图用堆优化版的算法&#xff1b;单源最短路中存在负权边用SPFA 算法通常较好&#xff1b;多源用floyd算法&#xff1b; 难点&#xff1a;如何建图&#xff0c;抽象…

spring boot学习第十二篇:mybatis框架中调用存储过程控制事务性

1、MySQL方面&#xff0c;已经准备好了存储过程&#xff0c;参考&#xff1a;MYSQL存储过程&#xff08;含入参、出参&#xff09;-CSDN博客 2、pom.xml文件内容如下&#xff1a; <?xml version"1.0" encoding"UTF-8"?> <project xmlns"…

【Web】vulhub Shiro-550反序列化漏洞复现学习笔记

目录 Shiro简介 复现流程 工具一把梭 半脚本半手动 原理分析 反序列化入口 常见的key 登录过程 验证过程 利用原理 Shiro简介 Apache Shiro 是一个强大且易于使用的 Java 安全框架&#xff0c;用于身份验证、授权、加密和会话管理等安全功能。Shiro 的设计目标是简单…

猫头虎分享已解决Bug || Python Error: NameError: name ‘variable_name‘ is not defined

博主猫头虎的技术世界 &#x1f31f; 欢迎来到猫头虎的博客 — 探索技术的无限可能&#xff01; 专栏链接&#xff1a; &#x1f517; 精选专栏&#xff1a; 《面试题大全》 — 面试准备的宝典&#xff01;《IDEA开发秘籍》 — 提升你的IDEA技能&#xff01;《100天精通鸿蒙》 …

6个好看的wordpress模板

简站wordpress服务业通用主题 2023年立秋纪念版&#xff0c;简站wordpress服务行业通用主题&#xff0c;适合服务行业企业官网使用。 https://www.jianzhanpress.com/?p5393 小语种翻译wordpress主题 小语种国家外贸网站建设需要的wordpress主题模板&#xff0c;适合做小语…