当前位置: 首页 > news >正文

嵌入式linux架构理解(宏观理解)6ull学习心得---从架构理解到自写程序运行及自写程序开机自启动

一、linux系统的三个组成部分

U-Boot、Linux kernel 和 rootfs 这三者一起构成了一个完整的 Linux 系
统,一个可以正常使用、功能完善的 Linux 系统。

1.在移植 Linux之前我们需要先移植一个 bootloader 代码,这个 bootloader 代码用于启动 Linux 内核,bootloader有很多,常用的就是 U-Boot。
·
2.移植好 U-Boot 以后再移植 Linux 内核, 移植完 Linux 内核以后
·
3.Linux 还不能正常启动,还需要再移植一个根文件系统(rootfs),根文件系统里面包含了一些最常用的命令和文件。
·
所以 U-Boot、Linux kernel 和 rootfs 这三者一起构成了一个完整的 Linux 系统,一个可以正常使用、功能完善的
Linux 系统。

1.uboot

下载 编译 烧录

MobaXterm 上出现“Hit any key to stop autoboot: ”倒计时的时候按下键盘上的回车键,默认是 3 秒倒计时,在 3 秒倒计时结束以后如果没有按下回车键的话 uboot 就会使用默认参数来启动 Linux 内核了。如果在 3 秒倒计时结束之前按下回车键,那么就会进入 uboot 的命令行模式

2.1.linux内核

a.Linux 镜像文件-----zImage
编译后会在 arch/arm/boot 目录下生成一个叫做 zImage 的文件
zImage 就是我们要用的 Linux 镜像文件
b.dtb(设备树)文件--------比如imx6ull-14x14-evk.dtb

另外也会在 arch/arm/boot/dts 下生成很多.dtb 文件,这些.dtb 就是
设备树文件。

2.2.使用uboot中的命令启动linux

(1)通过网络启动linux

a.将zImage 和 imx6ull-14x14-emmc-7-1024x600-c.dtb 发送到 Ubuntu 主机中的 tftpboot 文件夹里面

b.给予 imx6ull-14x14-emmc-7-1024x600-c.dtb 可执行权限

chmod 777 imx6ull-14x14-emmc-7-1024x600-c.dtb

c.使用 tftp 命令
将zImage 下载到DRAM的0X80800000地址处,然后将设备树imx6ull-14x14-emmc-7-1024x600-c.dtb 下载到 DRAM 中的 0X83000000 地址处,最后之后命令 bootz 启动,命令如下:

"
tftp 80800000 zImage 
tftp 83000000 imx6ull-14x14-emmc-7-1024x600-c.dtb 
bootz 80800000 - 83000000 
"

(2)从EMMC中启动linux

如果我们要从 EMMC 中启动 Linux 系统的话只需要使用命令 fatload 将 zImage 和 imx6ull-14x14-emmc-7-1024x600-c.dtb 从
EMMC 的分区 1 中拷贝到 DRAM 中,然后使用命令 bootz 启动即可。

"
fatload mmc 1:1 

相关文章:

  • 几个常用的快速处理服务器命令和故障排查
  • 每天学一个 Linux 命令(20):find
  • MySQL Limit 分页查询性能问题及优化方案
  • 配电监控DLT645电表数据 转EthernetIP项目案例
  • 2024年RIS SCI2区:自适应天鹰算法AAO,深度解析+性能实测
  • 如何开一个线上故障复盘会
  • DeepSeek 部署中的常见问题及解决方案
  • Windows 图形显示驱动开发-WDDM 1.2功能—Windows 8 中的 DirectX 功能改进(五)
  • 图扑低代码数字孪生平台,搭建工业组态大屏
  • 2025年第十六届蓝桥杯Python程序设计赛道B组
  • 科技如何改变世界?
  • 人工智能在后端开发中的革命:从架构到运维
  • C++ 常用的智能指针
  • 一站式解决Cursor免费版限制50次问题
  • Git合并分支的两种常用方式`git merge`和`git cherry-pick`
  • 3D 视觉赋能仓储精准高效:ID Logistics 与 Stereolabs 的创新合作之旅
  • 替代升级VMware | 云轴科技ZStack构建山西证券一云多芯云平台
  • golang channel源码
  • goland做验证码识别时报“undefined: gosseract.NewClient”
  • GitHub SSH连接终极解决方案
  • 微软上财季净利增长18%:云业务增速环比提高,业绩指引高于预期
  • 强制性国家标准《危险化学品企业安全生产标准化通用规范》发布
  • “五一”逃离城市计划:带上帐篷去大自然里充电
  • 许峰已任江苏省南京市副市长
  • 上海74岁老人宜春旅游时救起落水儿童,“小孩在挣扎容不得多想”
  • 圆桌|特朗普上台百日未能结束俄乌冲突,若美国“退出”会发生什么?