自学SylixOS启程之旅笔记

  • 一、SylixOS 引导过程分析
    • 1. SylixOS 常用引导程序
    • 2. SylixOS 支持ARM设备的几种引导方式
    • 3.SylixOS引导过程分析——总流程分析
      • 3.1 一个设备从上电到启动完成的整个流程
      • 3.2 引导程序和操作系统镜像的存储
      • 3.3 U-Boot引导SylixOS
  • 二、引导过程中的几个基本概念
    • 2.1 运行地址和加载地址
    • 2.2 BIN 文件与 ELF 文件
  • 三、在ARM设备上安装SylixOS
    • 3.1 设备环境说明
    • 3.2 启动IDE中的 tfpt 服务器
    • 3.3 U-Boot 的常用命令
    • 3.4 网络启动 SylixOS
      • 3.4.1 总体概述
      • 3.4.2 具体流程
    • 3.5 SylixOS系统固化
      • 3.5.1 总体概述
      • 3.5.2 具体流程
        • 3.5.2.1 对SD卡进行分区
        • 3.5.2.2 格式化
        • 3.5.2.3 将SylixOS镜像文件放到U-Boot下
    • 3.5 设置从SD卡启动 SylixOS
      • 3.5.1 总体概述
      • 3.5.2 具体流程
    • 3.6 安装过程中的补充说明
  • 四、在线更新SylixOS系统
  • 五、开源的SylixOS BSP

《SylixOS启程之旅》是一门公开课,点开下面链接即可观看:
SylixOS启程之旅

一、SylixOS 引导过程分析

1. SylixOS 常用引导程序

  1. U-Boot
    U-Boot是在嵌入式领域应用最广泛的一个开源的引导程序。功能非常强大。U-Boot支持丰富的设备驱动,如串口、以太网卡,SDRAM,Flash,EP2ROM等。同时还提供丰富的用户接口命令,支持串口 网络文件下载功能。 支持多种微处理器架构,如ARM、PowerPC、SPARC、RISC-V和C-SKY等。

  2. PMON
    PMON国产龙芯处理器(MIPS)采用它作为其引导程序

  3. GRUB
    GRUB多用于X86处理器的引导程序,支持多种操作系统引导,如Linux,SylixOS等(SylixOS在X86处理器上运行用到的引导程序就是GRUB)

2. SylixOS 支持ARM设备的几种引导方式

3.SylixOS引导过程分析——总流程分析

3.1 一个设备从上电到启动完成的整个流程

  1. 没有操作系统的设备
    系统上电——>直接执行系统应用程序
  2. 有操作系统的设备
    (0)系统上电后,CPU执行ROM上的硬件出厂固化的启动程序。
    (1)启动程序根据启动引脚找到外部设备。通常外部设备起始位置存放着引导程序BootLoader。启动程序找到这个引导程序BootLoader。
    (2)硬件将外存中的BootLoader引导程序加载到内存RAM中运行。
    (3)BootLoader再去加载操作系统到RAM中运行。
    (4)启动操作系统。

3.2 引导程序和操作系统镜像的存储

3.3 U-Boot引导SylixOS

  1. 总体流程

  2. U-Boot第一阶段

  3. U-Boot第二阶段

二、引导过程中的几个基本概念

2.1 运行地址和加载地址

2.2 BIN 文件与 ELF 文件


SylixOS IDE在编译BSP时,会同时生成 BIN 和 ELF 文件,开发者可以根部自己实际需求来选择相应的文件。目前只有龙芯和 X86 用 ELF 文件,其他都用的 BIN 文件。

三、在ARM设备上安装SylixOS

3.1 设备环境说明

3.2 启动IDE中的 tfpt 服务器

3.3 U-Boot 的常用命令

3.4 网络启动 SylixOS

3.4.1 总体概述

3.4.2 具体流程

  1. 通过 setenv 命令设置ipaddr、netmask、serverip等环境变量

  2. 通过 ping 命令测试网络是否连通

  3. 通过saveenv 命令保存环境变量

  4. 通过 tfptboot 命令下载并加载 SylixOS镜像文件,

  5. 执行 go 命令,去指定的地址执行操作系统内核程序,启动操作系统

