diff options
Diffstat (limited to 'roms/qboot/README')
-rw-r--r-- | roms/qboot/README | 47 |
1 files changed, 47 insertions, 0 deletions
diff --git a/roms/qboot/README b/roms/qboot/README new file mode 100644 index 000000000..c91335709 --- /dev/null +++ b/roms/qboot/README @@ -0,0 +1,47 @@ +A simple x86 firmware that can boot Linux. + +Most of QEMU's startup time is spent: + +* in the dynamic linker. This can be reduced by 150 ms simply by + compiling a stripped down QEMU: + + ./configure --disable-libssh2 --disable-tcmalloc --disable-glusterfs \ + --disable-seccomp --disable-{bzip2,snappy,lzo} --disable-usb-redir \ + --disable-libusb --disable-smartcard-nss --disable-libnfs \ + --disable-libiscsi --disable-rbd --disable-spice --disable-attr \ + --disable-cap-ng --disable-linux-aio --disable-brlapi \ + --disable-vnc-{jpeg,tls,sasl,png,ws} --disable-rdma --disable-bluez \ + --disable-fdt --disable-curl --disable-curses --disable-sdl \ + --disable-gtk --disable-tpm --disable-vte --disable-vnc \ + --disable-xen --disable-opengl --target-list=x86_64-softmmu + +* in the BIOS. qboot saves another 150 ms. + +* until QEMU 2.7+, in fw_cfg. qboot uses the DMA interface which is pretty + much instantaneous. + +Compile qboot +============= + +Clone the source: + + $ git clone https://github.com/bonzini/qboot.git + +Compile the qboot firmware (you may need to install the relevant build +time dependancies): + + $ meson build && ninja -C build + +The result will be a 64K file named bios.bin under the build/ directory. + +Usage +===== + + $ qemu-kvm -bios bios.bin \ + -kernel /boot/vmlinuz-4.0.3-300.fc22.x86_64 \ + -serial mon:stdio -append 'console=ttyS0,115200,8n1' + +TODO +==== + +* Add the possibility to configure out PIC and PCI bridge initialization |