美文网首页树莓派
树莓派Linux启动过程简介

树莓派Linux启动过程简介

作者: 刘小白DOER | 来源:发表于2021-02-17 22:05 被阅读0次

    昨天在写关于linux设置脚本开机启动的文章时,有个疑问就是开机时怎么确认运行级别,然后遍历执行/etc/rcN.d/目录下的所有服务程序。带着疑问,在前人的基础上学习总结一下linux系统初始化的工作的内容,现在树莓派4B上展示出来。

linux启动流程

1、加载内核

    当计算机打开电源后,首先是BIOS开机自检,按照BIOS中设置的启动设备(通常是硬盘)来启动。操作系统接管硬件以后,首先读入 /boot 目录下的内核文件。树莓派4B的内核是Raspbian GNU/Linux 10 (buster),基于Debian。

2、初始化进程init

    内核文件加载以后,运行第一个程序init,它的作用是初始化系统环境。init位于目录/sbin,进程号PID为1,即1号进程,其他所有进程都由init衍生,是init的子进程。

    同时还有个0号进程,idle进程,在系统初始化时由内核kernel自身从无到有创建,通过调用kernel_thread创建一个内核线程去执行init函数,0号进程创建1号进程。

3、运行级别

    具体介绍请参考笔者的文章-Linux运行级别简介  ,但是开机时是怎么确定运行级别的呢?

    init进程首先读取文件 /etc/inittab,它是运行级别的设置文件。但是各个发行版不太一样,init的配置文件也不一样,有可能使用/etc/event.d里面的配置文件,最新版的改用为/etc/init目录。

4、开机启动程序

    具体详情请参考文章-linux中/etc/init.d设置开机启动 ,确定运行级别后,执行rcN.d目录下的文件,这些链接文件是连接到init.d目录下的程序。init进程逐一加载开机启动程序,其实就是运行这个目录里的启动脚本。

    比如运行级别为5(图形化多用户)时启动的程序:

5、用户登录

    开机启动程序加载完毕以后用户登录。用户的登录方式有三种:

    命令行登录:init进程调用getty程序。

    ssh登录:init进程调用sshd程序。

    图形界面登录:init进程调用显示管理器,Gnome图形界面对应的显示管理器为gdm。

6 、login shell

    默认shell时bash,命令行界面,让用户可以直接与操作系统对话。读取环境变量,具体请参考笔者文章-Linux环境变量的设置。

相关文章

  • 树莓派Linux启动过程简介

    昨天在写关于linux设置脚本开机启动的文章时,有个疑问就是开机时怎么确认运行级别,然后遍历执行/etc/rc...

  • 【教程】树莓派程序开机自启动方法总结

    刚上手树莓派,也因此接触Linux,对Linux系统很多机制都不熟悉,先前想把自己写的一个程序随树莓派开机启动,搜...

  • Linux操作目录及常用命令整理

    树莓派目录结构/boot 放置Linux内核以及其他用来启动树莓派的软件包/bin 放置与Raspbian有关(包...

  • 树莓派宝典

    1.树莓派目录结构 /boot放置Linux内核以及其他用来启动树莓派的软件包 /bin放置与Raspbian有关...

  • 树莓派上手资料

    树莓派开箱上手教程树莓派下载资料使用手机连接树莓派1使用手机连接树莓派2树莓派实验室无显示屏启动树莓派 如何用pu...

  • Linux Shell命令及配置安装手册

    Linux 教程 Linux 教程、Linux 简介、Linux 安装、Linux 系统启动过程、Linux 系统...

  • 树莓派2学习笔记3(同步数据库)

    买来的树莓派2,玩了之后,总要做点正事! 树莓派使用的linux是debian系统,所以树莓派启用root和deb...

  • 树莓派系统烧录和环境配置

    最近开始学习树莓派wiringPi库的使用,首先就是树莓派的系统烧录和环境配置~ 树莓派简介 Raspberry ...

  • 树莓派

    [TOC] wlan静态IP 首先通过图形界面将树莓派联网 samba 简介:Samba是在Linux和UNIX系...

  • 树莓派入门

    1.什么是树莓派? 树莓派(英语:Raspberry Pi),是一款基于Linux的单片机电脑。它由英国的树莓派基...

网友评论

    本文标题:树莓派Linux启动过程简介

    本文链接:https://www.haomeiwen.com/subject/jfobxltx.html