Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[功能支持]支持qemu-nbd下动态vhd挂载 #1

Open
lz-lunzi opened this issue Jun 30, 2023 · 3 comments
Open

[功能支持]支持qemu-nbd下动态vhd挂载 #1

lz-lunzi opened this issue Jun 30, 2023 · 3 comments

Comments

@lz-lunzi
Copy link

fedora/arch 下无法编译vdfuse 使用qemu-nbd代替方案,
qemu-nbd代替方案代替中出现卡在dract-initqueue timeout
希望可以有成功的qemu-nbd代替方案实现

@MobtgZhang
Copy link
Owner

收到建议,我在编译之后也发现Fedora系列同样的问题,后续也尝试采用qemu-nbd方案。
virtual-box组件也需要重新调整一下。

@lz-lunzi
Copy link
Author

lz-lunzi commented Jun 30, 2023

这是我测试可行的一个 也许可以提供一个验证方式
sudo gedit /usr/share/initramfs-tools/hooks/vdfuse
#!/bin/sh -e
PREREQ=""
prereqs()
{
echo "$PREREQ"
}

case "$1" in
prereqs)
prereqs
exit 0
;;
esac

. /usr/share/initramfs-tools/hook-functions

copy_exec /etc/fuse.conf /etc
copy_exec /usr/bin/qemu-nbd /bin

sudo gedit /usr/share/initramfs-tools/scripts/init-top/vdfuse
#!/bin/sh -e
PREREQ="udev"
prereqs()
{
echo "$PREREQ"
}

case "$1" in
prereqs)
prereqs
exit 0
;;
esac

if [ ! -z $vdisk ]; then
mkdir /vdhost
mkdir /dev/vdhost
mount -t ntfs $host /vdhost/
modprobe nbd
exec -a @11 /qemu-nbd -c /dev/nbd1 /vdhost$vdisk
mount -t ext4 $ROOT ${rootmnt}

fi

sudo gedit /usr/share/initramfs-tools/scripts/init-bottom/vdhost
#!/bin/sh -e
PREREQ=""
prereqs()
{
echo "$PREREQ"
}
case "$1" in
prereqs)
prereqs
exit 0
;;
esac
if [ -d ${rootmnt}/vdhost ]; then
mount -n -o move /vdhost ${rootmnt}/vdhost
fi

sudo chmod +x /usr/share/initramfs-tools/hooks/vdfuse
sudo chmod +x /usr/share/initramfs-tools/scripts/init-top/vdfuse
sudo chmod +x /usr/share/initramfs-tools/scripts/init-bottom/vdhost
sudo /usr/sbin/mkinitramfs -o ./initrd.img

@lz-lunzi
Copy link
Author

lz-lunzi commented Jan 5, 2024

@MobtgZhang hi Fedora是否有qemu-nbd方案实现

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants