首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

linux内核启动流程分析 - efi_main

上一篇文章 linux内核启动流程分析 - efi_stub_entry 中,为了叙述方便,我们只是粗略的讲了下efi_main函数,这里我们再具体看下。 ?...有关boot_params的创建及其hdr的初始化,我们在 linux内核启动流程分析 - efi_pe_entry 中有讲到,这里就不再赘述。 继续看该函数的其余部分。 ?...而710行中的image_offset是kernel在内存的起始地址到compressed部分起始地址(startup_32的地址)的偏移量,这个在 linux内核启动流程分析 - efi_pe_entry...它表示的是kernel在启动过程中需要的内存大小。...linux内核构建结束后,最终生成的文件是 arch/x86/boot/bzImage,这其实是个压缩过的内核,在kernel启动过程中,还要在内存中对内核进行解压,进而得到真正的内核。

3.6K30
您找到你想要的搜索结果了吗?
是的
没有找到

linux efi shell,EFI Shell 命令说明「建议收藏」

文件系统命令— EFI Shell用于管理文件、目录和属性的命令。 attrib 显示(或更改)文件(或目录)的属性。 cd 更新(或查看)当前目录。...vol 显示文件系统的卷信息。 内存命令 — EFI Shell 用于列出和管理内存、EFI 变量和 NVRAM 详细信息的命令。 default 设置缺省的 NVRAM 值。...UEFI Shell命令操作总结 什么是UEFI ShellUEFI Shell是一种特殊对待UEFI_APPLICATION.提供用户和UEFI系统之间的一个接口.它有很强大的功能,但是正常启动计算机系统时...1.创建表 create ‘表名称’,‘列族名称1’,‘列族名称1’create ‘test_M_01’, … Linux SHELL 命令入门题目答案(一) 1.如何使用shell 打印 “Hello...使用单引号ech … Linux SHELL 命令入门题目(一) 新年新气象,注重知识积累,提高手敲代码能力,而不是眼高手低,只会复制黏贴. 1.使用shell 打印 “Hello World!”

9.5K10

Linux系统启动,命令,文件详解(更新)

Linux系统的启动 常用命令 文件系统 文件类型 文件属性 常见的文件扩展名 Linux系统的启动 引导 我们在打开电源后,计算机会寻找在ROM芯片(保存计算机最基本的输入输出以及开机自检,自启动程序的芯片...运行 接管计算机后,会首先读取 /boot 目录下的内核文件,并启动 init(这是Linux操作系统中所有进程的起点,如果没有该进程,系统就不会启动其他任何进程)进程。...init 进程首先会读取配置文件 /etc/init,然后根据配置启动需要开机启动的程序(比如启动桌面程序) 此外,Linux系统启动时还需要做大量的初始化工作,网络设置,挂载文件系统和交换分区等工作.../usr/sbin 超级用户的一些管理程序 /usr/doc linux文档 /usr/include linux下开发和编译应用程序所需要的头文件 /usr/lib 常用的动态链接库和软件包的配置文件...regular file - Linux中最多的一种文件类型, 包括 纯文本文件(ASCII);二进制文件(binary);数据格式的文件(data);各种压缩文件.第一个属性为 [-] 目录文件 directory

2.7K10

深入理解 Linux 启动过程 | QEMU 启动 linux 内核和自制根文件系统

跟我一起来到故事开始的地方,深入 Linux 系统的启动流程,自己编译内核并制作根文件系统,并使用 QEMU 模拟启动。 前置知识# 昨天看到阮老师两篇文章 《计算机是如何启动的?》...和 《Linux启动流程》,对计算机的启动流程有了更加深入的理解,正好最近在做国产申威处理器的虚拟化支持性调研,称此机会深入了解一下 Linux 系统的启动流程,并使用 QEMU 模拟这一流程。...# 下面介绍使用 QEMU 模拟启动内核和根文件系统的方法,让 Linux 启动流程有一个更加具体的认识。...为了模拟启动,需要准备编译好的内核 bzImage 和根文件系统,下面分别介绍。...由于BusyBox可执行文件文件比较小,使得它非常适合使用于嵌入式系统。作者将BusyBox称为“嵌入式Linux的瑞士军刀”。

2.6K30

Linux如何添加自启动文件(添加在哪里)

本文说的启动文件指的是内核启动之后,启动文件系统系统过程中添加自启动文件。...文件启动顺序 /etc/inittab > /etc/init.d/rcS 首先根文件系统会启动/etc/inittab,然后会启动 /etc/init.d/rcS这个文件,这个顺序在各个版本中基本都是保持不变的...我们从 /etc/init.d/rcS这个文件开始关注如何添加自己的启动文件。 这个rcS文件不同版本写法不一样。...添加文件 有rc.local这个文件 经常可以看到有些介绍让把自启动应用程序放入rc.local这个文件的,这个文件通常是最后启动的,一般在/etc/rcS.d这个文件里(链接文件)。.../testfile & // &表示此文件在后台运行 将文件放入/etc/init.d文件夹中,为文件赋予权限。

14.8K40

linux内核启动流程分析 - efistub的入口函数

linux内核的启动流程涉及的东西非常多,而且偏硬件,比较难理解,写这个系列其实还是挺有难度的,我会尽量讲的透彻一点,尽量不敷衍每个细节。 好,那今天我们就从如何找到efi stub的入口函数讲起。...通过efi stub,linux内核可以在不使用grub等传统boot loader的情况下,直接在uefi硬件上,以uefi application的方式启动,可以说是非常简单。...linux内核efi stub有关pecoff 格式定义的部分都在 arch/x86/boot/header.S 这个文件里,具体如下: ?...现在,我们就找到了efi stub的入口函数。 这样,当linux内核以 uefi application 的形式,被 uefi 直接启动时,被执行的第一行代码就是这个方法。...或者说,在 uefi 平台上,以 efi stub形式启动内核时,开机后内核执行的第一个方法就是该方法。 以这里为起点,我们就可以开始探索linux内核的完整启动流程了。

3.4K30

Linux启动流程

Linux操作系统的启动过程是一个复杂而精密的流程,涉及到多个阶段和组件。本文将对Linux启动流程进行深入探讨,并对比不同发行版之间的一些差异。...Grub的启动流程主要包括: 加载配置文件: Grub会读取并加载配置文件,其中包含了指定内核位置、内核参数等信息。...加载内核: 根据配置文件的指示,Grub会从指定位置加载Linux内核到内存。 初始化RAM磁盘: Grub会将RAM磁盘初始化为根文件系统。...Syslinux的启动流程相对简单: 加载配置文件: Syslinux读取配置文件,其中包含了引导选项和内核位置。 加载内核: Syslinux加载Linux内核到内存。...通过对比不同发行版的启动流程,我们能更好地理解Linux系统的运作机制,为故障排查和系统优化提供更深入的了解。希望本文能够帮助读者更好地理解Linux启动流程,并在实际应用中发挥作用。

24010

linux启动流程

每次打开 Linux PC 时,它都会经历一系列阶段,然后最终显示提示输入用户名或密码的登录屏幕。每个 Linux 发行版在典型的启动过程中都会经历 4 个不同的阶段。...每次打开 Linux PC 时,它都会经历一系列阶段,然后最终显示提示输入用户名或密码的登录屏幕。每个 Linux 发行版在典型的启动过程中都会经历 4 个不同的阶段。...当 Linux 系统启动时,BIOS(基本输入输出系统)启动并执行开机自检(POST)。这是执行大量诊断检查的完整性检查。...grub2 配置文件是/boot/grub2/grub2.cfg文件。GRUB 的主要目标是将 Linux 内核加载到主内存中。 3. 内核初始化 内核是任何 Linux 系统的核心。...启动 Systemd 内核最终加载了Systemd,它是旧SysVinit的替代品。Systemd是所有 Linux 进程的母体,并管理文件系统的挂载、启动和停止服务等等。

12.1K10

Arch Linux切换rEFInd开机引导程序

,虽然它的却很强大,但是文件结构有点复杂,配置影响因素有点多 安装rEFInd sudo pacman -S refind-efi 配置 备份原有引导 首先备份移除原有的bootloader,我之前用的是...bootctl,所以需要备份/boot/loader文件夹和/boot/EFI/systemd/systemd-bootx64.efi文件 cp -r /boot/loader ~/loader cp...-r /boot/EFI/systemd ~/systemd 配置rEFInd 安装rEFInd引导文件启动分区: sudo refind-install 一般情况下能够直接进行安装,如果出问题请查看...配置自定义启动项 编辑文件/boot/EFI/refind/refind.conf中向下滑差不多到3/4位置的位置中的Arch Linux小节,将其中的文件配置成自己的启动方式,下面的例子是我的 menuentry..."Arch Linux" { icon /EFI/refind/themes/refind-ambience/icons/os_arch.png #volume "Arch

6.8K10

Linux启动流程

关于/etc/inittab文件的学问,其实还有很多 启动第六步--init进程执行rc.sysinit 在设定了运行等级后,Linux系统执行的第一个用户层文件就是/etc/rc.d/rc.sysinit...:) 嵌入式系统Linux启动流程: 一个嵌入式 Linux 系统从软件角度看可以分为四个部分:引导加载程序(Bootloader), Linux 内核,文件系统,应用程序。...Linux 内核在完成系统的初始化之后需要挂载某个文件系统作为根文件系统(Root Filesystem),然后加载必要的内核模块,启动应用程序。...这就是嵌入式Linux系统启动过程 Linux 引导的整个过程。...根文件系统是 Linux 系统的核心组成部分,它可以作为Linux 系统中文件和数据的存储区域,通常它还包括系统配置文件和运行应用软件所需要的库。

8.5K50

Linux启动流程

Linux Linux启动流程(了解) 加载BIOS(Basic Input Output System):BIOS是系统启动时加载的第一个软件。...读取主引导分区(MBR):拷贝启动引导代码BootLoader 启动引导代码(bootloader):当我们的硬盘上有多个操作系统时,可以用来选择进入到哪个操作系统。...加载内核,进入操作系统:运行第一个程序 : /sbin/init sbin/init 会读取相关的配置文件,来确定系统的运行级别。...无网络支持的多用户模式 3 : 有网络支持的多用户模式 4 : 保留,未使用 5 : 有网络支持,且有图形化界面的多用户模式 6 : 重启 切换运行级别: init 级别 根据对应的运行级别,查找对应的脚本文件...这些文件夹下的init脚本都有一些特别的名字,命名都以S(start)、K(kill)或D(disable)开头,后面跟一个数字。

6.6K40

优化Linux bootloader速度的究极之路:从GRUB到EFI Stub

传递启动参数(Boot Parameters)给Linux内核。 其实Linux本身很早就加入了UEFI的支持(Kernel 3.3),叫做EFI Stub。...实战EFI Stub 现在的虚拟机VMWare和VBOX都全面支持了UEFI,通过它们可以很方便的实验EFI Stub。需要注意的是它们缺省UEFI启动都是关闭的,我们要单独打开。...手动启动Linux ? 我们这里直接运行被编译为linux.efiLinux内核,同时传人ramdisk和rootfs的位置。一切正常的话结果如下: ?...然后就可以将这两个文件copy到ESP中,U盘就不需要了。 8. Tips A. 如果每次boot都要输入这么一大串字符,那真是太麻烦了。...EFI stub的缺点 没有了GRUB的等待直接启动Linux当然可以速度飞快,这也是目前很多嵌入式Linux的做法,他们还通过精简编译选项将kernel调整的很小,ramdisk也很小甚至没有。

3.2K40

linux命令mysql启动,linux启动mysql的命令

linux启动mysql的命令 一、总结一下: 1.linux启动mysql的命令: mysqladmin start /ect/init.d/mysql start (前面为mysql的安装路径)...2.linux下重启mysql的命令: mysqladmin restart /ect/init.d/mysql restart (前面为mysql的安装路径) 3.linux下关闭mysql的命令:...; drop table 表名; 7、将表中记录清空: delete from 表名; 8、显示表中的记录: select * from 表名; 9、编码的修改 如果要改变整个mysql的编码格式: 启动...这样才有机会自己填充Command Code,Identi …… 摘要 我们在这里讨论的是对嵌入式linux系统的启动过程的输出信息的注释,通过我们的讨论,大家会对嵌入式linux启动过程中出现的、以前感觉熟悉的...嵌入式linux启动信息是一个很值得我们去好好研究的东西,它能将一幅缩影图呈现在我� …… Linux内核源码分析-链表代码分析 分析人:余旭 分析时间:2005年11月17日星期四 11:40:10

20.4K10
领券