<commit_before># kboot86
kernel bootloader for x86

This project is aimed to implement a working bootloader for the x86 instruction set architecture.

## Boot stages
The following boot stages are targeted:

1. Floppy drive boot sector.
2. Floppy drive: second stage bootloader by means of BIOS interrupt calls.
3. Final bootloader in *protected mode*. Actual HDD driver, no BIOS interrupt calls.
4. Load an ELF32 kernel from a FAT16/FAT32 partition via ATA PIO.
<commit_msg>README.md updated<commit_after># kboot86
Floppy kernel bootloader for x86-PC.

This project is aimed to implement a working bootloader for a PC with the x86 instruction set architecture.

![Bochs screenshot](https://raw.githubusercontent.com/m-rinaldi/kboot86/master/misc/screenshot.png)

## Capabilities
So far, kboot86 loads in 32-bit protected mode an ELF kernel image from a primary FAT16 partition on the master hard drive of the primary ATA bus.

At the moment of loading the kernel, the processor is already in 32-bit protected mode, therefore the loading of the kernel is performed by means of actual ATA HDD drivers and not BIOS insterrupt calls. At this point the MMU has been also set up to support paging.
{'fraction_non_alphanumeric': 0.04785894206549118, 'fraction_numerical': 0.02686817800167926, 'mean_word_length': 4.544186046511628, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 3, 'https://': 1, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '1476861', 'n_tokens_mistral': 351, 'n_tokens_neox': 324, 'n_words': 175}