首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Kexec进入新内核,但我无法访问initramfs提示符!

Kexec进入新内核,但我无法访问initramfs提示符!
EN

Unix & Linux用户
提问于 2019-06-30 05:37:15
回答 2查看 1.5K关注 0票数 2

我使用kexec成功地加载了内核,但它只是打印dmesg行。如何摆脱这种情况进入initramfs提示符?Ctrl-Alt-F2只加载一个黑色屏幕,ctrl什么也不做。

以下是我的kexec命令行:

代码语言:javascript
复制
kexec -l $kernel --initrd=$initrd --command-line="root=UUID=... acpi=off ro text earlyshell debug showerr debuginitrd"

earlyshell应该为我提供对shell的访问,但它不能。如果没有命令行,我只会在脚本循环中结束,即使使用ctrl-c也无法打破这个循环。

EN

回答 2

Unix & Linux用户

回答已采纳

发布于 2019-06-30 15:23:29

已解决:

核心论点是:

代码语言:javascript
复制
earlyshell

不是真的发射了炮弹?但是,使用参数运行内核:

代码语言:javascript
复制
break=premount

把initramfs的壳给了我。

这个资源非常有用:https://wiki.debian.org/InitramfsDebug

票数 1
EN

Unix & Linux用户

发布于 2019-06-30 08:55:38

你把正确的--initrd=给kexec了吗?

我刚刚安装并试用了kexec。如果我去的话

代码语言:javascript
复制
kexec -l /boot/vmlinuz --initrd=/boot/initrd.img --append=root=/dev/sda3 

然后是kexec -e。(我没有氪星.)

我首先试着遵循“使用/proc/cmdline”的提示,但这是行不通的。在我看来,您似乎需要额外提供--initrd=选项。

您需要"initramfs提示“来提供密码(这样您就可以挂载加密的设备了)?

通常我的/proc/cmdline是这样的

代码语言:javascript
复制
vmlinuz initrd=initrd.cpio.gz root=/dev/sda3

在上述kexec (和重新引导)之后,/proc/cmdline如下所示

代码语言:javascript
复制
root=/dev/sda3

内核和initrd的名字不见了!只剩下--追加部分。这甚至没有给我带来太多的困惑:只是在问题中添加了一个新的facette :内核映像和initrd映像内核选项吗?它们是(内核)命令行的一部分吗?

我使用引导。我知道这个"initrd=“有多重要。使用引导加载程序(grub),它的工作方式应该是相同的。选择内核、initrd (如果需要/需要的话)、根、init和所有正常的“内核选项”只是一种不同的方式(间接)。

标准initrd是这样做的:

  • 加载模块访问根(我的例子: sata,ahci用于我的简单SSD驱动器)
  • 安装该设备(由root=/dev/xxx提供)
  • 对它的"switch_root“(包括运行/sbin/init)

在您的情况下,您需要密码提示(?),而不是sata模块。但结果是相同的:根不能挂载。

了解引导加载程序是如何成功启动的,然后尝试使用kexec进行模拟。

添加:

名字不重要.默认情况下使用/init脚本启动(请参阅rdinit=引导选项)。这是“早期用户空间”,对应于earlyshell。使用这个initramfs-tool,您可以获得足够的断点来控制/init和调用的脚本。

否则,您可以提取initrd (使用gzipcpio),更改/init (或添加/init_new并将rdinit=/init_new作为引导选项),并再次归档文件夹。这个cpio命令我以前从未使用过,但它实际上比tar简单。只是有点不同。

mkinitcpio是实现这一目标的工具。它在一开始就提到了早期的用户空间和加密。我刚读到,这是一个archlinux的东西,而且也有迟到和早期的“钩子”。和initramfs一样-我想是工具。

票数 0
EN
页面原文内容由Unix & Linux提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://unix.stackexchange.com/questions/527702

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档