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

linux+详细启动流程

Linux操作系统的启动流程是一个多步骤的复杂过程,涉及硬件初始化、引导加载程序的执行、内核加载以及系统服务的初始化等多个阶段。以下是Linux启动流程的详细概述:

Linux启动流程

  1. BIOS/UEFI初始化:计算机加电后,BIOS/UEFI首先进行POST(电源自检)以检查硬件状态,然后加载并初始化硬件设备。
  2. 引导加载器(Bootloader)加载:BIOS读取硬盘上的MBR(主引导记录),然后加载Bootloader,如GRUB。Bootloader负责加载操作系统内核到内存中。
  3. 内核加载:GRUB将内核加载到内存中,并进行必要的硬件初始化和配置。
  4. 系统初始化:内核加载完成后,启动第一个进程init。init进程负责读取/etc/inittab文件(在较新的系统中,可能是/etc/systemd/system/default.target),并根据其中的设定初始化系统环境,启动各种系统服务和进程。
  5. 用户登录:init进程启动getty进程,提供终端登录服务。用户通过输入用户名和密码登录系统。

关键文件和步骤

  • /sbin/init:系统启动时执行的第一个程序,负责启动系统服务和进程。
  • /etc/inittab(SysV init系统)或/etc/systemd/system/default.target(systemd系统):定义系统的默认运行级别和启动流程。
  • /etc/rc.d/rc.sysinit:系统初始化脚本,执行系统特定的初始化操作。
  • /etc/rc.d/rcX.d/:包含不同运行级别下的启动脚本,根据运行级别启动相应的服务。

通过以上步骤,Linux系统能够完成从硬件启动到软件运行的全过程,确保系统稳定、安全地进入运行状态。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

tomcat-超详细的启动流程(init)

一、server.xml 本质上tomcat的启动流程和总体架构都离不开server.xml。在Server.xml中我们可以看到一些我们比较熟悉的配置。 Listener结点配置: ?...自带的线程池,而现在被注释掉了是因为使用了java自带的线程池,后面会讲到在启动流程时是如何使用线程池的。...首先会启动engine,即调用StandardEngine的init方法,一样的调用流程,一样的管理周期,最终调用到StandardEngine重新的initInternal()。...到这一步tomcat对应的init启动流程结束。...九、tomcat-init总结 tomcat启动中会先调用init方法,将需要用到的类先初始化完毕,最后绑定好ip与端口,总体的init才算完成,init顺序如下面的流程图所示。

2.8K10
  • 海思uboot启动流程详细分析

    前言 介绍u-boot启动流程中和具体版型(board)有关的部分,也即board_init_f/board_init_r所代表的、board有关初始化过程。...4)执行前置的(front)初始化操作 调用board_init_f接口,执行前置的初始化操作,会再后面的章节详细说明。 5)执行relocation操作,后面会详细说明。...6)清除BBS段 7)执行后置的(rear)初始化操作 调用board_init_r接口,执行前置的初始化操作,会再后面的章节详细说明。...后续device tree的分析文章会详细介绍。...6. u-boot的relocation 前面讲过,u-boot是有可能在只读的memory中启动的。简单起见,u-boot假定所有的启动都是这样,因此u-boot的启动逻辑,都是针对这种情况设计的。

    4.1K31

    海思uboot启动流程详细分析(二)

    u-boot-hi3559av100.bin 这个便是正常的流程了: 本文将结合u-boot的“board—>machine—>arch—>cpu”框架,介绍u-boot中平台相关部分的启动流程。...并通过对启动流程的简单分析,掌握u-boot移植的基本方法。 2. 多平台架构 这些问题的本质,是软件工程中的抽象和封装,以最简洁、最高效的方式,实现尽可能多的功能。...基于图片1的架构,u-boot和平台有关的初始化流程,显得比较直观、清晰: 1)u-boot启动后,会先执行CPU(如armv8)的初始化代码。...关于_main函数,crt0_64.S中有非常详细的注释(这一点要给u-boot点100个赞!),大家可以参考。...4.2 配置项总结 经过第3章的流程分析,我们可以总结出和“平台相关部分的启动流程”有关的配置项,记录如下: CONFIG_SYS_RESET_SCTRL,控制是否在启动的时候reset SCTRL寄存器

    2.6K20

    海思uboot启动流程详细分析(一)

    2. normal_start_flow流程 这里是正常启动流程 normal_start_flow: /* set stack for C code */ ldr x0, =(...bne ufs_boot //如果不是,则进入ufs_boot 4. ziju_flow流程 自举模式从这里我可以推断出,芯片的启动分为两种,一种是自举模式也就是本地的spiflash或...nand或emmc等启动,另一种就是pcie启动模式。...不同启动模式对应不同的启动流程。但不同启动模式代码是相互交织的,需要分清楚! 1) 初始化PLL和DDRC控制器和管脚复用情况。...,也包括是冷启动还是热启动 串口初始化 DDR初始化和DDR training 正常启动时,会检测启动方式,对代码进行相应的拷贝,重定位 设置堆栈 清bss段 跳转到第二阶段,即C语言阶段

    3K50

    【Android 启动过程】Android 应用启动流程 | Activity 启动流程

    文章目录 一、Android 系统启动流程 二、Activity 启动流程 一、Android 系统启动流程 ---- 打开 Android 手机电源键后 , 先运行 BootLoader , 然后使用...Framework 层有 2 个最重要的进程 , Zygote 进程 和 SystemServer 进程 ; Zygote 进程通过 fork() 创建应用进程 ; 整理成如下框图 : 二、Activity 启动流程...---- Android 应用启动方式有 2 种 , 分为冷启动和热启动 ; 冷启动 : 后台没有应用进程 , 需要先创建进程 , 然后启动 Activity ; 热启动 : 后台有应用进程 ,...不创建进程 , 直接启动 Activity ; Activity 启动一般分为 3 个阶段 , 以 Activity A 中启动 Activity B 为例 : 阶段 1 : Activity..., 调用 ActivityThread 中的相关代码创建 Activity B ; 阶段 3 : 在应用 ActivityThread 主线程中 , 启动 Activity B 页面 ; 简要流程

    4.1K10

    从源码的角度详细分析SpringBoot启动流程

    前言 SpringBoot项目的启动流程是很多面试官面试中高级Java程序员喜欢问的问题。...这个问题的答案涉及到了SpringBoot工程中的源码,也许我们之前看过别的大牛写过的有关SpringBoot项目启动流程的文章,但是自己没有去研究一遍总是会记忆不深刻。...下面笔者来带领大家详细分析SpringBoot启动过程中到底做了哪些事情,把本文仔细看完了,面对面试官问的有关SpringBoot启动过程做了哪些工作的面试题就迎刃而解了!...SpringBoot应用启动过程花费时长 获取SpringApplication实例对象的启动类监听器并遍历发布应用开始启动事件 3.实例化启动命令行参数 4.打印SpringBoot项目图标 5....启动监听器发布应用开始启动事件 6.

    1.1K50

    Activity启动流程

    Activity启动流程很多文章都已经说过了,这里说一下自己的理解。 Activity启动流程分两种,一种是启动正在运行的app的Activity,即启动子Activity。...后边启动Activity的流程是一样的,区别是前边判断进程是否存在的那部分。 Activity启动的前提是已经开机,各项进程和AMS等服务已经初始化完成,在这里也提一下那些内容。...流程图 这个图来源自网上,之前也看过很多类似讲流程的文章,但是大都是片段的。这个图是目前看到的最全的,自己去画一下也应该不会比这个全了,所以在这里直接引用一下,可以去浏览器上放大看。...如果是启动子Activity,那么就只涉及AMS进程和app所在进程。 具体流程 1. Launcher:Launcher通知AMS要启动activity。...Activity启动流程(从Launcher开始): 第一阶段: Launcher通知AMS要启动新的Activity(在Launcher所在的进程执行) Launcher.startActivitySafely

    1.2K31

    flowable 启动流程

    Service(执行管理,包括启动、推进、删除流程实例等操作) /**通过KEY启动流程实例(不带变量) * @param processInstanceKey //流程定义的KEY *...KEY相同的流程定义中最新版本的那个(KEY为模型中的流程唯一标识) return processInstance.getId(); //返回流程实例ID } /**通过KEY启动流程实例(...KEY启动,会自动选择KEY相同的流程定义中最新版本的那个(KEY为模型中的流程唯一标识) Authentication.setAuthenticatedUserId(null);//这个方法最终使用一个...ThreadLocal类型的变量进行存储,也就是与当前的线程绑定,所以流程实例启动完毕之后,需要设置为null,防止多线程的时候出问题。...return processInstance.getId(); //返回流程实例ID } /**通过ID启动流程实例 * @param processInstanceId //流程定义的ID

    37930

    Activity启动流程

    这个方法会检查一些可见性相关的属性,然后转交给ActivityStack.resumeTopActivityUncheckedLocked方法来继续流程。 4....在这里,TaskRecord相当于在启动模式中的“任务栈”,根据启动模式的不同,在启动Activity的时候,会对TaskRecord进行不同的操作。...Activity了(若对应Activity的进程尚未启动,则会通过ATMS的startProcessAsync方法启动进程,这就是另一个流程了)。...这里的在Callback和LifecycleState是在ActivityStackSupervisor的realStartActivityLocked流程创建的,分别对应的是LaunchActivityItem...Activity的onNewIntent、onActivityResult回调; 调用Activity的performResume方法,其中调用了 onResume 回调; 四、图示 点击查看原图 Activity启动流程

    84154

    【Linux】启动流程

    Linux操作系统的启动过程是一个复杂而精密的流程,涉及到多个阶段和组件。本文将对Linux启动流程进行深入探讨,并对比不同发行版之间的一些差异。...Grub的启动流程 Grub是一种常见的引导加载程序,它具有强大的配置功能。...不同发行版的差异 尽管Linux启动流程有很多共通之处,但不同的发行版可能有一些细微的差异。...结语 Linux启动流程是一个复杂而庞大的系统过程,涵盖了从硬件初始化到用户空间的多个阶段。...通过对比不同发行版的启动流程,我们能更好地理解Linux系统的运作机制,为故障排查和系统优化提供更深入的了解。希望本文能够帮助读者更好地理解Linux启动流程,并在实际应用中发挥作用。

    29310

    Activity启动流程

    Activity启动流程很多文章都已经说过了,这里说一下自己的理解。 Activity启动流程分两种,一种是启动正在运行的app的Activity,即启动子Activity。...后边启动Activity的流程是一样的,区别是前边判断进程是否存在的那部分。 Activity启动的前提是已经开机,各项进程和AMS等服务已经初始化完成,在这里也提一下那些内容。...流程图 这个图来源自网上,之前也看过很多类似讲流程的文章,但是大都是片段的。这个图是目前看到的最全的,自己去画一下也应该不会比这个全了,所以在这里直接引用一下,可以去浏览器上放大看。...如果是启动子Activity,那么就只涉及AMS进程和app所在进程。 具体流程 1. Launcher:Launcher通知AMS要启动activity。...Activity启动流程(从Launcher开始): 第一阶段: Launcher通知AMS要启动新的Activity(在Launcher所在的进程执行) Launcher.startActivitySafely

    83240

    开机启动流程

    grub and boot Centos5,6的开机启动流程 grub Centos7的开机启动流程 Centos5,6的开机启动流程 initrd / initramfs 一般存储在/boot目录下,...Centos7的开机启动流程 与Centos5,6相比,Centos7将系统启动的第一支程序从init变成systemd,systemd并不是一个纯粹的init系统,而且还能管理系统的各种daemon,...支持平行启动服务,并按照相依性启动程序 按需启动 支持快照与状态恢复 c group预设限制硬件资源 … 支持平行启动服务,并按照相依性启动程序 对比init的脚本启动,systemd大胆的将所有需要启动的都分为一个一个的...按需启动 init在系统启动时,会启动所有预设为启动的服务进程,并且系统必须等待所有的服务都启动就绪之后才会允许用户登录操作,这样会让系统启动速度非常慢,并且浪费系统资源。...emergency emergency.target 急救模式(Emergency shell) systemd启动流程图

    1.6K81

    扫码

    添加站长 进交流群

    领取专属 10元无门槛券

    手把手带您无忧上云

    扫码加入开发者社群

    相关资讯

    热门标签

    活动推荐

      运营活动

      活动名称
      广告关闭
      领券