精华内容
下载资源
问答
  • Linux:initrd:dracut, dracut-pre-udev
    2021-12-13 22:00:35

    参考

    https://dracut.wiki.kernel.org/index.php/Main_Page
    这个dracut,是一个地名,引入的这个工具名称。
    作用是创建启动使用的内存文件系统。是使用已有(当前)系统里的文件,包括必要的工具、文件,打包出一个启动内存文件系统。
    redhat 升级到8之后,没有了 /sbin/new-kernel-pkg, 需要使用dracut 命令来生成initrd 文件。

    命令示例

    chroot

    dracut -f /boot/initramfs-4.1.img 4.1
    使用dir这个目录,作为root目录,来执行 dracut命令。 打包到文件/boot/initramfs-4.1.img,如果已经存在,就-f 强制覆盖。

    dracut shell

    https://access.redhat.com/solutions/1282013
    这里有一个好的例子,使用dracutshell 修复一个问题。

    怎样创建initrd

    https://access.redhat.com/solutions/1958

    错误dracut Warning: LVM rootvg/rootlv not found

    解决方法:https://access.redhat.com/solutions/1282013

    dracut-pre-udev

    dracut-pre-udev.service - runs the dracut hooks before udevd is started
    dracut-pre-udev.service
    This service runs all dracut hooks before udevd is started in the initramfs.

    [root@rhel-cleanmodules system]# systemctl status dracut-pre-udev
    ● dracut-pre-udev.service - dracut pre-udev hook
    Loaded: loaded (/usr/lib/systemd/system/…/…/dracut/modules.d/98dracut-systemd/dracut-pre-udev.service; static; ven
    Active: inactive (dead) since Tue 2022-04-05 02:29:52 EDT; 8min ago
    Docs: man:dracut-pre-udev.service(8)
    Main PID: 363 (code=exited, status=0/SUCCESS)

    服务配置文件

    #This file is part of dracut.

    #See dracut.bootup(7) for details

    [Unit]
    Description=dracut pre-udev hook
    Documentation=man:dracut-pre-udev.service(8) 这个服务要运行所有的dracut的hook,怎么运行的
    DefaultDependencies=no
    Before=systemd-udevd.service dracut-pre-trigger.service
    After=dracut-cmdline.service
    Wants=dracut-cmdline.service
    ConditionPathExists=/usr/lib/initrd-release
    ConditionDirectoryNotEmpty=|/lib/dracut/hooks/pre-udev
    ConditionKernelCommandLine=|rd.break=pre-udev
    ConditionKernelCommandLine=|rd.driver.blacklist
    ConditionKernelCommandLine=|rd.driver.pre
    ConditionKernelCommandLine=|rd.driver.post
    ConditionPathExistsGlob=|/etc/cmdline.d/*.conf
    Conflicts=shutdown.target emergency.target

    [Service]
    Environment=DRACUT_SYSTEMD=1
    Environment=NEWROOT=/sysroot
    Type=oneshot
    ExecStart=-/bin/dracut-pre-udev
    StandardInput=null
    StandardOutput=syslog
    StandardError=syslog+console
    KillMode=process
    RemainAfterExit=yes

    #Bash ignores SIGTERM, so we send SIGHUP instead, to ensure that bash
    #terminates cleanly.
    KillSignal=SIGHUP

    使用到 dm-mod 内核模块,就是 在driver/md/dm.c这个文件

    “-”: If the executable path is prefixed with “-”, an exit code of the command normally considered a failure (i.e. non-zero exit status or abnormal exit due to signal) is ignored and considered success.

    更多相关内容
  • dracut(该工具)用于通过从已安装的系统复制工具和文件并将其与通常在/usr/lib/dracut/modules.d中找到的dracut框架相结合来创建initramfs映像。 与其他实现不同,将硬代码尽可能少地拖入initramfs中。 initramfs...
  • dracut-crypt-ssh 1.简介 crypt-ssh dracut模块允许通过ssh使用全盘加密对系统进行远程解锁。 您要执行此操作的原因有很多: 它提供了一种无需控制台切换即可为许多服务器输入加密密钥的方法。 它允许引导远程或...
  • dracut

    千次阅读 2021-05-11 11:20:41
    Dracut本页面正在建设!建言或参与施工请至这篇文章的讨论页面。dracut是下一代的 initramfs 系统。和前一代 initramfs 系统,mkinitrd,的不同点在于,dracut 设计上就考虑到了映像尺寸的问题,尽量避免硬编码,以...

    Dracut195a62d9d334cd5298a9fd9f6b77f91c.png本页面正在建设!

    建言或参与施工请至这篇文章的 讨论 页面。

    dracut 是下一代的 initramfs 系统。和前一代 initramfs 系统,mkinitrd,的不同点在于,dracut 设计上就考虑到了映像尺寸的问题,尽量避免硬编码,以提高生成的 cpio 映像载入内存的速度; 实现上,由于 initramfs 的唯一作用就是挂载 rootfs(因此不需要把一堆无用的比如 plymouth 等都装进去),它主要依赖 udev 去获取 rootfs 的设备节点,一旦 rootfs 节点出现则立刻切换过去。按照官方维基的说法:5 秒启动不是梦。另外它采用了模块化的方式,使用者可自由在 %{_libdir}/dracut/modules.d 下创建他需要的特殊模块,可扩展性很强。最后它的使用方式和 mkinitrd 非常接近,迁移成本较低。

    Fedora 11 的时候就使用了 dracut,而 openSUSE 对 dracut 的评估开始于 2012 年 Hackweek 8 前夕和期间,因此目前只进入了 Factory,尚未确定是否会应用于 openSUSE 12.3。因此有风险。非高级用户请谨慎尝试。

    [编辑]安装sudo zypper ar -f http://download.opensuse.org/repositories/home:/MargueriteSu/openSUSE_12.2/ home:MargueriteSu

    sudo zypper in dracut dracut-tools dracut-caps dracut-network

    [编辑]创建新 initramfs

    最简单的方法就是使用:dracut

    这将在你的 /boot 目录下创建一个名为 initramfs-.img 的通用 initramfs,这包含了你当前运行内核当前加载的全部内核模块。

    要是那个文件已经存在了,dracut 会报错,你可以使用 dracut --force 来强行写入。

    你还可以指定生成映像的名称和内核版本,如:dracut 名称.img 内核版本

    当前内核版本可使用 uname -r 查看,后安装的内核版本可在 /usr/src 目录中执行 ls -l 查看 linux 文件夹的链接指向来确定 。主要用于安装了多版本内核的情况,比如内核升级完成未重启前重制 initramfs(因为 openSUSE 整合 dracut 不够深,现在没有这样的自动化命令出现)。

    要是想生成最小化的 dracut 的话,可是使用:dracut --hostonly

    命令。该命令生成的 initramfs 映像只能在本机使用。也就说你,你既不能把硬盘放到别的机器上引导,也不能调整 root 分区。不然就会挂掉。因此请保留一份通用 initramfs 以做恢复之用。最好之前的 initrd 也留着!另外一定要看下面的常见问题,否则就目前版本的 dracut 来说,生成的映像是一定不能用的!

    [编辑]检查文件

    dracut 生成的也是 cpio 压缩包,可以使用 lsinitrd 工具来查看:lsinitrd /boot/initramfs-$(uname -r).img | less

    查看镜像内文件的内容:# lsinitrd /boot/initramfs-$(uname -r).img /etc/ld.so.conf

    [编辑]查看可用模块dracut --list-module

    注意这样列出的是所有 dracut 模块。你并不知道哪个将被包含到生成的 initramfs 中去。关于模块的描述请见优化章节。

    [编辑]添加模块dracut -a "模块名"

    [编辑]忽略模块dracut -o "模块名"

    这点在后面优化的时候很有用。

    [编辑]添加内核驱动

    用来指定 kernel-modules 这个 dracut 配置模块将加载的内核驱动。默认 dracut 的 kernel-modules 会加载你在 lsmod 命令中能够见到的所有内核模块。因此如果你的内核像 openSUSE 的这么强大,那么基本上 lsmod 命令就列出了你这个硬件配置所需的模块,不必再添加新的了。有备无患:dracut -a "内核驱动模块名"

    [编辑]插入自定义文件dracut -i 该文件在你本机上的位置 该文件在映像中的位置 // 一般是相同的

    [编辑]只使用指定的模块dracut -m "模块列表,空格分开"

    [编辑]启用 dracut 生成的 initramfs

    编辑 /boot/grub2/grub.cfg,替换下面这行:echo 'Loading initial ramdisk ...'

    initrd /initd-3.6.3-1-desktop

    [编辑]恢复 initramfs

    如果你用 --hostonly 未能引导,而且你有通用 initramfs 映像。你可以在 grub2 中按 e 进入菜单条目,把里面的 initrd= 给替换成通用的。依然不能引导的话你可以换回 initrd。

    [编辑]引导选项

    以下操作都发生在 /etc/grub2/grub.cfg 中。

    [编辑]指定 rootfs

    就是 grub2 的语法。rootfs=/dev/sda6

    rootfs=UUID=blabla

    rootfs=LABEL=blabla

    [编辑]键盘布局设置

    [编辑]屏蔽内核模块

    比如你在使用 nouveau 开源显卡的时候,创建的通用 initramfs 映像,现在你想在私有的上面用,那就需要屏蔽掉一些内核驱动:rd.driver.blacklist=nouveau

    [编辑]加速引导rd.luks=0 rd.lvm=0 rd.md=0 rd.dm=0

    这将直接关闭针对 LUKS 磁盘加密、LVM 逻辑磁盘、MDRAID 多设备磁盘、DeviceMapper 设备映像器的检测(后三者多用于服务器)。

    [编辑]调试

    [编辑]优化

    [编辑]模块列表和它们的用途

    注意本列表移植自 Gentoo 维基,官方并没有这样的说明。因此准确性无法保证。

    下面列出了所有模块的功能,读者生成自己的 initramfs 时可以使用 dracut -m "想要的模块列表" 的方式也可以通过 dracut -o "不想要的模块列表" 的方式来去除自己用不到的模块。

    [编辑]默认模块模块描述启用

    dash以 /bin/dash 作为 /bin/sh总是

    i18n包含键盘布局、终端字体,等等总是

    convertfs下次启动时将 / 合并到 /usr从不

    kernel-modules包含内核模块总是

    fstab-sys在挂载 root 分区前挂载其他分区/etc/fstab.sys 存在时,或使用 --fstab 或 --add-fstab 选项时

    resume将系统从休眠中唤醒总是

    rootfs-block挂载 rootfs总是

    terminfo包含一个 terminfo 文件总是

    udev-rules包含 udev 和基本规则总是

    securityfs早早挂载 securityfs永不

    usrmount启动时挂载 /usr总是

    base基础工具总是

    fs-lib文件系统工具 (包括 mount)总是

    img-lib解压映像的工具从不

    shutdown关机总是

    [编辑]可选模块Module sort_none.gifPurpose sort_none.gifEnabled? sort_none.gifUSE Flag sort_none.gifAdditional Packages sort_none.gif

    biosdevname启用 BIOS 网络设备重命名总是

    btrfs支持 btrfs rootfshost-only: rootfs

    capssupports dropping capabilities before init总是(also replaces dash with bash)

    crypt支持加密 rootfshost-only: rootfsdevice-mapper, static-libs4

    crypt-gpg支持 gpg 加密(需要 crypt 模块)永不

    dmraid支持 FakeRAID 上的 rootfshost-only: rootfsdevice-mapper

    dmsquash-live支持 LiveCD rootfs永不 (host-only: refused)device-mapper

    gensplash包含静态 splash 屏幕永不static-libs4

    iscsi支持 iscsi 设备上的 rootfshost-only: rootfsnet

    livenet通过 HTTP 获取 rootfs (需要 dmsquash-live 模块)永不device-mapper, net

    lvm支持 LVM 设备上的 rootfshost-only: rootfsdevice-mapper

    mdraid支持软件 RAID 上的 rootfshost-only: rootfs

    multipath支持多路径设备上的 rootfshost-only: rootfs

    nbd支持在网络块设备上的 rootfshost-only: rootfsnet

    nfs支持以 NFS 方式挂载的 rootfsnethost-only: rootfs

    plymouth启动动画总是libkms3

    ssh-client包含 ssh 和 scp 客户端永不net

    debug包含调试工具永不installed when USE=debug

    dm包含 device-mapper永不installed when USE=device-mapper

    ifcfg运行时生成网络配置永不installed when USE=net

    network用于网络启动总是installed when USE=net

    selinux加载 selinux 策略永不installed when USE=selinux

    url-lib包含 cUrl 和 SSL 证书永不installed when USE=net

    bootchart watchdog busybox network cms qemu qemu-net cifs dasd dasd_mod fcoe virtfs zfcp znet masterkey ecryptfs integrity pollcdrom systemd suse

    [编辑]压缩方式--gzip 默认

    --bzip2

    --lzma

    --xz

    --no-compress

    openSUSE 的内核支持以上所有 dracut 有的压缩方式,只要你在系统上能打开相应格式的软件包,那用它启动就没有问题。

    [编辑]不同压缩方式对映像大小和启动速度的影响压缩方式映像大小启动速度

    gzip偏大示例

    bzip适中示例

    lzma最小示例

    xz小示例

    [编辑]其他与优化相关的选项-H, --host-only 解释见上,生成的 initramfs 会小一多半,一般在 5 MB 以下。

    --nofscks 不安装磁盘修复工具,启动时也不检查磁盘,比如 btrfs 这类的就可以考虑一下

    --strip 把 debuginfo 从即将包含进 initramfs 的二进制可执行文件中提取出来并丢掉

    --kernel-only 只包含内核模块。不明白什么意思,但勇敢者可以尝试一下

    [编辑]常见问题

    [编辑]/bin/setfont/ bin/loadkey failed with error code 1

    这是因为你开启了 i18n 模块却没有在 grub2 的内核命令行中设置 vconsole 字体和键盘布局导致的。

    由于中文完全没有所谓的 console 字体(console 字体最多不能超过 256 个字符,中文你懂得),所以我们没有必要开启 i18n,在生成 initramfs 时使用 -o "i18n" 选项来屏蔽 i18n 模块。

    [编辑]rpcbind: rpcbind terminating on signal. restart with "rpcbind -w"

    这是由于你启用了 nfs 模块,在 initramfs 中却没有 rpcbind 命令导致的。解决方法有两种:-o "nfs" 来禁用 nfs 模块。多用于桌面

    -i /sbin/rpcbind /sbin/rpcbind 来将 rpcbind 放到 initrmfs 中。

    [编辑]/bin/sh: error while loading shared libraries : libreadline.so.6. can not open shared object file: no such file or directory. kernel panic.

    多见于使用了 --hostonly 选项时。这是因为生成的 initramfs 中没有 /lib64/libreadline.so.6.2,所以造成了 kernel panic。因此:

    使用 -i /lib64/libreadline.so.6.2 /lib64/libreadline.so.6.2 将它放到 initramfs 中。

    [编辑]参考文献

    展开全文
  • 离线安装包,亲测可用
  • 离线安装包,测试可用
  • 离线安装包,亲测可用
  • dracut fixes that no anaconda modules problem
  • 离线安装包,亲测可用
  • 官方离线安装包,测试可用。使用rpm -ivh [rpm完整包名] 进行安装
  • 官方离线安装包,亲测可用
  • anaconda-dracut-21.48.22.121-3.rhelah.0.el7.centos.x86_64.rpm
  • 离线安装包,亲测可用
  • dracut-network-004-283.el6.noarch.rpm
  • dracut-kernel-004-283.el6.noarch.rpm
  • 离线安装包,亲测可用
  • 简单易用 ==== 关于 dracut-efi-simple是一个pacman钩子,旨在创建一个简单... 另外,其他发行版严重依赖dracut来创建初始ramdisk,而大多数特定于发行版的脚本将使dracut配置示例(如下)容易出错。 dracut-efi-simp
  • dracut 基本介绍

    千次阅读 2020-12-21 08:33:15
    dracut 维基 https://dracut.wiki.kernel.org/index.php/Main_Pagehttp://www.360doc.com/content/13/0428/09/12139495_281449877.shtmldracut 官方手册 ...

    dracut 维基     https://dracut.wiki.kernel.org/index.php/Main_Page

    http://www.360doc.com/content/13/0428/09/12139495_281449877.shtml

    dracut  官方手册  https://www.kernel.org/pub/linux/utils/boot/dracut/dracut.html#dracutkernel7

    https://www.kernel.org/pub/linux/utils/boot/dracut/

    基本介绍

    dracut是一个事件驱动的 initramfs 基础设施。dracut(工具)被用来通过拷贝工具和文件,从一个已经安装的系统创建一个 initramfs 镜像,并将镜像与dracut框架结合在一起。通常发现在 /usr/lib/dracut/modules.d/.

    不像已经存在的initramfs框架,dracut的框架尝试有尽可能更少的硬编码进入initramfs。initramfs在生命中有一个基本的目标:获取已经挂载的rootfs,以致我们能够过渡到真正的rootfs。这是所有驱动装置的可用性。因此,取代脚本硬编码去做各种事情,dracut的 initramfs 依赖 udev 去创建符号链接到设备节点,接着,当rootfs的设备节点出现的时候,它被挂载和根切换到rootfs设备。 这个有助于保持在initramfs里要求的时间尽可能的少,以致一些事情,如5s钟启动,作为一个initramfs的存在结果不是不可能的。

    在dracut中,大部分的initramfs生成器功能由一群生成模块提供,这些模块是被主要的dracut工具采购,来安装特定的功能进入initramfs。他们存在于这些模块的子目录。和使用由dracut-functions提供的功能去做他们的工作。

    dracut作为新一代的 initramfs 系统,和前一代的initramfs系统的 mkinitrd 的不同点在于, dracut设计上就考虑到了映像尺寸的问题,尽量避免硬编码,以提高生成的 cpio 映像载入内存的速度。实际上,由于initramfs的唯一作用就是挂载rootfs(因此不需要把一堆无用的比如 plymouth 等都装进去),它主要依赖 udev 去获取 rootfs 的设备节点,一旦 rootfs 节点出现则立刻切换过去。按照官方维基的说法:5秒启动不是梦。另外它采用了模块化的方式,使用者可自由在%{_libdir}/dracut/modules.d 下创建他需要的特殊模块,可扩展性很强。最后它的使用方式和 mkinitrd 非常接近,迁移成本较低。

    dracut 用于制作initrd启动镜像文件, dracut-network会为镜像内添加nfs等网络支持.

    centos 7.2

    版本: dracut-033-359.el7.x86_64

    dracut-config-rescue-033-360.el7_2.x86_64

    dracut-033-360.el7_2.x86_64

    dracut-network-033-360.el7_2.x86_64

    centos 6

    dracut-004-32.el6.noarch

    dracut-kernel-004-32.el6.noarch

    命令行工具:

    dracutcreate initial ramdisk images for preloading modules。  dracut创建虚拟磁盘映像,提供给内核,预加载块设备模块(例如 IDE,SCSI或者RAID),通过加载这些设备模块访问根文件系统。

    dracut [OPTION...] [ []]

    创建一个带有kernel版本号,为kernel使用的 initramfs 镜像。如果 被省略,那么使用实际运行的内核版本号。如果 被省略或为空,那么缺省的位置/boot/initramfs-.img被使用

    在启动时,内核解包这个存档进入内存,挂载和使用它作为初始化根文件系统。所有发现的根设备发生在这个早期的用户空间。

    完整的内核命令行选项,详看 dracut.cmdline(7).

    如果被降到一个紧急shell,当启动你的 initramfs时,文件 /run/initramfs/rdsosreport.txt被创建,这个文件能被安全(手动挂载)的成为一个分区(通用 /启动)或一个USB盘.  通过在内核命令添加 rd.debug产生附件的调试信息。 /run/initramfs/rdsosreport.txt包含所有的日志和一些工具的输出。这个文件应该被联系到关于dracut问题的任何报告。

    lsinitrdtool to show the contents of an initramfs image。if is omitted, then lsinitrd uses the default image/boot///initrdor/boot/initramfs-.img.

    lsinitrd [OPTION...] [ [ [ [...] ]]]

    lsinitrd [OPTION...] -k

    lsinitrd显示一个 initramfs 镜像的内容。 如果 被省略,那么 lsinitrd用 这个缺省的镜像   /boot///initrd或者 /boot/initramfs-.img

    OPTIONS

    -h, --help           print a help message and exit.

    -s, --size            sort the contents of the initramfs by size.

    -f, --file        print the contents of .

    -k, --kver   inspect the initramfs of .

    mkinitrdis a compat wrapper, which calls dracut to generate an initramfs   调用 dracut 来产生 initramfs。

    mkinitrd [OPTION...] []

    mkinitrd 通过调用 dracut 去创建一个 initramfs 带有版本的镜像 镜像。

    注意: 如果需要生成一个更细粒度控制的镜像,“dracut”应该被直接调用。

    OPTIONS

    --versionprint info about the version

    -v, --verbose         increase verbosity level

    -f, --force          overwrite existing initramfs file.

    *--image-version       append the kernel version to the target image -.

    --with=      add the kernel module to the initramfs.

    --preload=     preload the kernel module in the initramfs before any other kernel modules are loaded. This can be used to ensure a certain device naming, which should in theory be avoided and the use of symbolic links in /dev is encouraged.

    --nocompress       do not compress the resulting image.

    --help            print a help message and exit.

    配置

    /etc/dracut.conf            see dracut.conf5

    /etc/dracut.conf.d/*.conf          see dracut.conf5

    /usr/lib/dracut/dracut.conf.d/*.conf   see dracut.conf5

    Configuration in the initramfs

    /etc/conf.d/              Any files found in /etc/conf.d/ will be sourced in the initramfs to set initial values. Command line options will override these values set in the configuration files.

    /etc/cmdline              Can contain additional command line options. Deprecated, better use /etc/cmdline.d/*.conf.

    /etc/cmdline.d/*.conf          Can contain additional command line options.

    服务

    dracut-cmdline.service

    dracut-initqueue.service

    dracut-mount.service

    dracut-pre-mount.service

    dracut-pre-pivot.service

    dracut-pre-trigger.service

    dracut-pre-udev.service

    dracut-shutdown.service

    日志

    /var/log/dracut.log      initramfs 镜像创建的日志文件

    /tmp/dracut.log            initramfs 镜像创建的日志文件, 如果 /var/log/dracut.log 没有被写。

    参考:

    PXE启动服务器及客户端镜像制作  http://blog.csdn.net/beck_chen/article/details/52672324

    展开全文
  • dracut 使用笔记

    2021-12-23 19:01:24
    dracut 维基 https://dracut.wiki.kernel.org/index.php/Main_Page dracut 官方手册 https://www.kernel.org/pub/linux/utils/boot/dracut/dracut.html#dracutkernel7 dracut 下载地址 ...

    dracut 维基     https://dracut.wiki.kernel.org/index.php/Main_Page

    dracut  官方手册  https://www.kernel.org/pub/linux/utils/boot/dracut/dracut.html#dracutkernel7

    dracut 下载地址   https://www.kernel.org/pub/linux/utils/boot/dracut/

    dracut是什么

    关于这点网上能找到的翻译和介绍也不少,我就说说我的理解吧,dracut是用来制作initramfs的工具。这个initramfs是在系统启动前加载到内存中的一个临时文件系统。作用就是帮助我们正确引导系统,如果没有initramfs这个东东我们的系统是启动不了的。

    其实编译内核的时候是会生成对应的initramfs文件的,在编译完内核,执行了make install之后就会在/boot/目录下生成以“initramfs”开头,以“.img”结尾的文件,中级内容一般是对应的版本号。如图:

    既然编译内核能够生成initramfs文件,为什么还要用dracut再生成一次呢?

    大概原因有二:一是内核太过庞大,重新编太过麻烦。另一个原因就是有时需要加一些定制化的东西,直接改内核要求太高,用dracut就方便许多了。 

    支持FakeRaid和软Raid

    修改脚本

    系统进入initramfs之后默认看不到raid分区的各个磁盘,需要执行命令

    mdadm -As --auto=yes --run

    后才能看到,我把这个命令加到了/lib/dracut/modules.d/90mdraid/parse-md.sh文件的最后。

    如图:

     parse-md.sh这个脚本是有一个触发钩子的,在/lib/dracut/modules.d/90mdraid/module-setup.sh中挂载:

     pre-trigger可以理解为钩子的挂载点,具体有哪些挂载点,有代表什么位置,可以看看官方的帮助文档:dracut.modules(7) - Linux manual page

    添加完命令,就可以生成文件了。

    生成initramfs文件

    不论是FakeRaid还是软Raid都要用到一个mdadm的工具,我编译好的initramfs是不带的,可以通过命令添加:

    dracut --add "mdraid" /root/initramfs-raid.img 5.4.155 --force
    • --add 后面是要添加的模块名称。
    • initramfs-raid.img 是要生成的文件名。
    • 5.4.155 是我内核的版本号,dracut会自动去/lib/modules/5.4.155下加载相关模块内容。版本号可以不写,默认是加载当前运行内核的版本。
    • --force 是强制执行,如果已经有目标文件存在,则会覆盖该文件。

    执行完成之后可以查看模块加载是否成功:

    lsinitrd -m /root/initramfs-raid.img
    • -m 为只显示模块名字,不加的话还会现在一大堆文件信息。
    • initramfs-raid.img就只前面生成的initramfs文件。

    支持LVM(逻辑卷)

    修改脚本

    和Raid类似,lvm一会有看不到分区的问题,需要在/lib/dracut/modules.d/90lvm/下创建脚本“pre-trigger-lvm.sh”,脚本的内容是两行命令

    vgchange -a y 
    vgmknodes
    

    这两行命令的作用在我的另一篇文章LVM踩坑总结中做了介绍。

    在/lib/dracut/modules.d/90lvm/module-setup.sh中使用inst_hook挂载刚才创建的脚本。

    inst_hook mount 30 "$moddir/pre-trigger-lvm.sh"
    • mount同上面一样,也是钩子的挂载点。

     生成initramfs文件

    dracut --add "multipath lvm" initramfs-lvm.img 5.4.155 --force

    用生成的initramfs替换掉/boot/下的文件,在系统启动的开始阶段就能够读到Raid和LVM分区了。

    展开全文
  • dracut -f /boot/initramfs-2.6.32-573.8.1.el6.x86_64.img 如果引导的虚拟文件系统不是默认的initramfs,则命令为:dracut -f 实际使用的initramfs文件名或者initrd文件名。“实际使用的initramfs文件名或者...
  • 在启动过程中,我们会看到类似下面的画面,提示“Warning:dracut-initqueue timeout-starting”,这是因为没有未找到系统引导文件 dracut:/#blkid 直接使用blkid可列出当前系统中所以已挂载文件系统的类型 /dev/...
  • dracut-004-283.el6.noarch.rpm
  • fedup-dracut - Fedora 升级的 initramfs 环境 这是fedup-dracut ,Fedora 升级的 initramfs 环境。 组件 它有以下几个部分: 90system-upgrade/ 该模块为运行升级提供了一个(发行版中立的)框架。 添加三个 ...
  • 公司机房没有ups,昨天突然断电了.... 启动后,就进入到dracut模式了. 报错什么iscsi 的错误.就是起不来. 也没个专门的运维,我一开发来弄,但我也不明白啊.这啥问题啊. PS:不是虚拟机,是机房一台独立的物理机.
  • Centos开机故障进入dracut模式

    千次阅读 2022-02-28 20:16:57
    Centos开机故障进入dracut模式 由于系统配置参数错误,开机进入dracut模式,并进行以下报错 Warning: /dev/centos/root does not exist Warning: /dev/centos/home does not exist Warning: /dev/centos/swap does ...
  • manjaro 安装dracut

    千次阅读 2019-01-12 15:45:24
    manjaro 安装dracutpacman安装-...[one-pc ~]# pacman -S dracut ]错误:未找到目标:dracut yay安装 [one-pc ~]# su one [one@one-pc root]$ yay -S dracut :: Checking for conflicts... :: Checking for inner ...
  • dracut-fips-004-283.el6.noarch.rpm
  • 安装linux系统至少需要哪几个分区_网站服务器运行维护安装linux系统至少需要2个分区,分别...解决u盘安装centos7出现dracut的问题1、安装出现这一步的时候,在dracut:/# 输入 cd /dev 回车 然后输入ls ,查看U盘设备...
  • 在安装centos8时抛出了dracut-initqueue timeout” 错误提示,如下图 解决思路1、 步骤一:百度一番,发现很多老师说输入cd /dev下查看U盘挂载位置也就是sdb4,如下图 步骤二:然后,查到了这个之后在重新...
  • 使用U盘安装Centos7启动过程出现了以下报错:starting dracut initqueue hook 这个问题是因为安装程序没有找到安装文件的位置。所以我们需要在启动过程中找到对应启动盘的U盘,然后指定U盘所在的位置即可。 解决...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 4,808
精华内容 1,923
关键字:

dracut

友情链接: 四轮2 - 摄像头2.zip