一、回到上一篇

linux initramfs启动过程:

从systemd的角度,将模块和断点左右排序:

右边是dracut留在initramfs的debug hooks,也就是grub中我们可以指定的rd.break=?时,内核初始化中断退出到shell的地方。

二、断点设置

grub 菜单中 e,进入编辑模式

设置rd.break

1.cmdline的启动结果

系统    启动到了 cmdline#

然后查看 vi /run/initramfs/rdsosreport.txt:

——在dev下创建静态节点,然后进入 emergency shell;

2、pre_udev的启动结果:

——与rd.break=cmdline的结果(initramfs启动到的位置)几乎一样。

3、rd.break=pre-trigger

rdsosreport.txt中多出的步骤:(1759行 dm-devel是上一步启动到达的地方,从此往下是新的日志):

——到了 started udev kernel device manager (上图中行1769)

4、rd.break=initqueue

——网卡,raid卡 物理设备初始化。

5、rd.break=pre-mount

——网络eth,scsi盘target ,实际上是为了找”/’啊 文件系统啊。

三、日志收集

节选 man:

man    dracut:

If you are dropped to an emergency shell, while booting your       initramfs, the file rdsosreport.txt is created, which       can be saved to a (to be mounted by hand) partition (usually /boot)       or a USB stick. Additional debugging info can be produced by adding       rd.debug to the kernel command line. /run/initramfs/rdsosreport.txt       contains all logs and the output of some tools. It should be attached       to any report about dracut problems.

可知,在initrd的各个阶段,会生成 rdsosreport 文件。

但是该文件怎么copy出来啊?在vmware station中的虚机进行测试,在rd.break的时候根本没有usb的设备文件。

switchroot下的disk by-id:

后来在网上找了找,似乎在uefi下是可以导出的,也就是通过 efi分区做为一个缓冲,copy出这个rdsosoreport文件:

How to copy/move files between filesystems using UEFI shell

1

How can we move files between filesystems using UEFI shell. If i try:

fs0:> mv somefile  fs1:

I get an error that source and destination should be on the same filesystem. How can we workaround this?

uefi

How can we workaround this?

The answer is in the very title of your question:

fs0:> cp somefile  fs1: fs0:> rm somefile

shareimprove this answer

uefi:

[root@localhost ~]# df

Filesystem     1K-blocks    Used Available Use% Mounted on

/dev/sda4       18145280 4293012  13852268  24% /

devtmpfs          926612       0    926612   0% /dev

tmpfs             935108       0    935108   0% /dev/shm

tmpfs             935108    9004    926104   1% /run

tmpfs             935108       0    935108   0% /sys/fs/cgroup

/dev/sda2         508588  110120    398468  22% /boot

/dev/sda1         204580    9744    194836   5% /boot/efi

——实在不不行就mount /dev/sda1吧,copy到efi空间然后再到bios uefi中cp吧。

另外从上一篇以及本篇的记过可以初步看出,若出现dracut或initqueue错误:

dracut一般指向了initrd;

initqueue timeout一般指向了initrd中,初始化 与“/”文件系统相关的  硬盘或raid卡或pxe网卡超时;

再引用引用message中,os启动时initqueue部分印证上面的描述:

  1. Jul  1 16:25:25 isibos systemd: Starting dracut initqueue hook...     》》》》rd.break=initqueue hook初始化。

  2. Jul  1 16:25:25 isibos kernel: megaraid_sas: loading out-of-tree module taints kernel.

  3. Jul  1 16:25:25 isibos kernel: megaraid_sas: module verification failed: signature and/or required key missing - tainting kernel

  4. Jul  1 16:25:25 isibos systemd: Started Show Plymouth Boot Screen.

  5. Jul  1 16:25:25 isibos systemd: Reached target Paths.

  6. Jul  1 16:25:25 isibos kernel: megasas: 07.707.03.00

  7. Jul  1 16:25:25 isibos systemd: Starting Paths.

  8. Jul  1 16:25:25 isibos systemd: Started Forward Password Requests to Plymouth Directory Watch.

  9. Jul  1 16:25:25 isibos systemd: Starting Forward Password Requests to Plymouth Directory Watch.

  10. Jul  1 16:25:25 isibos systemd: Reached target Basic System.

  11. Jul  1 16:25:25 isibos kernel: megaraid_sas 0000:01:00.0: FW now in Ready state

  12. Jul  1 16:25:25 isibos kernel: megaraid_sas 0000:01:00.0: 64 bit DMA mask and 32 bit consistent mask

  13. Jul  1 16:25:25 isibos kernel: megaraid_sas 0000:01:00.0: firmware supports msix#011: (0)

  14. Jul  1 16:25:25 isibos kernel: megaraid_sas 0000:01:00.0: current msix/online cpus#011: (1/32)

  15. Jul  1 16:25:25 isibos kernel: megaraid_sas 0000:01:00.0: RDPQ mode#011: (disabled)     》》》》rd.break=initqueue到达的地方。

  16. Jul  1 16:25:25 isibos systemd: Starting Basic System.

下一篇,作为linux操作系统引导与启动系列的终章,将列出一次完整的RHEL启动日志以及日志的注释。

