如何检查运行的第一个进程?我可以在根文件夹中看到 init 和 linuxrc

如何检查运行的第一个进程?我可以在根文件夹中看到 init 和 linuxrc

我在基于 QNAP x86 的 NAS 上安装了修改后的 Linux。在 initrd 映像文件中,我注意到有一个 init 脚本/init和一个指向不同程序(busybox)的符号链接:linuxrc ->/bin/busybox

如何找出每次系统启动时运行的init进程是哪一个?

答案1

/linuxrc是在旧式上推出的初始化程序/sbin/init在更新样式的 initrd 上启动,/init初始化文件系统。 initrd 和 initramfs 是两种具有相同目的的机制:在 RAM 中安装文件系统,可以从中加载存储驱动程序。 initrd 比较旧,initramfs 是目前推荐的方法。

某些发行版保留了 initramfs 存在之前的设置,并且即使该映像是 initramfs 映像,也将其称为 initrd。因此,您有一个名为 的文件这一事实initrd并不意味着它会作为一个文件加载。某些发行版(显然包括您的发行版)在 initrd/initramfs 上保留了文件结构,允许在两者上使用相同的目录树。但是,图像文件的格式不同。

要确定您是否有 initrd 或 initramfs,最简单的方法是运行

file /path/to/initrd

如果您有 cpio 存档,那么它就是 initramfs。如果您有 initrd,它就是 <rummage>“Linux 压缩 ROM 文件系统数据”。

相关内容