3.5 SylixOS系统固化

通过网络加载的SylixOS 镜像文件,只存在于内存中。 重启后就没有了,因此我们需要对操作系统镜像进行固化。

3.5.1 总体概述

3.5.2 具体流程

3.5.2.1 对SD卡进行分区

SylixOS 一般分两个区,一个存放SylixOS 镜像文件,一个作为SylixOS操作系统和用户来使用。
这里的分区是3个区,一般是两个区,这里因为提前已经把U-Boot程序烧入了SD卡,它存放在SD卡开始的7M空间里。所以分区时多一个分区。

  1. 分区前先检查一下SD卡是否挂载文件。若有输入 umount sd ,命令进行删除。
  2. 输入 cd /dev 命令查看sd卡在哪里。
    我们这里是快存储,所以在blk/ 下。然后输入 cd /blk 命令查看当前内存的大小。输入ll 命令,发现它是14G。
  3. 输入 fdisk -f sdcard-0 命令进行分区

这里问要分几个分区 : 3
问是第一个分区大小。一般选择4K(注意输入的不是4K 而是对应字节大小):4096
问第一个分区占总存储的百分比,因为我们U-Boot文件只有7M,所以这里只需要 1%(已经14M了) :1
问是否激活第一分区(是):y
问第一个分区的文件类型(这里选择保留分区):4
问第二个分区大小,这里存放SylixOS 镜像文件(10%):10
问是否激活第二分区:y
问第二个分区文件类型:FTA
问第三个分区大小:0
问是否激活第三个分区: n
第三个分区文件类型:TPSFS(掉电安全文件系统)
分区成功。

3.5.2.2 格式化

  1. 我们需要先把SD卡挂载上去 输入命令:remount sdcard-0 ,样表示我们把SD卡重新挂载到SylixOS上了。
  2. 输入 mkfs sdc 进行格式化

3.5.2.3 将SylixOS镜像文件放到U-Boot下

  1. 将SylixOS镜像文件上传到我们根目录的boot文件下

  2. 我们先输入cd /boot 进入这个目录 在输入 ll 命令查看是否有文件

  3. 到IDE内进行操作,将SylixOS镜像文件上传到我们的boot文件上。


  4. 去我们虚拟机上进行确认

3.5 设置从SD卡启动 SylixOS

3.5.1 总体概述

3.5.2 具体流程


输入命令:setenv sylixOS_mme_boot “fatload mmc 0:2 0x49000000 bsporangepi_oneplus_bin; go64 0x29000000”




3.6 安装过程中的补充说明

四、在线更新SylixOS系统

五、开源的SylixOS BSP

