Baike.dev
All toolsOnline toolsAI codingTrendingOpen sourceNewsSubmit
Log in
< Back to tools
Q

qboot

> 编程语言
Open source

Minimal x86 firmware for booting Linux kernels

719 stars0 likes1 views
WebsiteGitHub

About

Minimal x86 firmware for booting Linux kernels

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

bash
$ 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

Issues· 0 open

View all issuesOpen on GitHub

No open issues yet, or sync has not completed.

> Tags

C

No comments yet. Be the first to share.

> Details

PublishedAug 1, 2026
UpdatedSep 17, 2026
Category编程语言
PricingOpen source

> Related tools

T
TypeScript
JavaScript 的超集,为前端与全栈提供静态类型
P
Python
通用编程语言,广泛用于 Web、数据与 AI
G
Go
Google 推出的简洁高效系统语言