我有一个 sh 脚本,应该在系统启动期间执行,据我所知,它是在加载图形驱动程序模块之前执行的。
这可能与答案无关,但该脚本用于 GPU 的 PCI 直通,特殊情况下系统有两个相同的 GPU 共享相同的 id,仅在两个 GPU 中的一个上覆盖驱动程序分配。
对于 arch linux 系统,wiki 说应该:
Edit /etc/mkinitcpio.conf:
Add modconf to the HOOKS array and /usr/local/bin/vfio-pci-override.sh
to the FILES array.
Edit /etc/modprobe.d/vfio.conf:
Add the following line: install vfio-pci /usr/local/bin/vfio-pci-override.sh
Regenerate the initramfs and reboot.
mkinitcpio.conf 在 Ubuntu 中的对应版本是什么?在这种情况下应该如何修改它?为了以防万一,脚本如下:
#!/bin/sh
DEVS="0000:01:00.0 0000:01:00.1"
if [ ! -z "$(ls -A /sys/class/iommu)" ]; then
for DEV in $DEVS; do
echo "vfio-pci" > /sys/bus/pci/devices/$DEV/driver_override
done
fi
答案1
该包名为(手册页)initramfs 工具(参见维基百科:wiki.ubuntu.com/Initramfs)。
initramfs-tools
- mkinitramfs 脚本编写简介initramfs-tools 有一个主脚本和两组不同的子脚本,它们将在不同的执行阶段使用。下面将借助一个虚构的工具分别讨论这些脚本,该工具在挂载根分区之前执行 lvm 分区的 frobnication。
配置:
/etc/initramfs/initramfs.conf
小心……
/etc/initramfs/conf.d/
可用于配置文件和
/etc/initramfs/conf-hooks.d/
用于添加钩子。要重建,您可以使用...
update-initramfs -u