嵌入式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

相关推荐
张洛闻Eren7 小时前
MySQL 维护稳定系统【MySQL第二课】
linux·数据库·mysql·云原生
ltl7 小时前
Linux 异步 I/O:epoll 与 io_uring 对比
linux
ltl7 小时前
压缩算法工程实践:吞吐、比率与 CPU 权衡
linux
fiveym8 小时前
01 - iPXE + Clonezilla 网络装机原理解析
linux·运维·服务器·网络
虎头金猫8 小时前
如何在群晖NAS上通过Docker部署CloudSaver?群晖部署CloudSaver教程|聚合资源搜索并实现远程访问
运维·服务器·网络·python·docker·容器·pandas
dog2508 小时前
网络优化,还是降低各阶矩
服务器·网络·php
反转180度9 小时前
Qt 6 + C++17 实现 SFTP 批量部署:工业设备运维工具实战解析
运维·c++·qt
雨辰AI10 小时前
RAG 知识库搭建:基于人大金仓构建信创运维问答机器人|全栈国产化落地完整版
运维·ai·机器人·ai编程
-今昭-10 小时前
Ansible
linux·运维·ansible
星野川崎20610 小时前
电商多店运维:云机长期挂机频繁掉线、账号无故风控原因剖析与解决方案
大数据·运维·云计算·电商