SylixOS学习三—— SylixOS的引导与安装1相关推荐

  1. SylixOS学习三—— SylixOS的引导与安装2

    自学SylixOS启程之旅笔记 一.x86与龙芯.飞腾的 boot loader 1.1 SylixOS在X86架构下的引导方式 1.2 Grub 识别的 Boot 分区文件 二.在 X86 平台上启 ...

  2. SylixOS学习二—— SylixOS认识和使用_SylixOS虚拟机使用

    自学SylixOS启程之旅笔记 一.IDE初识 二.演示在IDE里新建一个app 上传到虚拟机里运行 2.1 新建base工程 2.2 新建 一个SylixOS App 2.3 将我们刚刚新建好的 S ...

  3. SylixOS学习二—— SylixOS启程之旅_SylixOS 系统概览

    自学SylixOS启程之旅笔记 一.SylixOS系统目录 1.ll 指令可以查看目录的详细信息 2. 部分目录介绍 2.1 apps目录 2.2 etc目录 2.3 lib 目录 2.4 proc ...

  4. SylixOS学习一—— SylixOS启程之旅 虚拟机配置

    自学SylixOS启程之旅笔记 1. 在没有打开虚拟机的情况下,点击设置按钮 2. 建立网络通信连接 3.查看虚拟机当前IP 4. 关闭虚拟机回到步骤2 5. 验证是否成功: <SylixOS启 ...

  5. SylixOS学习二—— SylixOS启程之旅_ SylixOS系统配置

    自学SylixOS启程之旅笔记 一. 网络配置 1.配置临时网络 2. 长期配置,修改ifparam.ini文件 二. 系统启动默认执行脚本 <SylixOS启程之旅>是一门公开课,点开下 ...

  6. 大数据基础学习三:Ubuntu下安装VMware Tools超详细步骤及需要注意的问题(以ubuntu-18.04.3、Mware Workstation 15.1.0 Pro为例)

    大数据基础学习三:Ubuntu下安装VMware Tools超详细步骤及需要注意的问题 (以ubuntu-18.04.3.Mware Workstation 15.1.0 Pro for Window ...

  7. centos7安装mysql5.7.16_Linux学习三Centos7安装mysql5.7.16数据库的详细教程

    这篇文章主要为大家详细介绍了Linux学习第三篇,Centos7安装mysql5.7.16数据库,具有一定的参考价值,感兴趣的小伙伴们可以参考一下 如果您有服务器咨询问题.购买问题.可以联系我们客服 ...

  8. Linux学习之如何在物理机上安装Linux发行版

    Linux学习之如何在物理机上安装Linux发行版 第一步:制作系统安装盘 准备一个至少8GB的空白U盘. 下载启动盘制作工具Rufus,下载链接:https://pan.baidu.com/s/1C ...

  9. dell服务器 引导程序,DELL服务器引导过程安装说明

    <DELL服务器引导过程安装说明>由会员分享,可在线阅读,更多相关<DELL服务器引导过程安装说明(13页珍藏版)>请在人人文库网上搜索. 1.DELL服务器系统安装引导过程详 ...

  10. HTTP学习三:HTTPS

    HTTP学习三:HTTPS 1 HTTP安全问题 HTTP1.0/1.1在网络中是明文传输的,因此会被黑客进行攻击. 1.1 窃取数据 因为HTTP1.0/1.1是明文的,黑客很容易获得用户的重要数据 ...

最新文章

  1. 如何使用pyecharts中的主题样式?
  2. c语言排序教学过程,C语言中冒泡排序算法教学设计
  3. python3 字符串转数组 数组转字符串 切片操作
  4. mvd没什么每次参数双都多一个逗号_学服装设计后,家里多了哪些奇怪又可爱的宝藏物品?...
  5. linux为什么创建不了分区,linux下扩容磁盘扩展分区解决因无法创建新分区不能扩容lvm问题...
  6. Oracle SQL脚本学习记录一
  7. springcloud系列三 搭建服务模块
  8. 【软考高项】信息系统项目管理师 论文写作技巧分享 (下)
  9. 问题 L: 一年中的第几天
  10. Paraview源码解析2:vtkArrowGlyphFilter类
  11. 2021CCPC东北四省赛 解题报告
  12. 在下拉列表框上添加--请选择--
  13. 女孩做妻子前应知道的十件事
  14. NEO改进协议提案9(NEP-9)
  15. 未明学院:国际政治专业出身,如何pk掉港大、美籍商科生,拿下亚马逊市场部德勤offer!
  16. 【新年计划】过去的2021,2022年的期许
  17. YARN | 让你彻底搞明白YARN资源分配
  18. 服务器型号类型,cpu类型和型号服务器
  19. 战地指挥官 服务器维护,战地指挥官有哪些常见问题以及解决方法
  20. 使用环信进行即时通信IM

热门文章

  1. 计算机电子书 2018 BiliDrive 备份
  2. 校园卡系统mysql与java结合_基于Java+JSP+Mysq+Servletl的校园卡一卡通管理系统
  3. qtp测试 java web_QTP之web常用对象
  4. Java程序设计(基础)- 概述
  5. dump文件 linux,Linux下快速分析DUMP文件
  6. 【HUST】网安|计算机网络安全实验|实验一 TCP协议漏洞及利用
  7. 《软件工程导论》期末复习知识点总结(全)
  8. 在线合成车牌照片【模拟车牌,用于车牌识别项目测试】
  9. c#编写高程拟合程序
  10. python 百度翻译破解版,亲证可行