dev c++怎么设置断点_linux操作系统引导与启动——内核启动和初始化(二)断点...相关推荐

  1. linux系统引导分区,揭秘Linux(二)——操作系统引导与硬盘分区

    通过前面的介绍想必大家对Linux有了个基础的了解,那么各位肯定该说是不是要装操作系统了,对不起让各位失望了,这次所讲解的是Linux运行原理与硬盘分区,这是重中之重啊!请一定要细细品读. 为了更好地 ...

  2. 哈工大操作系统——引导启动程序

    写在前面: 亲爱的小伙伴你们好,不知道你有没有在学习操作系统的过程中遇到过这样那样的困难,很多次想要放弃,很多次怀疑自己的能力,但是请你相信"未来的路就在脚下,不要悲伤,不要害怕" ...

  3. Linux——操作系统引导过程

    引导过程 一.Linux操作系统引导过程 1.1 引导过程讲解 1.2 init进程(CentOS6) 1.3 Systemd进程(CentOS7) 1.4 Systemd单元 1.5 运行级别对应的 ...

  4. Linux操作系统引导过程

    1.引导过程总览 1.开机自检 服务器主机开机以后,将根据主板BIOS中的设置对CPU (Central Processing Unit, 中央处理器).内存.显卡.键盘等设备进行初步检测,检测成功后 ...

  5. 服务器的BIOS引导模式设置为什么,Legacy BIOS 引导模式和 UEFI 引导模式

    Legacy BIOS 引导模式和 UEFI 引导模式 服务器配备有统一可扩展固件接口 (Unified Extensible Firmware Interface, UEFI),可以将其配置为支持 ...

  6. 操作系统引导--从实模式到保护模式

    从开始到保护--系统开机引导 ------没有一个文档能写的通俗易懂,我希望写出来. 开机引导和实模式: 两个星期加上假期吐血整理,所述为计算机的开机引导,其中包括一系列计算机内存设置等等,由于没有老 ...

  7. 详细图文演示——排除启动类故障以及Linux操作系统引导、运行级别和优化启动等相关知识

    详细图文演示--排除启动类故障以及Linux操作系统引导.运行级别和优化启动等相关知识 一.Linux操作系统引导过程 1.开机自检 2.MBR 引导 3.GRUB菜单 4.加载Linux内核 5.i ...

  8. 操作系统原理(哈工大-李治军老师)操作系统引导

    操作系统引导 开始试验之前先了解汇编语言为前提 第一步 完成 bootsect.s 的屏幕输出功能 进入目录 cd /home/shiyanlou/oslab 解压 tar -zxvf hit-osk ...

  9. linux操作系统的引导过程,深入了解linux操作系统引导过程详解

    Linux操作系统的引导过程:开机自检.mbr引导.grub菜单.加载linux内核.init进程初始化. 1.开机自检,检测硬件后根据启动顺序将控制权交给本机硬盘 2.mbr引导,根据硬盘的主引导记 ...

  10. 操作系统引导的那点事

    系统引导环节是操作系统启动过程中的最重要环节,也是最容易出问题的环节之一.按照个人计算机的硬件标准,引导环节发生在计算机的硬件系统检测完毕之后.具体的引导工作,是由BIOS完成的.BIOS维持一个可用 ...

最新文章

  1. 从hello world 说程序运行机制
  2. 对象***已断开连接或不在该服务器上 的解决方案之一
  3. IntelliJ IDEA的Maven项目在修改时报java.lang.OutOfMemoryError: PermGen space异常
  4. 盘点 IDEA2020.3 那些炫酷的插件,超级好用的那种
  5. java管理从程序员到CTO的Java技术路线图
  6. 实验吧之NSCTF misc250
  7. python 新建html_Python学习第226课——html中创建按钮
  8. mysql帐号不允许从远程登陆
  9. fft 相位谱_基于级联FFT的广义互相关算法在声源定位中的应用
  10. NTFS for Mac支持Mac拷贝文件到硬盘
  11. 6、Cocos2dx 3.0游戏开发找小三之游戏的基本概念
  12. c# string 转 datetime_利用swig封装C++的dll为C#方便使用
  13. 【第43题】【062题库】2019年OCP认证062考试新题
  14. 【技术】jquery暂无图片替换
  15. (网络编程)SOCKET应用实例
  16. np学习——OSPF的典型配置案例
  17. AWS之Glue使用方法
  18. 罗永浩自曝下个创业项目是元宇宙
  19. 腾讯47岁T13大佬被裁,厂龄15年依然被毕业?
  20. Java的编程之旅——idea上新建文件

热门文章

  1. Android resource compilation failed 一定能搞定的办法
  2. 面试分享一次失败的经历
  3. 微信人工客服终于来了,但是「此」微信客服非「彼」微信客服
  4. 【问题征集】向 iPod 之父、iPhone 联合设计者、Google Nest 创始人 Tony Fadell 提问啦
  5. The current epoch, 79 is less than the accepted epoch, 5b
  6. Kingbase8开发版,启动提示FATAL: XX000: max_connections should be less than orequal than 10
  7. 你有想过,如何用Hadoop实现【倒排索引】?
  8. 自定义view之无限滚动的刻度尺
  9. HR_NZ_ROUNDING_DECIMALS DUMP
  10. html在搜索栏中加入放大镜,CSS3 搜索条动画(放大镜图标展开为长方形输入框)...