bonzini/qboot
bonzini/qboot has 718 GitHub stars and 123 forks. GitHot measured 0 stars in 24 hours. Last checked 2026-11-15 18:38 UTC. Last push 2022-09-20.
Measured star growth
- in 24h
- 0
- in 7 days
- Collecting history
- in 15 days
- Collecting history
- in 1 month
- Collecting history
Net star changes over overlapping periods, not daily totals. Missing measurements are left blank. Stars measure attention, not software quality.
About
Minimal x86 firmware for booting Linux kernels
Developer ToolsREADME.md
OriginalA 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-softmmuin 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