On Tue, Sep 11, 2012 at 04:45:18PM +0100, Richard W.M. Jones wrote: > On emulated PC-like architectures ... > > virt-install downloads the kernel and initrd. It knows where to > download them relative to the URL you give it via a set of hard-coded > rules. libvirt invokes KVM with the -kernel and -initrd options. > > KVM then presents these files through a simple virtual hardware > interface called fwcfg (firmware config). (fwcfg isn't really > documented, but someone did "reverse engineer" it from the sources the > other day -- unfortunately I cannot find that link right now). > > The BIOS (SeaBIOS) knows how to query the fwcfg interface and load the > files and the kernel command line at a predefined memory location. It > jumps to the kernel which finds the location of initrd (and the > command line?) via the multiboot spec. > > It all works in different ways on other architectures. Thanks Richard for this thorough explanation. Marwan