[Libguestfs] guestfs-tools for *BSD images

Brady Pratt bpratt at redhat.com
Tue Dec 7 18:18:30 UTC 2021


Hi!

I'm curious about general support for BSD flavors with the guestfs-tools
and any history behind this. I've read through small bits of the code, and
from what I can tell certain commands aren't going to be supported
(install[0], update, uninstall) but maybe some will "just work" such as
inject-ssh[1] or password?

I've been attempting to set a user password for an OpenBSD 6.9 image[2],
but I'm met with an error related to mounting (ufs). Embarrassingly, and
while the error is very clear, I don't understand how to resolve this or if
I'm trying to achieve something that doesn't work. I've tried adding
`--mount-options` but I can't tell if these are getting propagated down.

```
$ virt-sysprep -v --add openbsd-6.9.qcow2 --password
openbsd:password:openbsd
...
command: mount '/dev/sda4' '/sysroot//'
[    1.997492] ufs: ufs was compiled with read-only support, can't be
mounted as read-write
[    1.998352] ufs: You didn't specify the type of your ufs filesystem
[    1.998352]
[    1.998352] mount -t ufs -o
ufstype=sun|sunx86|44bsd|ufs2|5xbsd|old|hp|nextstep|nextstep-cd|openstep ...
[    1.998352]
[    1.998352] >>>WARNING<<< Wrong ufstype may corrupt your filesystem,
default is ufstype=old
[    2.001713] ufs: ufs_fill_super(): bad magic number
command: mount returned 32
command: mount: stderr:
mount: /sysroot: wrong fs type, bad option, bad superblock on /dev/sda4,
missing codepage or helper program, or other error.
ocaml_exn: 'mount_options' raised 'Failure' exception
guestfsd: error: mount exited with status 32: mount: /sysroot: wrong fs
type, bad option, bad superblock on /dev/sda4, missing codepage or helper
program, or other error.
guestfsd: => mount_options (0x4a) took 0.02 secs
virt-sysprep: warning: mount_options: mount exited with status 32: mount:
/sysroot: wrong fs type, bad option, bad superblock on /dev/sda4, missing
codepage or helper program, or other error. (ignored)
[   2.3] Performing "abrt-data" ...
guestfsd: <= inspect_get_type (0x1e3) request length 56 bytes
commandrvf: stdout=n stderr=y flags=0x0
commandrvf: udevadm --debug settle -E /dev/sda4
SELinux enabled state cached to: disabled
No filesystem is currently mounted on /sys/fs/cgroup.
Failed to determine unit we run in, ignoring: No data available
guestfsd: => inspect_get_type (0x1e3) took 0.01 secs
guestfsd: <= glob_expand (0x71) request length 68 bytes
guestfsd: error: glob_expand_stub: you must call 'mount' first to mount the
root filesystem
guestfsd: => glob_expand (0x71) took 0.00 secs
virt-sysprep: error: libguestfs error: glob_expand: glob_expand_stub: you
must call 'mount' first to mount the root filesystem

If reporting bugs, run virt-sysprep with debugging enabled and include the
complete output:

  virt-sysprep -v -x [...]
libguestfs: closing guestfs handle 0x555ea1442800 (state 2)
...
```

This brings me to asking if there is any desire to support BSD flavors, has
it been done in the past and removed, or is it even feasible? I would
imagine this has already been explored and I'm just failing to find the
mail thread explaining things. If anyone has any experience doing this or
advice, I would really appreciate it. I'm incredibly new to all of this, my
apologies if this seems dumb or a waste of time.

Thank you kindly for any assistance on the matter,
Brady Pratt

[0]:
https://github.com/rwmjones/guestfs-tools/blob/master/customize/customize_run.ml#L73-L101
[1]:
https://github.com/rwmjones/guestfs-tools/blob/3a498512f58bc431db490e96cdb712b19389bda4/customize/ssh_key.ml#L97
[2]: https://bsd-cloud-image.org/
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://listman.redhat.com/archives/libguestfs/attachments/20211207/38d380dc/attachment.htm>


More information about the Libguestfs mailing list