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

相关推荐
聆风吟º3 小时前
CANN开源项目深度实践:基于amct-toolkit实现自动化模型量化与精度保障策略
运维·开源·自动化·cann
Coder个人博客4 小时前
Linux6.19-ARM64 mm mmu子模块深入分析
大数据·linux·车载系统·系统架构·系统安全·鸿蒙系统
较劲男子汉6 小时前
CANN Runtime零拷贝传输技术源码实战 彻底打通Host与Device的数据传输壁垒
运维·服务器·数据库·cann
Doro再努力7 小时前
Vim 快速上手实操手册:从入门到生产环境实战
linux·编辑器·vim
wypywyp7 小时前
8. ubuntu 虚拟机 linux 服务器 TCP/IP 概念辨析
linux·服务器·ubuntu
风流倜傥唐伯虎7 小时前
Spring Boot Jar包生产级启停脚本
java·运维·spring boot
Doro再努力7 小时前
【Linux操作系统10】Makefile深度解析:从依赖推导到有效编译
android·linux·运维·服务器·编辑器·vim
senijusene7 小时前
Linux软件编程:IO编程,标准IO(1)
linux·运维·服务器
不像程序员的程序媛7 小时前
Nginx日志切分
服务器·前端·nginx
忧郁的橙子.7 小时前
02-本地部署Ollama、Python
linux·运维·服务器