Version: Release 0.1.0
CHB (Computers Help Bootloader) is a two-stage bootloader targeting the x86 architecture, primarily intended for kernel bootstrapping and low-level debugging. The current implementation is minimalistic and features a FAT file system parser, addressing a limitation of the previous versions that lacked support for loading kernels into dynamic sectors
Testing has been limited to x86 virtualized environments such as QEMU or Bochs, though it is expected to function correctly on any compliant x86 hypervisor or emulator.
Copyright (C) Andres26 2021-2025
ALL code may be used or redistributed under the terms of the MIT License.
See COPYING for more information.
From now on, Sphinx will be used to build the CHB project documentation. Much of it has been rewritten, and new sections have been added. All documentation is now located in the 'docs/' directory.
Sphinx supports a wide range of formats for rendering documentation. CHB currently supports the following formats:
- html -- Generate HTML pages
- latex -- Generate '.tex' file
- pdflatex -- Convert '.tex' to pdf
- htmlhelp -- Generate windows CHM format
- text -- Generate text file
To build all the documentation, it is necessary to run:
./build.sh --docs=<supported-documentation-format>For example:
Generate HTML documentation:
./build.sh --docs=htmlFor more information, please see:
docs/building.rst and `./build --help`
Please note that there are 2 possible files that build CHB from source. Using 'makefile.mk' or 'build.sh' script. Building CHB directly with the makefile is not recommended because the build script defines a series of variables necessary to build CHB with cross-compilation.
For build CHB correctly, use:
./build.sh --help- Introduction <docs/index.rst>
- Philosophy <docs/overview/philosophy.rst>
- Features <docs/overview/technical-aspects.rst>
- Building Guide <docs/getting-started/building.rst>
- CHB output files <docs/getting-started/build-images.rst>
- Installing Guide <docs/getting-started/installing.rst>
- Debugging <docs/getting-started/debugging.rst>
- Error handling <docs/getting-started/error-handling.rst>
- Contributing to CHB project <docs/getting-started/contributing.rst>
- Boot process <docs/details/boot-process.rst>
- Kernel <docs/details/kernel.rst>
- Memory Map <docs/details/memory-map.rst>
- Have Fun! <docs/dev-notes/have-fun.rst>
- Contact <docs/dev-notes/contact.rst>
- Utilities and Tools <docs/utils/index.rst>
- install <docs/utils/install.rst>
- mkfloppy <docs/utils/mkfloppy.rst>
- Kernel example <docs/appendix/minimal-kernel-example.rst>
- CLIB Implemented functions <docs/appendix/clib.rst>
- LICENSE <docs/appendix/license.rst>
- Supported floppy sizes <docs/appendix/supported-floppy-formats.rst>
NOTE: The 'hi' at the top is part of the example kernel, which symbolizes that the kernel was loaded correctly.
That's it! Once CHB is installed on the formatted image, you can start experimenting with your kernels. For now, CHB is a small bootloader, but there are plans to add new features in the future.
At the moment, CHB doesn't support keyboard input that allows for further extensions to its functionality.
Any questions, doubts or clarifications, with subject 'CHB CONTACT' mail to:
For bug tracking, please write to: