extra details about the guest itself in order to get to its
UID->username map (eg. /etc/passwd from the guest).
-febootstrap / debootstrap inside appliance
-------------------------------------------
-
-This was originally proposed as a way to install new operating systems
-in the appliance. However no one has come up with a workable
-solution.
-
Haskell bindings
----------------
Complete the Haskell bindings (see discussion on haskell-cafe).
+PHP bindings
+------------
+
+Add bindtests to PHP bindings.
+
Complete bind tests
-------------------
Should we bother having the daemon at all and just link the guestfsd
code directly into libguestfs?
-Supermin appliance to febootstrap
----------------------------------
-
-Supermin appliance functionality should be moved into febootstrap.
-
Ideas for extra commands
------------------------
which is equivalent to the following sequence of calls:
$h = Sys::Guestfs->new ();
- $h->set_autosync (1);
$h->add_drive_ro ($filename);
$h->launch ();
$h->mount_ro (\"/dev/sda1\", \"/\");
Note that pty requires cooperation inside the C code too (there are
two sides to a pty, and one has to be handled after the fork).
+[I tried to implement this in the new C virt-rescue, but it doesn't
+work. qemu is implementing its own ptys, and they are broken. Need
+to fix qemu.]
+
Windows-based daemon/appliance
------------------------------
One would have to download those to the host and launch another
libguestfs instance.
-List, mount filesystems by UUID and label
------------------------------------------
-
-[See related:
-http://www.redhat.com/archives/libguestfs/2009-August/msg00031.html]
-
-List filesystems by UUID or label.
-
-Mount filesystems by UUID or label. (I'm not really sure if we can do
-this at the moment but we ought to be able to do it, and perhaps make
-it easier by having a direct command).
+[Not sure this is such a good idea. See also live CD inspection idea below.]
Map filesystems to disk blocks
------------------------------
Is it even possible?
+See also contribs/visualize-alignment/
+
Integration with host intrusion systems
---------------------------------------
http://sourceforge.net/projects/aide/
http://osiris.shmoo.com/
http://sourceforge.net/projects/tripwire/
+
+Fix 'file'
+----------
+
+https://www.redhat.com/archives/libguestfs/2010-June/msg00053.html
+https://www.redhat.com/archives/libguestfs/2010-June/msg00079.html
+
+Freeze/thaw filesystems
+-----------------------
+
+Access to these ioctls:
+http://git.kernel.org/linus/fcccf502540e3d7
+
+Tips for new users in guestfish
+-------------------------------
+
+$ guestfish
+Tip: You need to 'add disk.img' or 'alloc disk.img nn' to make a new image.
+Type 'notips' to disable tips permanently.
+><fs> add mydisk
+Tip: You need to type 'run' before you can see into the disk image.
+><fs> run
+Tip: Use 'list-filesystems' to see what filesystems are available.
+><fs> list-filesystems
+/dev/vda1
+Tip: Use 'mount fs /' to mount a filesystem.
+><fs> mount /dev/vda1 /
+Tip: Use 'll /' to view the filesystem or ...
+><fs> ll /
+
+Could we make guestfish interactive if commands are used without params?
+------------------------------------------------------------------------
+
+><fs> sparse
+[[Prints man page]]
+Image name? disk.img
+Size of image? 10M
+
+Common problems
+---------------
+
+How can we solve these common user problems?
+
+[space for common problems here]
+
+Better support for encrypted devices
+------------------------------------
+
+Currently LUKS support only works if the device contains volume
+groups. If it contains, eg., partitions, you cannot access them.
+We would like to add:
+
+ - Direct access to the /dev/mapper device (eg. if it contains
+ anything apart from VGs).
+
+Display image as PS
+-------------------
+
+Display the structure of an image file as a PS.
+
+Greater use of blkid / libblkid
+-------------------------------
+
+guestfs_zero should use wipefs. See wipefs(8).
+
+There are various useful functions in libblkid for listing partitions,
+devices etc which we are essentially duplicating in the daemon. It
+would make more sense to just use libblkid for this.
+
+There are some places where we call out to the 'blkid' program. This
+might be replaced by direct use of the library (if this is easier).
+
+Visualization
+-------------
+
+Eric Sandeen pointed out the blktrace tool which is a better way of
+capturing traces than using patched qemu (see
+contrib/visualize-alignment). We would still use the same
+visualization tools in conjunction with blktrace traces.
+
+guestfish parsing
+-----------------
+
+At the moment guestfish uses an ad hoc parser which has many
+shortcomings. We should change to using a lex/yacc-based scanner and
+parser (there are better parsers out there, but yacc is sufficient and
+very widely available).
+
+The scanner must deal with the case of parsing a whole command string,
+eg. for a command that the user types in:
+
+ ><fs> add-drive-opts "/tmp/foo" readonly:true
+
+and also with parsing single words from the command line:
+
+ guestfish add-drive-opts /tmp/foo readonly:true
+
+Note the quotes are for scanning and don't indicate types.
+
+We should also allow variables and expressions as part of this new
+parsing code, eg:
+
+ set roots inspect-os
+ set product inspect-get-product-name %{roots[0]}
+
+% is better than $ because of shell escaping and confusion with shell
+variables.
+
+live CD inspection
+------------------
+
+guestfish -i livecd.iso
+
+Could this be done through the core API and existing calls?