我已经使用 grsecurity 补丁构建了一个单片内核,因为我的系统不需要很多模块,而且我需要优化空间。当尝试启动新内核时,它会产生一个 busybox shell,声称无法通过其 UUID 找到根文件系统:
/dev/disk/by-uuid/7b30b4c6-...
内核支持的芯片组(Supermicro 服务器):
00:00.0 Host bridge: Intel Corporation Xeon E3-1200 v2/Ivy Bridge DRAM Controller (rev 09)
00:1a.0 USB controller: Intel Corporation 6 Series/C200 Series Chipset Family USB Enhanced Host Controller #2 (rev 05)
00:1c.0 PCI bridge: Intel Corporation 6 Series/C200 Series Chipset Family PCI Express Root Port 1 (rev b5)
00:1c.4 PCI bridge: Intel Corporation 6 Series/C200 Series Chipset Family PCI Express Root Port 5 (rev b5)
00:1c.6 PCI bridge: Intel Corporation 6 Series/C200 Series Chipset Family PCI Express Root Port 7 (rev b5)
00:1d.0 USB controller: Intel Corporation 6 Series/C200 Series Chipset Family USB Enhanced Host Controller #1 (rev 05)
00:1e.0 PCI bridge: Intel Corporation 82801 PCI Bridge (rev a5)
00:1f.0 ISA bridge: Intel Corporation C202 Chipset Family LPC Controller (rev 05)
00:1f.2 SATA controller: Intel Corporation 6 Series/C200 Series Chipset Family SATA AHCI Controller (rev 05)
00:1f.3 SMBus: Intel Corporation 6 Series/C200 Series Chipset Family SMBus Controller (rev 05)
02:00.0 Ethernet controller: Intel Corporation 82574L Gigabit Network Connection
03:00.0 Ethernet controller: Intel Corporation 82574L Gigabit Network Connection
04:03.0 VGA compatible controller: Matrox Electronics Systems Ltd. MGA G200eW WPCM450 (rev 0a)
我通过 blkid 确认了 UUID 正确存在:
/dev/sda1: UUID="0a46c81f-..." TYPE="ext2"
/dev/sda5: UUID="vpQHTm-..." TYPE="LVM2_member"
/dev/mapper/blah--vg-root: UUID="7b30b4c6-..." TYPE="ext4"
因此,LVM 卷组和具有请求的 UUID 的正确卷均已存在。我可以正常启动普通模块化内核。
怎么了?
编辑:
LVM 配置良好,仍然没有 devmapper 节点?:
(initramfs) lvm vgdisplay
--- Volume group ---
VG Name xxx-vg
System ID
Format lvm2
Metadata Areas 1
Metadata Sequence No 19
VG Access read/write
VG Status resizable
MAX LV 0
Cur LV 6
Open LV 0
Max PV 0
Cur PV 1
Act PV 1
VG Size 465.52 GiB
PE Size 4.00 MiB
Total PE 119173
Alloc PE / Size 119173 / 465.52 GiB
Free PE / Size 0 / 0
VG UUID xxx
(initramfs) lvm lvscan
ACTIVE '/dev/xxx-vg/root' [37.25 GiB] inherit
ACTIVE '/dev/xxx-vg/tmp' [4.66 GiB] inherit
ACTIVE '/dev/xxx-vg/var' [18.62 GiB] inherit
ACTIVE '/dev/xxx-vg/blah' [186.26 GiB] inherit
ACTIVE '/dev/xxx-vg/swap' [3.72 GiB] inherit
ACTIVE '/dev/xxx-vg/home' [215.00 GiB] inherit
(initramfs) ls /dev/mapper/
control
(initramfs) reboot
答案1
grsecurity 的 IPC 强化功能破坏了 lvm 的信号量...这就是罪魁祸首。停用它可以解决这个问题。