【Linux系统引导过程详解】 Linux系统的引导流程是一个复杂但有序的过程,主要分为以下几个步骤: 1. **BIOS自检和MBR加载**:系统启动时,计算机的BIOS(基本输入输出系统)会进行硬件自检(POST),然后读取硬盘的第一个扇区,即主引导记录(MBR)。MBR中包含了一个引导加载器的小程序。 2. **引导加载器**:MBR中的引导加载器,如LILO或GRUB,负责加载更复杂的第二阶段引导加载器。GRUB提供更为灵活的配置,支持多操作系统选择和故障恢复选项。 3. **内核加载**:第二阶段引导加载器从指定位置加载Linux内核到内存。在软盘启动Linux的情况下,这个过程也类似,只是加载的介质不同。 4. **硬件检测与初始化**:内核被加载到内存后,会进行硬件检测(dmesg),识别和初始化系统中的各种设备,包括CPU、内存、硬盘、网络接口等。 5. **驱动程序加载**:内核根据设备树和模块自动加载相应的驱动程序,确保硬件设备能够正常工作。 6. **挂载根文件系统**:内核找到根目录(/)所在的文件系统,并将其挂载到内存中,这是系统启动过程中非常关键的一步。 7. **初始化系统进程(init)**:内核启动最后一个用户态程序`/sbin/init`,它是系统初始化的起点。`init`根据配置文件(如`/etc/inittab`)确定系统运行级别,启动其他系统服务。 8. **运行级服务**:根据运行级别,`init`会启动一系列后台服务(daemon),如网络服务、日志服务、守护进程等,以提供系统功能。 9. **启动终端和登录提示**:在多用户模式下,`init`会启动控制台终端,显示登录提示,允许用户输入用户名和密码。 在制作最小的Linux系统,如BabyLinux时,这些过程都需要被简化和定制。编译内核时,只保留必要的模块和支持,以减少体积。Busybox则是一个集成了大量基础命令的单一可执行文件,用于替换常规的命令行工具,大大减小了系统的大小。根文件系统也需要精简,仅保留最基本的应用和服务,例如网络支持和文件系统管理。将内核和 Busybox 整合,制作成ramdisk映象文件,这样整个系统就可以在内存中运行,进一步提高效率。 制作最小Linux系统不仅有助于理解Linux的运作机制,而且对于学习Linux内核、系统构建和调试有极大的帮助。无论是作为启动盘、修复工具,还是作为路由器软件,这种小型Linux系统都有其独特的价值。对于有足够Linux知识基础的爱好者来说,这是一个既有趣又有挑战性的项目。而对于新手,虽然难度较大,但通过逐步学习和实践,也能从中收获颇丰。
2025-11-06 14:59:50 87KB linux
1
可以说,中央处理器(CPU)是现代社会飞速运转的动力源泉,在任何电子设备上都可以找到微芯片的身影,不过也有人不屑一顾,认为处理器这东西没什么技术含量,不过是一堆沙子的聚合而已。是么?Intel今天就公布了大量图文资料,详细展示了从沙子到芯片的全过程,简单与否一看便知。
2024-11-14 17:14:28 202KB intel
1
DIY小型数控电脑雕刻机制作全过程
2023-04-20 20:47:23 7.05MB DIY 小型数控 雕刻机制作 制作过程
1
arduino智能小车 一,所需元件 arduino nano一个(Uno太大,所以选择了体积较小的Nano) L298N电机驱动模块一个 直流减速电机两个 万向轮一个 亚克力板 轮胎两个 TCRT5000寻迹传感器四个 (速成可直接跳到三,连线部分) 二,元器件的详细介绍 (1)arduino nano 下面看一张Nano的图,比较生涩难懂,没关系,我也没搞懂。在本项目中只需要大家知道GDN(Ground)是接地的,3v3和5v是输出电压的(给Nano板通电及能用)。图中曲线的引脚(D3,D5,D6,D9,D10,D11)可进行PWM输出。(通俗的讲:这几个引脚可以输出低电压到高电压中间的任何一个值,而其他的引脚要么输出高电压,要么输出低电压) (2)L298N电机驱动模块 具体长这样(图来自tb)注意红色圈出的地方:写有ENA,IN1,IN2,IN3,IN4,ENB。ENA相当于EN1,EN2的总开关,ENB对应IN3,IN4的总开关。例:让ENA为高电平,IN1,IN2脚位给什么信号就是什么信号,若ENA为低电平,IN1,IN2无论给什么信号这两个脚位都是低电平。
2023-03-29 09:40:19 1.06MB Arduino 循迹小车
1
微信已经成为了我们日常生活中不可缺少的工具,一年一度的除夕我们也都想第一时间给共度了一年的朋友们发去新年祝福。但除夕除了要忙碌地准备年夜饭,更是难得的一家人团聚时光,如果朋友一多,微信发祝福就显得有心无力了。 一、这是一个微信群发助手,可以实现以下功能: 1.登录微信并导出微信好友列表 2.给微信好友批量发送个性化消息和图片 3.生成微信好友头像图片墙 二、安装说明: 1.本软件仅适用于Windows平台,MacOS暂时不适配。 2.点击下载软件压缩包:WeChatFriendTool_1.0.zip,并且进行解压。 3.将解压后的文件夹添加到白名单 4.本软件依赖于WeChat 3.3.0.115版本,因此需要在电脑中安装此版本微信,点击下载,解压并安装:WeChat 3.3.0.115 5.这样就完成系统配置了,双击WeChatFriendTool_1.0文件夹下的main.exe即可以运行程序了。 6.具体的安装和设置可见本人博客的文章:https://ferryxie.com/archives/4116
2023-02-04 19:50:47 46.5MB 微信助手 群发 个性化群发 微信
1
光立方制作过程图文详解,看完就能动手制作 光立方的bom表 光立方演示视频(动画1,源代码见附件) 光立方演示视频(动画2,源代码见附件) 附件包含光立方的详细制作过程,源代码
2022-11-09 22:13:08 9.6MB 光立方 电路方案
1
DIY_51 套件使用说明书 一、 焊接注意事项 本款套件共有 105 颗物料,其中贴片 2 颗料,PCB 人性化设计,不仅标注了器件位号, 同时也在适当位置标注了参数,方便大家 DIY。焊接过程,按照从贴片到插件,从低到高的 原则,为减少大家的焊接难度,设计者在 BOM 清单上已经为大家整理好顺序,按照 BOM 顺序从上到下焊接即可。 二 、 开发板概述 本款开发板共集成了 17 个独立模块,分别包括电源部分、USB 转串口、蜂鸣器、直流 电机驱动、步进电机驱动、LCD12864 显示接口、LCD1602 显示接口、继电器、ISP 下载座、 复位电路、8*8 矩阵键盘、1*4 独立按键、红
2022-11-09 16:42:10 1.29MB 51套件 单片机
1
智能循迹小车详细制作过程
2022-10-14 19:05:43 722KB 智能循迹小车详细制作过程
1
本资源是一个使用ps制作的播放器,里面含有psd文件以及详细制作该播放器的步骤的实验报告,有需要的同学可以下载看看。
1
unity小游戏制作 unity初学者
2022-04-19 18:11:43 2.02MB unity 游戏引擎 c# 开发语言
1