mounting an ubuntu 14.04 bhyve image as a filesystem for editing
Gary Palmer
gpalmer at freebsd.org
Fri Nov 11 16:09:12 UTC 2016
On Fri, Nov 11, 2016 at 03:30:59PM +0000, tech-lists wrote:
> On 10/11/2016 15:26, Lars Engels wrote:
> > On Thu, Nov 10, 2016 at 12:32:07PM +0000, tech-lists wrote:
> >> Hello list,
> >>
> >> [originally sent to virtualization@ but got no replies, probably
> >> because, thinking about it, the fact that it's a bhyve image is incidental]
> >>
> >> [snipped stuff about bhyve]
> >>
> >> Is there a way of taking an ubuntu VM image that normally runs as a
> >> bhyve guest, mounting it on some mountpoint on the freebsd host and
> >> directly editing the files within it?
> >>
> >> Alternatively, is there a way of making grub boot the image into
> >> single-user-mode like one can with freebsd?
> >>
> >
> > That should work (provided sysutils/fusefs-ext4fuse is installed):
> >
> > # mdconfig -t vnode -f $ubuntu_img
> > # ext4fuse /dev/md0 /mnt
> >
>
> Hi, thanks for looking at this.
>
> Unfortunately it didn't work:
>
> root at host0:/vms/138# mdconfig -t vnode -f ubuntu138.img
> md2
>
> root at host0:/vms/138# ext4fuse /dev/md2 /mnt
> Partition doesn't contain EXT4 filesystem
>
> root at host0:/vms/138# ls -la /dev/md2*
> crw-r----- 1 root operator 0xb0 Nov 11 14:58 /dev/md2
> crw-r----- 1 root operator 0xb4 Nov 11 15:06 /dev/md2s1
> crw-r----- 1 root operator 0xb5 Nov 11 15:06 /dev/md2s2
> crw-r----- 1 root operator 0xb6 Nov 11 15:06 /dev/md2s5
>
> root at host0:/vms/138# ext4fuse /dev/md2s1 /mnt
> fuse: failed to open fuse device: No such file or directory
That is a different error than the others. I somewhat suspect
that there is an ext partition on md2s1 but something else
prevented the mount from proceeding. Is there anything in
dmesg or /var/log/messages?
Do you have a /dev/fuse?
> root at host0:/vms/138# ext4fuse /dev/md2s2 /mnt
> Partition doesn't contain EXT4 filesystem
>
> root at host0:/vms/138# ext4fuse /dev/md2s5 /mnt
> Partition doesn't contain EXT4 filesystem
>
> I'm certain the defaults for 14.04 are ext4. Mind you, I upgraded this
> from ubuntu13.10. So it might be ext3.
>
> I have ext2fs kernel module installed:
>
> root at host0:/vms/138# kldstat | grep ext
> 13 1 0xffffffff81d90000 13c8e ext2fs.ko
> root at host0:/vms/138#
>
> root at host0:/vms/138# mount -t ext2fs /dev/md2 /mnt
> mount: /dev/md2: Invalid argument
>
> root at host0:/vms/138# mount -t ext2fs /dev/md2s1 /mnt
> mount: /dev/md2s1: Invalid argument
>
> root at host0:/vms/138# mount -t ext2fs /dev/md2s2 /mnt
> mount: /dev/md2s2: Invalid argument
>
> root at host0:/vms/138# mount -t ext2fs /dev/md2s5 /mnt
> mount: /dev/md2s5: Invalid argument
>
> As I understand it, this driver should also read ext3. Maybe bhyve does
> something meaning the filesystem in the image isn't readable as the
> installed filesystem of the image, to the host?
>
> Do you have any other suggestions?
Try:
file -s /dev/md2s1
file -s /dev/md2s2
file -s /dev/md2s5
If I understand correctly, the default Ubuntu partitioning is for
partition 1 (s1) to be the boot/root partition, partition 2 to be
an "extended" partition which contains partition 5, the swap partition.
It's also possible you used LVM and that could hide the paritions inside
other ones. FreeBSD can parse LVM if you load the geom_linux_lvm
kernel module.
Regards,
Gary
More information about the freebsd-fs
mailing list