嵌入式Linux | 什么是 BootLoader、Linux 内核(kernel)、和文件系统?

01

什么是BootLoader呢?

它是个引导程序 ,也就是硬件复位 以后第一个要执行的程序,它主要工作就是初始化操作系统运行的环境,比如说内存、定时器、缓冲器 等,当这个工作做完以后,再++把操作系统的代码加载到内存++,然后操作系统就可以启动并执行,到此为止,bootloader 的任务就完成了。

bootloder 类型,比如 U-BOOT、REDBOOT、LILO 等等,俺的开发板用的是 Uboot。

02

什么是Kernel呢?

Kernel就是 Linux 的内核,也就是说 Linux 操作系统本身的代码。那么 U-BOOT 启动到最后,把++Linux内核加载到内存,并且跳转到++++Kernel++来执行。

03

什么是文件系统呢?

Linux 内核启动到最后一定要挂载一个文件系统。这个是 Linux 的一个特点,它不像其他操作系统。像QT系统、Android系统、以及Ubuntu系统它们的底层都是 Linux 内核,不同的是它们的文件系统不一样。

Uboot****、Kernel、文件系统,最后编译生成出来分别是一个独立的文件,

就是说会生成三个文件,最后我们要学会把这几个文件烧写到板子上。

04

什么是应用程序呢?

它是运行在操作系统上面,通过调用操作系统的资源去工作,是最终的业务逻辑,比如我们 Windows 上面有很多的应用程序,像 QQ、WPS、WORD、EXEL 等,各种各样应用程序有很多。

05

Linux****驱动

Linux 的驱动包括有三种:字符设备、块设备以及网络设备

06

嵌入式大佬

  1. ++基本数字电路+++++ C++++语言+++++++++基础框架知识++++----->++++嵌入式驱动工程师++

  2. ++数据结构+++++++++编译原理++++------>++++高级嵌入式驱动工程师++

  3. ++计算机系统体系结构+++++++++操作系统(从抽象到具体)++++------->++++系统架构工程师++

07

学习路线

08

环境搭建

|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| 虚拟机安装和Linux操作系统教程 |
| Linux | Linux 磁盘管理 |
| Qt | ubuntu20.04安装Qt6.5.3并创建一个app完整教程(涉及诸多开发细节,商用慎重) |
| ubuntu+MobaXterm+ssh+运行Qt |

ubuntu下载地址为:

https://www.ubuntu.com/download/desktop

Ubuntu 的安装位置一定要选择一个比较大的盘符,

如果大家的电脑内存只有 8 GB ,那么大家也设置成一半,也就是 4GB 就可以了.

然后设置处理器,因为作者的电脑是四核的,所以我直接把这儿设置成 4,每个处理器内核数量我们这里一般都设置成 1.

09

桥接模式、NAT 模式、仅主机模式,这三个模式都是什么呢。

  • 桥接模式 就好比,把虚拟机和电脑主机都连接到了同一个局域网下,在这个局域网下,所有的电脑主机都可以访问虚拟机(SSH可以多连接),同样虚拟机也可以访问在这个局域网下的所有电脑主机。后面我们在用 nfs功能的时候,一定要用桥接模式,用别的模式都是不行的,这里直接选桥接模式是没有问题的。

  • NAT****模式它好比于把虚拟机和电脑主机放到了同一个局域网下,

    但是在这个局域网下的另外的主机是不能访问我们的虚拟机的。

  • 仅主机模式就好比我们的虚拟机是一台独立的机器,和我们这个局域网下的任何机器都没有关系,当然和我们的主机也没有关系,这个我们一般不用。

USB 控制器,兼容性这里我们把它设置为 3.0。最后一个就是显示器,取消勾选"加速 3D 图形"。设置好了之后点击"确定",这样虚拟机的硬件设置就已经完成了。

设置分辨率Displays

相关推荐
上海蓝色星球4 小时前
迈向智慧电网新纪元:上海蓝色星球数字孪生变电主子站系统
运维·数据库
南棱笑笑生5 小时前
20251217给飞凌OK3588-C开发板适配Rockchip原厂的Buildroot【linux-5.10】后调通ov5645【只能预览】
linux·c语言·开发语言·rockchip
爬山算法6 小时前
Netty(10)Netty的粘包和拆包问题是什么?如何解决它们?
服务器·网络·tcp/ip
Sleepy MargulisItG6 小时前
【Linux网络编程】应用层协议:HTTP协议
linux·服务器·网络·http
logic_56 小时前
静态路由配置
运维·服务器·网络
G31135422736 小时前
Linux 内核设计中的核心思想与架构原则
linux·架构·php
zhuzewennamoamtf6 小时前
Linux内核platform抽象、数据结构、内核匹配机制
linux·运维·数据结构
门思科技7 小时前
企业级 LoRaWAN 网关远程运维方案对比:VPN 与 NPS FRP 的技术与安全差异分析
运维·网络·安全
云和数据.ChenGuang7 小时前
Deepseek 持续迭代的模型
运维·运维技术·数据库运维工程师·运维教程
物联网软硬件开发-轨物科技7 小时前
【轨物方案】聚焦锯床设备智能化升级,打造工业互联网新范式
运维·科技·物联网