X-Git-Url: http://git.annexia.org/?a=blobdiff_plain;f=TODO;h=77c872b04dfbd4b2646c1907616096a153bc55ff;hb=a2bf709b3c68cd95554412c041a455354033fa2b;hp=f781fb88a648a68b78cd4a529266e6e3ce9ad647;hpb=dfbdae5dd27b84222825b6826065a3362ab71025;p=libguestfs.git diff --git a/TODO b/TODO index f781fb8..77c872b 100644 --- a/TODO +++ b/TODO @@ -364,13 +364,66 @@ parsing code, eg: % is better than $ because of shell escaping and confusion with shell variables. +Can we combine this with ability to set and read environment +variables? Currently guestfish uses many environment variables like +$EDITOR without any corresponding ability to set them. + + set EDITOR /usr/bin/emacs + echo $EDITOR # or %{EDITOR} + edit /etc/resolv.conf + live CD inspection ------------------ -guestfish -i livecd.iso + virt-inspector livecd.iso Could this be done through the core API and existing calls? +There is a soft requirement for this in virt-manager, where it would +be nice to be able to prepopulate the operating system hints based on +what sort of ISO the user is trying to install from. + +Several sorts of CDs: + + - live CD + - install-only CD + - network install CD + - supplemental CDs with additional packages but not bootable + on its own + +Some CDs are formatted as ISO9660 and larger ones as UDF (DVD format), +but they all are unpartitioned. + +Bootable Linux CDs have an /isolinux directory. + +Bootable EFI CDs have an /EFI/BOOT directory. + +Fedora live CDs have /images/install.img which is a squashfs +containing an ext4 root. We could consider mounting this and +inspecting it separately, but it would be simple to get everything we +need from other files in the CD directory. + +More recent Fedora install DVD has /.discinfo and /.treeinfo with some +easy to parse information in it. + +Debian and Ubuntu CDs have a /.disk/info file which is the product +string. There are other interesting files in /.disk. They also have +a characteristic directory structure (eg. /dists, /pool/main) which +looks like a Debian archive. + +Windows 2003 install CDs have some characteristic stamp files in the +root directory, like: /win51 /win51ia /win51ia.sp2. The main +installation files (CAB files) are in /i386 directory. The following +files contain a lot of interesting information: + + /i386/hivesft.inf + /i386/layout.inf + /i386/sis.inf + /i386/txtsetup.sif + +Windows 7 install CDs are quite different and pretty impenetrable. +There are no obvious files to parse. + More ntfs tools --------------- @@ -401,3 +454,18 @@ More mkfs_opts options Useful options to offer: - Set label. - Set UUID. + +Use /proc/self/mountinfo +------------------------ + +This file contains lots of interesting information about +what is mounted and where. eg: + + 16 21 0:3 / /proc rw,relatime - proc /proc rw + 17 21 0:16 / /sys rw,relatime - sysfs /sys rw,seclabel + 18 23 0:5 / /dev rw,relatime - devtmpfs udev rw,seclabel,size=1906740k,nr_inodes=476685,mode=755 + 26 21 253:3 / /home rw,relatime - ext4 /dev/mapper/vg-lv_home rw,seclabel,barrier=1,data=ordered + +This could be used instead of current hairy code to parse the output +of the 'mount' command. We could add new APIs to return kernel mount +options, type of filesystem at a mountpoint etc.