Implement 'strings' and 'hexdump' commands.
[libguestfs.git] / README
diff --git a/README b/README
index 05bb350..9efcb9b 100644 (file)
--- a/README
+++ b/README
@@ -13,13 +13,11 @@ schemes, qcow, qcow2, vmdk.
 
 Libguestfs provides ways to enumerate guest storage (eg. partitions,
 LVs, what filesystem is in each LV, etc.).  It can also run commands
-in the context of the guest.  Also you can mount guest filesystems on
-the host (requires root privs and NFS).
+in the context of the guest.  Also you can access filesystems over FTP.
 
 Libguestfs is a library that can be linked with C and C++ management
-programs (or management programs written in other languages, if people
-contribute the language bindings).  You can also use it from shell
-scripts or the command line.
+programs (or management programs written in OCaml, Perl, Python, Ruby or Java).
+You can also use it from shell scripts or the command line.
 
 Libguestfs was written by Richard W.M. Jones (rjones@redhat.com).
 For discussion please use the fedora-virt mailing list:
@@ -30,14 +28,34 @@ For discussion please use the fedora-virt mailing list:
 Requirements
 ----------------------------------------------------------------------
 
-- recent QEMU with vmchannel support
+- recent QEMU >= 0.10 with vmchannel support
+  http://lists.gnu.org/archive/html/qemu-devel/2009-02/msg01042.html
 
-- febootstrap >= 1.2
+- febootstrap >= 1.5
 
 - XDR, rpcgen
 
+- (Optional) Augeas (http://augeas.net/)
+
+- perldoc (pod2man, pod2text) to generate the manual pages and
+other documentation.
+
+- (Optional) Readline to have nicer command-line editing in guestfish.
+
+- (Optional) OCaml if you want to rebuild the generated files, and
+also to build the OCaml bindings
+
 - (Optional) local Fedora mirror
 
+- (Optional) Perl if you want to build the perl bindings
+
+- (Optional) Python if you want to build the python bindings
+
+- (Optional) Ruby, rake if you want to build the ruby bindings
+
+- (Optional) Java, JNI, jpackage-utils if you want to build the java
+bindings
+
 Running ./configure will check you have all the requirements installed
 on your machine.
 
@@ -64,12 +82,32 @@ these commands as root:
   make install
 
 
+Note on using KVM
+----------------------------------------------------------------------
+
+If you are using x86-64, then by default the configure script will
+look for qemu-kvm (KVM support).  You will need a reasonably recent
+processor for this to work.  KVM is much faster than using plain QEMU.
+
+You may also need to enable KVM support for non-root users, by following
+these instructions:
+
+  http://www.linux-kvm.org/page/FAQ#How_can_I_use_kvm_with_a_non-privileged_user.3F
+
+On some systems, this will work too:
+
+  chmod o+rw /dev/kvm
+
+On some systems, the chmod will not survive a reboot, and you will
+need to make edits to the udev configuration.
+
+
 Notes on cross-architecture support
 ----------------------------------------------------------------------
 
 At the moment we basically don't support cross-architecture or
 32-on-64.  This limits what is possible for some guests.  Filesystem
-operations and NFS export will work fine, but running commands in
+operations and FTP export will work fine, but running commands in
 guests may not be possible.
 
 To enable this requires work for cross-architecture and 32-on-64
@@ -93,6 +131,13 @@ choose a Fedora mirror which is close to you, set this with
 './configure --with-mirror=[...]', and then proxy the whole lot
 through squid by setting http_proxy environment variable).
 
+You will also need to substantially increase the squid configuration
+limits:
+http://fedoraproject.org/wiki/Using_Mock_to_test_package_builds#Using_Squid_to_Speed_Up_Mock_package_downloads
+
+IntelligentMirror is another possibility, although I couldn't get it
+to work for me.
+
 
 Copyright and license information
 ----------------------------------------------------------------------