【问题标题】:Device mapper, boot with virtual device设备映射器,使用虚拟设备启动
【发布时间】:2017-06-02 20:39:50
【问题描述】:

我的任务是在设备映射器内核模块的帮助下在真实设备下制作虚拟设备。虚拟设备必须将任何请求传输到真实设备,因此两个设备必须相等。

在未来我应该能够控制请求,所以我编写了内核模块,代表设备映射器目标,使用这个article

制作模块并插入它(insmod 命令)后,我设置了我的设备(dmsetup create)。然后进行挂载,可以通过刚刚创建的虚拟设备使用真实设备。

但问题是如何在启动时重复上述指令?我想将我的虚拟设备用作通用设备(我猜是通过更改 fstab)。

提前致谢!

【问题讨论】:

    标签: linux boot device-mapper fstab


    【解决方案1】:

    如果您要将设备用作根文件系统,则需要创建一个 initramfs 来设置它。基本上是一个 shell 脚本,它发出 dmsetup 命令,然后是 mount,最后是 pivot_root 到新文件系统。

    There was a discussion on the dm-devel mailing list last year 了解如何在没有 initramfs 的情况下在 Linux 内核中执行此操作,方法是在内核命令行上指定映射器行。这是 Chrome OS 的做法,因为他们不能/不会使用 initramfs。见here for documentation of this feature。但该功能从未合并。

    The patch series was updated and resubmitted in May 2017。希望我们最终会看到它以某种形式合并。

    如果您不打算将您的设备用作根文件系统,您仍然可以根据需要使用相同的方法,但可能有更简单的方法。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-02-05
      • 2018-10-13
      • 2017-08-09
      • 2014-01-06
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多