From owner-freebsd-fs@freebsd.org Fri Nov 11 16:09:12 2016 Return-Path: Delivered-To: freebsd-fs@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 8F190C3AAB4 for ; Fri, 11 Nov 2016 16:09:12 +0000 (UTC) (envelope-from gpalmer@freebsd.org) Received: from mail.in-addr.com (mail.in-addr.com [IPv6:2a01:4f8:191:61e8::2525:2525]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 5BAD913AB for ; Fri, 11 Nov 2016 16:09:12 +0000 (UTC) (envelope-from gpalmer@freebsd.org) Received: from gjp by mail.in-addr.com with local (Exim 4.87 (FreeBSD)) (envelope-from ) id 1c5EO5-000PqE-Vw; Fri, 11 Nov 2016 16:09:10 +0000 Date: Fri, 11 Nov 2016 16:09:09 +0000 From: Gary Palmer To: tech-lists Cc: freebsd-fs@freebsd.org Subject: Re: mounting an ubuntu 14.04 bhyve image as a filesystem for editing Message-ID: <20161111160909.GA67078@in-addr.com> References: <20161110152612.GH68652@e-new.0x20.net> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: X-SA-Exim-Connect-IP: X-SA-Exim-Mail-From: gpalmer@freebsd.org X-SA-Exim-Scanned: No (on mail.in-addr.com); SAEximRunCond expanded to false X-BeenThere: freebsd-fs@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: Filesystems List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 11 Nov 2016 16:09:12 -0000 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@host0:/vms/138# mdconfig -t vnode -f ubuntu138.img > md2 > > root@host0:/vms/138# ext4fuse /dev/md2 /mnt > Partition doesn't contain EXT4 filesystem > > root@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@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@host0:/vms/138# ext4fuse /dev/md2s2 /mnt > Partition doesn't contain EXT4 filesystem > > root@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@host0:/vms/138# kldstat | grep ext > 13 1 0xffffffff81d90000 13c8e ext2fs.ko > root@host0:/vms/138# > > root@host0:/vms/138# mount -t ext2fs /dev/md2 /mnt > mount: /dev/md2: Invalid argument > > root@host0:/vms/138# mount -t ext2fs /dev/md2s1 /mnt > mount: /dev/md2s1: Invalid argument > > root@host0:/vms/138# mount -t ext2fs /dev/md2s2 /mnt > mount: /dev/md2s2: Invalid argument > > root@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