首页
学习
活动
专区
圈层
工具
发布

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...linux内核构建结束后,最终生成的文件是 arch/x86/boot/bzImage,这其实是个压缩过的内核,在kernel启动过程中,还要在内存中对内核进行解压,进而得到真正的内核。...该部分主要是解析efi相关的一些参数及加载initrd,在此不详细讲,后面如果用到再一一展开。 继续看efi_main的剩余部分: ?

4.7K31
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    选择Linux

    我想有一点很重要,那就是我从未使用过Linux,因为它就是Linux。Linux不是我想要的。Linux让我找到了我想要的东西,我相信多年来很多人都在使用这个短语,这很符合我的故事。...虽然确实可以在任何操作系统上完成我在工作之外所做的各种工作,但是我选择在Linux上进行工作主要是因为它是免费的,并且它几乎可以作为一个很出色的解决方案,提供了一个平台,我可以修补我感兴趣的东西。...当然,这意味着更多的选择,以及一个正常运作的各种生态系统——包括进化和自然选择。 我得想办法把它画出来。...我把这篇文章命名为“选择Linux”,并在整个独白中保持中立,到目前为止,我的态度是令人恼火的公平。我想归根结底,我选择在工作之外使用Linux的主要原因是我必须在工作中使用Windows。...我不仅可以选择Linux,我还可以选择我所使用的Linux的发行版本,这已经随着时间的推移发生了变化。上周我运行了“Manjaro”,在“Elementary OS”和“Ubuntu”之前的一周。

    1.4K20

    外包公司到底能不能选择

    2.成长快 一般有外包业务需求的公司都是比较大型地公司,对于在学历或能力有所欠缺的小伙伴,不能直接应聘进去的,可以通过外包方式到理想的公司去工作,这样也就有机会学习到更先进的技术和流程。...02 外包公司的弊 1.加班 “加班”文化不能算是外包公司的弊,因为这是大多数互联网公司特有的一种工作方式了。...2.工作四年以上小伙伴 工作经验超过四五年以上的小伙伴,王豆豆不建议再入外包的坑了,就像前面所说,外包公司项目和业务不定,稳定性极差,对于这个时期的小伙伴,王豆豆建议选择一家有前途的公司,那怕工资待遇差点...如果结合上面的分析,不喜欢外包公司氛围和工作性质的小伙伴也建议不要选择外包公司,工作找找就会有,不要急于一时入了外包坑,很快又出来,跳槽太过频繁了,简历上也会留下不良的记录,反而不利于后期找到好企业,现在很多公司对在每个公司工作的年限都有要求

    3.4K30

    linux中运行ifconfig出现错误,不能sudo apt install net-tools,Linux不能联网

    不能sudo apt install net-tools(Linux不能联网) 原因:虚拟机的网络设置错误,点击vMware下的虚拟机->设置,选择网络设置。...里面有3个选项: 桥接模块:Linux虚拟机可以自动分配到IP地址,外网可以访问虚拟机,这种情况需要保证路由器能够提供多个IP。...NAT模式:Linux虚拟机和主机共用一个外网的IP地址,Linux和主机也可以相互访问,但是虚拟机对外网电脑不可见,这种情况下适用于IP地址有限,比如说校园网中。...主机模式:主机之和Linux连接在一起,使用与主机无法上网的情况。 一定要根据自己的需要设置好对应的模式。设置好后重启。...出现不能不能sudo apt install net-tools的吧原因,一般是不能联网,而解决这个问题的方法是,将网络适配器改成NAT模式。 ? 之后就可以按照上面的步骤进行了。

    5.7K31

    选择Linux安装平台

    您已经选择了 Linux 发行版,并准备开始安装过程,但您需要确定您的硬件选项。以下是从哪里开始。...您已经选择了一个 Linux 发行版,并准备开始安装过程,但您需要弄清楚您的硬件选项。您是否需要购买一台新电脑?您可以使用旧系统吗?虚拟化是怎么回事?容器是一个选择吗? 本文不提供技术配置。...选择 Linux 专用硬件 如果您选择购买硬件,请务必寻找与 Linux 兼容的系统。例如,Ubuntu 认证了特定硬件 用于其发行版。...一些主要制造商,如戴尔,在某些系统上提供 Linux 作为预装操作系统选择。 其他供应商专门从事 Linux。...Tuxedo Computers 还提供使用 Tuxedo OS Linux 和 Ubuntu 的 Linux 专用电脑。还有许多其他选择。

    1.8K10

    选择 Linux 发行版

    在有如此多 Linux 发行版可供选择的情况下,如何开始呢? 译自 Choosing a Linux Distribution,作者 Damon M Garn。...相反,它讨论了选择一个或多个 Linux 版本使用的选项。本系列中的以下文章将在进入实际安装过程之前讨论你的硬件选择。...识别常见的 Linux 发行版 如果可以选择数千种 Linux 发行版,该如何开始?许多发行版以易于使用而著称,并包含大多数用户想要的通用软件。通常最好从其中之一开始。...Ubuntu Linux Ubuntu Linux 源自另一个名为 Debian(另一个不错的选择)的发行版。Ubuntu 非常用户友好,并为 Linux 提供了一个很好的起点。...与 Fedora 和 Ubuntu 不同,Linux Mint 没有商业实体作为后盾。对于新的 Linux 用户来说,这是一个很好的选择,非常值得下载。

    3.8K10

    Ubuntu linux 为啥要开始选择ubuntu LINUX

    从安装到各种问题,以及红帽公司的首席技术官克里斯·赖特(Chris Wright)面无表情地宣称,Stream不是CentOS Linux的替代品。...基于centos 的8 以后的产品都更名为stream ,并且定位为非稳定的,激进进行试用的LINUX 产品,并且用户很可能无法保证你使用的 stream 的小版本是稳定的,当然如果你是一个技术新的追求者这是好事...那么为什么众多的候选者里面,选择了ubuntu作为替换centos 的操作系统的对象,ubuntu 作为LINUX 的发行版本是在 2004年开始的聚焦于终端用户,而ubuntu 的项目是基于 Mark...Shuttleworth, 他是 debian LINUX 的开发者,开源社区的贡献者,ubuntu 是基于LINUX 界最稳定的debian 基础而来的。...这里尝试在ubuntu下进行,自动安装POSTGRESQL 的工作,相对于centos来说, ubuntu 更加智能化的通过 apt-get就直接就选择了PG14 的版本安装并告知目前最新的版本是postgresql

    1.6K50

    IoT中的Linux选择

    在物联网的设备设计中,从低成本和低功耗的角度看,Android肯定比不过嵌入式Linux。但在选择用于部署Linux的发行版本时,却一直饱受困扰。 ? 什么是 Linux 发行版?...它还为每一类软件组件提供了许多选择,用户或公司可以将这些组件组装成他们认为的运行集。 一个粗略的比喻是一个超市,在那里货架上有许多商品可供选择,每个用户选择他们认为有意义的商品。 ?...在自主安装使用的许多发行版(例如 Debian)中的一个缺点是,开发人员不理解或者不记得最终运行在机器上的包可能无法完成安装,因此他们不能依赖于目标机器的任何功能。...正因为如此,Debian 对 IoT 来说是一个不错的选择,在这种情况下,只需要添加或创建一些软件包来完成您的平台。 ?...为了一个物联网项目选择一个 Linux 基准,需要考虑自己能承受的尺寸大小和产品规划的寿命。 更小、更快速的替换产品最好能够紧跟当今可靠的解决方案,比如 Yocto。

    3.2K10

    windows10 双系统安装后,grub2 引导修复(亲自实验);grub2 命令行 手动加载内核;fedora 29 系统grub2引导修复;

    之前在本机有fedora 29的系统,但是由于错误安装,把windows10 启动安装到 linux 所在的硬盘中,导致原来的 efi中的grub启动被破坏,不能进入到linux中;我首先通过磁盘精灵,...把efi中启动文件拷贝到现有的windows安装盘中,重新启动后成功从新的efi分区进入windows; 然后开始进行恢复fedora系统;这时候,有两种办法,一种是重新安装 linux; 另外一种方法就是重新修复...grub引导;因为对linux比较了解,我选择了后者;首先参考了几篇已经实践的博客; Fedora 29 引导修复: 创建修复环境: 制作live cd 或者 启动盘; 启动进入live os  sudo.../efi  mount /dev/sda1 /mnt/efi (efi分区 sda1)  grub2-mkconfig -o /mnt/efi/EFI/fedora/grub.cfg(efi启动时,可以索引到其他磁盘上的系统...此教程总结自实际修复过程中,如果您有问题,欢迎留言咨询;我最后是在自动生成的项目的基础上,结合手动修改引导成功的; 如果你对linux的启动机制,以及mbr,efi 等不是很了解;建议还是重新安装系统为好

    5.8K20

    容器场景选择什么 Linux 版本?

    那么容器场景选择哪个 Linux 版本最好呢?在腾讯云,这个答案是 Tencent Linux[1]。 ? 这时候大家应该会有很多的疑问,接下来的 FAQ 会尽力解答大家的疑问。...Tencent Linux 2.4 基于CentOS 7,用户态软件包保持与最新版 CentOS 7 兼容,CentOS 7 版本的软件包可以直接在 Tencent Linux 2.4 中使用。...Tencent Linux跟TKE的Optimized镜像是什么关系? 它们的内核是一样的,但Tencent Linux 2.4 是CVM公共镜像, TKE Optimized镜像是市场镜像。...预计11月下旬起, TKE 用户可以自行在控制台操作,将集群新创建的节点的 OS 镜像切换为Tencent Linux2.4,操作入口如下图(把操作系统修改为Tencent Linux2.4): ?...在 TKE 如何使用 Tencent Linux 如果希望 TKE 集群的节点使用 Tencent Linux 的操作系统,需要在创建 TKE 集群时,操作系统选择 Tencent Linux 的: ?

    3.5K41

    那些年你不能错过的之【Linux操作】

    前文导读 ❝Linux 是一个开源、免费的操作系统,在服务器领域的应用是最强的。 ❞ ? Linux 的目录结构 ?...my.conf /usr 「重点」这是一个非常重要的目录,用户的很多应用程序和文件都放在这个目录下,类似于 windows 下的 program files 目录 /boot 「重点」存放的是启动 Linux...包括一些连接文件以及镜像文件 /proc这个目录是一个虚拟的目录,它是系统内存的映射,访问这个目录来获取系统信息 /srvservice 的缩写,该目录存放一些服务启动之后需要提取的数据 /sys这是 Linux2.6...系统会自动识别一些设备,例如U盘、光驱等等,当识别后,Linux 会把识别的设备挂载到这个目录下。...一、vi 和 vim 「基本介绍」 ❝所有的 Linux 系统都会内建 「vi 文本编辑器」vim 具有程序编辑的能力,可以看做 「vi的增强版本」,可以主动的以字体颜色辨别语法的正确性,方便程序设计。

    97320

    Linux C程序真的不能访问NULL指针吗?

    下面该写内核模块了,为了简化操作,这里采用Guru模式的stap脚本来进行编程: // mapNULL.stp%{#include linux/mm.h>#include linux/sched.h...>#include linux/module.h> pte_t * get_pte(struct task_struct *task, unsigned long address){ pgd_t...; } 下面是对应的内核模块: // mapCOMM.c// make -C /lib/modules/`uname -r`/build SUBDIRS=`pwd` modules#include linux.../mm.h>#include linux/sched.h>#include linux/module.h> #define DIRECT_MAP_START 0xffff880000000000...---- 前天晚上,有位朋友问了我一个问题,为了备忘,我昨天发了一则朋友圈: 昨天有人问我说为什么NULL指针不能访问,我说NULL指针是可以访问的,NULL就是0,0也是一个合法地址,为什么不能访问?

    4.4K10
    领券