Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/lynk4/bootloader
Write a bootloader from scratch..............
https://github.com/lynk4/bootloader
bios bootloader linux operating-system os programming
Last synced: 6 days ago
JSON representation
Write a bootloader from scratch..............
- Host: GitHub
- URL: https://github.com/lynk4/bootloader
- Owner: Lynk4
- Created: 2024-08-12T09:21:31.000Z (3 months ago)
- Default Branch: main
- Last Pushed: 2024-08-14T18:34:33.000Z (3 months ago)
- Last Synced: 2024-08-14T20:13:17.455Z (3 months ago)
- Topics: bios, bootloader, linux, operating-system, os, programming
- Language: Assembly
- Homepage:
- Size: 22.5 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# bootloader
---
![cover](https://github.com/user-attachments/assets/2c3b11f0-dbf5-4134-9506-14ab066e8297)
---
## **What is a boot loader?......**### **A boot loader loads an operating system from a storage media, creates a basic environment in which the OS may function, and executes the operating system's startup procedure.**
---
### *The boot sector needs to be installed in a well-known, consistent location. It takes up 512 bytes and is located in the disk's first sector (Cylinder 0, Head 0, Sector 0). In byte positions 511 and 512 of the boot sector, respectively, two magic numbers, 0x55 and 0xAA, are used by the BIOS to recognize a boot device as a legitimate bootable one. The BIOS loads the boot sector into memory at a specific address, 0x0000:0x7C00, when it discovers one.*
---
## Setting up the scene
- [nasm](https://en.wikipedia.org/wiki/Netwide_Assembler) - The Netwide Assembler (NASM) is an assembler and disassembler for the Intel x86 architecture. It can be used to write 16-bit, 32-bit (IA-32) and 64-bit (x86-64) programs.
```bash
sudo apt install nasm
```- [QEMU](https://www.qemu.org/docs/master/system/target-i386.html) - An emulator to test our bootloader would eliminate the risk of inadvertently damaging our hardware due to poorly written OS code.
```bash
sudo apt install qemu-system-x86
```
- bless - Just in case you're interested in seeing what's inside our bootloader, you can use hexdump or bless.```
sudo apt install bless
```---
---