Linux 内核 5.6.2-找不到块设备来挂载根文件系统

Linux 内核 5.6.2-找不到块设备来挂载根文件系统

我从事的行业监管非常严格。我负责创建安全启动链。也就是说,从启动开始,它需要启动到一个最小的 Linux 内核,该内核的 initramfs 有一个 Python init 脚本和额外的程序来执行完整性检查。一旦/如果完整性检查成功,用户就可以完成启动。

初始化脚本需要能够找到硬盘并将其传递给完整性检查器。但是,我无论如何也想不出如何正确安装根文件系统。

我对 Linux 还很陌生,所以我试着一边学习一边把事情拼凑起来。根据我收集的信息:

initramfs 是一个临时文件系统,用于安装真正的根文件系统(我相信通常是)。但是,当我进入 initramfs/dev/sda1时,没有 sd* 文件/节点。我尝试实现一些 Python 代码来创建和节点,然后通过on创建文件系统,但这似乎不起作用。ls /devsdasda1mkfssda1

Hello! This is python
0 // result of mknod /dev/sda b 8 0
0 // result of mknod /dev/sda1 b 8 1
1 mke2fs 1.45.5 (07-Jan-2020)
Could not open /dev/sda1: No such device or address
1 df: cannot read table of mounted file systems: No such file or directory
Mounting proc...
mount /proc
0 // result of mount /proc

0 Filesystem     1K-blocks   Used Available Use% Mounted on // result of df
rootfs            202828 202828         0 100% /
end of df
0 # Begin /etc/fstab // result of cat /etc/fstab

# file system  mount-point  type   options          dump  fsck
#                                                         order

/dev/sda      /            ext4 defaults         1     1
proc           /proc        proc   defaults         0     0
sysfs          /sys         sysfs  defaults         0     0
devpts         /dev/pts     devpts gid=4,mode=620   0     0
shm            /dev/shm     tmpfs  defaults         0     0
# End /etc/fstab
end of fstab
0 major minor  #blocks  name // result of cat /proc/partitions

  11        0    1048575 sr0
end of /proc/partitions
2 device     fs_type label    mount point    UUID // result of blkid -o list

end of blkid
Checking...
0 
0 


0 rootfs on / type rootfs (rw,size=202828k,nr_inodes=50707) // result of mount 
proc on /proc type proc (rw,relatime)
Can't find platform/dev/sda // result of a function to find the necessary partition on disk 
Halted.

答案1

确保你的最小内核已启用对 sda 的支持,或者你正在加载必要的内核模块以启用串行 ATA 支持其上的文件系统(ext4)。

相关内容