Update Home
parent
53c2824df5
commit
a32048a763
22
Home.md
22
Home.md
@ -3,24 +3,31 @@
|
||||
A great way to learn something new is to retrace the steps taken by someone who had taken the same path before. To make this possible for future readers, below are written major ideas, proposed solutions, encountered pitfalls, and implemented fixes that have arisen along the way.
|
||||
|
||||
### Step 0: Set up a unified development environment
|
||||
> **Suggested reading**:
|
||||
> [Operating Systems: From 0 to 1, Chapters 1–6][os01]
|
||||
|
||||
To safeguard against dependency hell, all the essential software needed to develop and run our OS will be provided through a set of Docker images orchestrated using Docker Compose. For those unfamiliar with Docker, a command cheatsheet will be provided later on.
|
||||
Preliminary list of essential software:
|
||||
|
||||
- [ ] QEMU: open-source machine emulator
|
||||
- [ ] gcc, gdb, make, ...
|
||||
- [ ]
|
||||
- [ ] gcc:
|
||||
- [ ] gdb:
|
||||
- [ ] make:
|
||||
- [ ] objdump:
|
||||
- [ ] ...
|
||||
|
||||
### Step 1: Make a bootloader that simply halts the CPU
|
||||
...
|
||||
### Step 2: Modify the bootloader so that it prints 'dmzOS'
|
||||
### Step 1: Make a bootloader that prints 'dmzOS'
|
||||
> **Suggested reading**:
|
||||
> [Operating Systems: From 0 to 1, Chapter 7: *Bootloader*][os01]
|
||||
|
||||
### Step 2:
|
||||
...
|
||||
|
||||
## Useful links
|
||||
### Wiki
|
||||
* [OSDev Wiki](https://wiki.osdev.org/Expanded_Main_Page): a good way to get acquainted with multiple topics at a high level, though a bit outdated.
|
||||
### Books
|
||||
* [Operating Systems: From 0 to 1](https://github.com/tuhdo/os01): pretty in-depth and with hands-on instructions on how to use many of the tools needed.
|
||||
* [Operating Systems: From 0 to 1][os01]: pretty in-depth and with hands-on instructions on how to use many of the tools needed.
|
||||
* [OpenCSF](https://w3.cs.jmu.edu/kirkpams/OpenCSF/Books/csf/html/index.html): an all-encompassing CS guide with a focus on many important OS-related topics.
|
||||
### Blogs
|
||||
* [CPU Land](https://cpu.land/): an avid learner's perspective on the CS fundamentals.
|
||||
@ -28,3 +35,6 @@ Preliminary list of essential software:
|
||||
* [SerenityOS](https://github.com/SerenityOS/serenity): pay special attention to YouTube channels of major contributors.
|
||||
### YouTube
|
||||
* [Building an OS by nanobyte](https://www.youtube.com/watch?v=9t-SPC7Tczc&list=PLFjM7v6KGMpiH2G-kT781ByCNC_0pKpPN&t=1s&ab_channel=nanobyte): live-coding with a digest of the most important concepts behind-the-hood.
|
||||
|
||||
[//]: # (Second part of referene-style links)
|
||||
[os01]: https://github.com/tuhdo/os01
|
||||
|
Loading…
Reference in New Issue
Block a user