On Tue, Jan 25, 2011 at 09:12:15AM -0600, Anthony Liguori wrote: > How much infrastructure does guestfd depend on within the guest? Do > you need a full install with all of the bells and whistles or does > it degrade cleanly when certain tools aren't available?
On Linux these are the libraries, both *optional*: - libselinux - augeas It also uses the following external programs if available, but will degrade gracefully if they are not: - blkid - blockdev - cmp - cp - cpio - df - du - various programs from ext2progs if you want to support ext2/3/4 - grep - grub-install - hexdump - ls - various programs from lvm2 if you want to support LVM ops - /sbin/mkfs.* depending on what filesystems you want to be able to create - mount - mv - ntfs-3g.probe - ntfsresize - mkswap - parted - printenv - rm - scrub - sfdisk - strings - tar - wc - zerofree As you can probably tell, in many cases the job of guestfsd is to unpack the structured C remote procedure call arguments, pass these to an external program, then parse the result and pass it back as a structured C return value. There are other guestfsd features which are implemented using POSIX functions and syscalls directly. The port to Windows involved rewriting the POSIX bits and bundling some of the commands above from mingw where that made sense (and where it didn't, making those calls return sensible and discoverable error values). This port has likely bitrotted and really needs to be picked up again. HTH, Rich. -- Richard Jones, Virtualization Group, Red Hat http://people.redhat.com/~rjones Read my programming blog: http://rwmj.wordpress.com Fedora now supports 80 OCaml packages (the OPEN alternative to F#) http://cocan.org/getting_started_with_ocaml_on_red_hat_and_fedora