Documentation

Edit this page -- Back to previous index

Information about osboot releases can be found at release.html.

General information

I need help! Where can I get support?

Our support chat room is #osboot on Freenode IRC: click here for webchat.

If you wish to use a local client, Freenode has information here: https://freenode.net/kb/answer/chat

I’ve found a bug. Where can I report it?

osboot is currently hosted on notabug.org, which uses Gogs. We use their bug tracker. Go here: https://notabug.org/osboot/osbmk/issues

Frequently asked questions, and news

Answers to Frequently Asked Questions about osboot.

Also see: News about osboot

Installing osboot

Where can I download osboot?

See: Download page

What systems are compatible with osboot?

See: List of compatible systems, and information about hardware

How do I install osboot?

Refer to the main section for osboot flashing

Suppliers selling osboot pre-installed, or offering send-in installation service

See: Suppliers page

Installing and booting operating systems via GNU GRUB payload

Yes, GRUB. When you use a ROM image with GNU GRUB in it, it’s part of the boot flash and whatever bootloader you have on your HDD/SSD is ignored. The default configuration (grub.cfg) has heavy amounts of logic in it to:

In short, GRUB provides many security benefits and it is quite a lot more flexible than most other bootloader setups, especially when used as a payload in osboot.

The included GRUB payload has, in its menus, the option to select SeaBIOS or Tianocore, if you wish to run BIOS or UEFI based software. GRUB, as a payload, can load and execute any other coreboot payload! coreboot (part of osboot) only provides basic hardware initialization, and then jumps to a payload. On x86 systems, where feasible, we always recommend GNU GRUB by default, unless you need something else.

Linuxboot (busybox+linux system in boot flash)

Although not yet present in osboot, it is on the osboot agenda to include linuxboot as an option in the future. Linuxboot is a special busybox+linux distribution (busybox, instead of GNU) designed to be put in boot flash as a coreboot payload. It provides many advanced features:

More information here: https://www.linuxboot.org/

Remarks about *BSD, Tianocore (UEFI payload) and SeaBIOS (BIOS payload)

BSD users might be better off using SeaBIOS instead of GRUB. Refer to https://seabios.org/SeaBIOS for user documentation, and refer to your BSD project’s installation guides for normal BIOS systems. Most GNU+Linux distros work well with it too. We only really document GRUB on osboot.org, because that one really needs documenting.

Most BSD systems can be booted via GNU GRUB payload (see above links). In particular, osboot includes the GRUB module for Geli which is for encrypted partitions in FreeBSD; as of 19 March 2021, Geli support is untested in osboot-GRUB, but it should work just fine using the normal methods via SeaBIOS where SeaBIOS is starting the FreeBSD bootloader.

There is also Tianocore, available on some targets that osboot supports. It provides UEFI and can boot the latest versions of Windows, and some GNU+Linux distros that are configured for UEFI. Tianocore is not the most reliable piece of software and osboot might replace it with something else in the future (e.g. uroot+linuxboot or uboot) for UEFI support.

FreeDOS will work on SeaBIOS, if you boot in legacy VGA text mode (do not use corebootfb). NOTE: only text mode will work, VGA modes will not work, unless you use a VGA option ROM from the video chipset manufacturer (e.g. Intel), which osboot currently does not provide for (libgfxinit is used, on all currently supported hardware, with SeaVGABIOS used from SeaBIOS which does not support int10h or mode switching but can be used corebootfb to bring up most text mode bootloaders and such, e.g. ISOLINUX/SYSLINUX bootloaders that some GNU+Linux distros use, or the OpenBSD bootloader).

Information for developers

Compile osboot from source code, using the automated build system (osbmk)

Osboot’s main build system, osbmk (OSBoot-MaKe), provides automated download, patching, configuring and building of all the required software parts such as coreboot, GRUB, SeaBIOS, Tianocore, for all of the targets supported. You do not have to build all of osboot if you don’t want to. It’s possible to use the build system in such a way where you only build the necessary parts to create a working ROM image that you can flash (install) onto your exact machine. It is highly configurable, should you choose to modify it.

The build system is written almost exclusively in GNU BASH, and you can use it by just running the main (“core”) BASH scripts. However, an optional Makefile is also included. If you have the build dependencies installed, you can literally just type make after downloading osboot, and it will build everything automatically!

See: How to build osboot from source

How osbmk works, how to modify it, improve it, extend it, configure it

osbmk (OSBoot-MaKe) is osboot’s main build system. In essence, it is osboot. osboot provides an automated build system that downloads, patches, configures and builds all of the require software components. It is completely centralized and provides much functions. The following article documents it fully:

Click here to read the osboot maintenance manual

osbmk is under constant development. At present (19 March 2021) it is still very similar in function to the Libreboot 20160907 build system, upon which osbmk was originally based, and then heavily modified. As such, it is still very much geared towards binary package releases.

It is the intention of osboot project to dramatically extend osbmk, to the point where it implements a source-based coreboot distribution; yes, think of a coreboot ROM like a Gentoo package, and osbmk like emerge; this is the goal of the osboot project!

Information about GRUB keymaps (keyboard layouts)

GRUB payload

I’ve made changes to osboot; how/where do I send patches?

This article explains how to send code/documentation patches

Other information (TODO: clean it up)

Edit this pageLicenseTemplateAuthorsDonateBuy preinstalled

Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License Version 1.3 or any later version published by the Free Software Foundation with no Invariant Sections, no Front Cover Texts, and no Back Cover Texts. A copy of this license is found in /docs/fdl-1.3.html