X-Git-Url: http://git.annexia.org/?a=blobdiff_plain;f=README.developers;h=0cadb53538160afc1d2e8bf9c989b25754406222;hb=1340b4067abb42b2f57667123f15d722e1f9957c;hp=d46d5d9cb924850180da1729ed72b09f5e70b6f3;hpb=86bfeb367eb0367046acde183eb6b677ee1d0d1f;p=virt-p2v.git diff --git a/README.developers b/README.developers index d46d5d9..0cadb53 100644 --- a/README.developers +++ b/README.developers @@ -1,9 +1,96 @@ -The files in this directory are: +Support +---------------------------------------------------------------------- -livecd-test.ks.in +Please send all queries, patches, bug reports etc. to the +et-mgmt-tools mailing list: -livecd-post.sh.in + http://www.redhat.com/mailman/listinfo/et-mgmt-tools -p2v.init +Source repository +---------------------------------------------------------------------- -virt-p2v.sh +If you have Mercurial installed, then: + + hg clone http://hg.et.redhat.com/virt/applications/virt-p2v--devel + +Background reading +---------------------------------------------------------------------- + +About Live CDs / livecd-creator tool: + + http://fedoraproject.org/wiki/FedoraLiveCD/LiveCDHowTo + +The files in this directory +---------------------------------------------------------------------- + +p2v.ks.in + + Kickstart file which describes how to build the live CD. This is + essentially the configuration file for livecd-creator. Most + importantly it lists the RPMs which are needed on the live CD. + +virt-p2v + + This is the virt-p2v P2V configuration tool itself. It is + installed on the live CD as /usr/bin/virt-p2v and runs after the + live CD has booted. All the P2V stuff happens from this script. It + uses the 'dialog' program to ask questions. + +inittab + + Replacement /etc/inittab (for init-based systems). + +tty1 + + Replacement /etc/event.d/tty1 (for upstart-based systems). + + +iso-attach + + Attach newer virt-p2v scripts to pre-built ISOs (used by 'make update'). + +extras/ + + Anything under here is copied onto the ISO squashfs. In particular + this contains paravirt drivers for Red Hat Enterprise Linux, + CentOS and friends. + +Tips for OCaml +---------------------------------------------------------------------- + +All the packages you need are in Fedora and Debian. + +If using emacs, make sure you install tuareg-mode (the editing mode +for OCaml). Unfortunately there is no Fedora package for it at the +moment, but it is very easy to install. + +General implementation plan +---------------------------------------------------------------------- + +User boots the live CD. The job of the live CD is to: + +(a) Find local disks. + +(b) Copy the disk image(s) over to the Xen host. + +(c) Change certain files (eg. /etc/fstab may contain references to +disk devices, which need to be changed when running under Xen). + +(d) BUT, the live CD must be totally non-destructive. It cannot +modify the local disks in any way. + +(e) The above steps are not automatic. We need to ask the user some +questions along the way. + +For (a) there are various methods to detect local devices. We sniff +for devices in /sys/block. + +For (b) we can simply use 'dd' and 'ssh'. The general plan is to do +this: + + dd if=/dev/disk | ssh -C xenhost 'cat > /var/lib/xen/images/disk.img' + +For (c) we can use device-mapper snapshots to mount a ramdisk above +the disks themselves. This allows us to make non-destructive changes +to files, and still see the "modified" block device (d). A hairy +script looks for candidate files to modify.