如何将一个文件挂载到另一个文件上

如何将一个文件挂载到另一个文件上

我正在尝试安装/boot/config-4.14.90-v8/usr/src/linux/.config.我试过了:

rpi-4.14.y:linux Necktwi$ sudo mount -o loop,ro -t vfat /boot/config-4.14.90-v8-g6d68e517b3ec /usr/src/linux/.config
mount: /usr/src/linux/.config: cannot mount /dev/loop0 read-only.

注意错误cannot mount /dev/loop0 read-only

rootfsbtrfs
/boot是(我安装了远程服务器vfat
/usr/srcnfs/usr/src


我尝试过mount --bind,但失败了。

rpi-4.14.y:linux Necktwi$ sudo mount --bind /boot/config-4.14.90-v8-g6d68e517b3ec /usr/src/linux/.config
mount: /usr/src/linux/.config: bind /boot/config-4.14.90-v8-g6d68e517b3ec failed.

答案1

如果您想挂载单个文件,以便在挂载点上看到该文件的内容,那么您想要的是绑定挂载

您可以使用以下命令来完成此操作:

# mount --bind /boot/config-4.14.90-v8 /usr/src/linux/.config

您可以使用-o ro它使其在路径上只读/usr/src/linux/.config

有关更多详细信息,请在手册页中查找绑定安装安装(8)


循环设备的作用类似,但又有所不同。他们安装了一个文件系统存储到另一个目录中的常规文件中。

因此,如果您将 vfat 或 ext4 等文件系统存储到文件中,例如/vol/myfs.img,您可以将其挂载到目录,比如说/mnt/myfs,使用以下命令:

# mount -o loop /vol/myfs.img /mnt/myfs

您可以传递它-t vfat等来强制文件系统类型。

请注意,-o loop通常不需要,因为mount它会通过您尝试挂载文件来确定并自动为您执行此操作。

此外,使用 (或自动检测) 挂载文件-o loop是将该文件映射到设备的快捷方式/dev/loopX,您也可以使用losetup,然后运行 ​​mount 命令,例如mount /dev/loop0 /mnt/myfs。请参阅 man 页面失败设置(8)有关循环设备的详细信息。

答案2

虽然您无法挂载普通文件,但您可以创建符号链接/usr/src/linux/.config指向特定的本地内核配置文件。由于您的配置不同,此方法有其自己的陷阱,因为您还必须在本地维护符号链接,例如/boot/config-默认值指向可以在 NFS 共享中使用的实际配置文件。

更好的方法是使用环境变量KCONFIG_CONFIG指向备用内核配置文件。

make menuconfig KCONFIG_CONFIG=/boot/config-4.14.90-v8

内核.org:

KCONFIG_CONFIG
--------------------------------------------------
This environment variable can be used to specify a default kernel config
file name to override the default name of ".config".

相关内容