Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- -1. Get used to reading docs (RTFM!!)
- 0\. If you're not already, get familiar with using Linux
- 1. Learn C
- -# \- <https://c-language.org> there's resources here. You can find The C Programming Language (2nd Edition) on archive.org
- 2. Learn C tooling like make, and how the different parts of a toolchain interact with eachother. You're just gonna have to write programs and optionally become familiar with build systems like autoconf (the thing that gives you `./configure && make && make install` on gnu software)
- -# \- <https://www.gnu.org/software/make/manual/html_node/index.html>
- -# \- <https://moi.vonos.net/linux/beginners-installing-from-source/>
- 3. Learn a bit of assembly. Write some simple programs using GNU as and NASM (<https://nasm.us>) on Linux. You really just need to get a *little* familiar with it, the rest you can learn along the way.
- 4. Study osdev theory and existing operating systems (note: OSTEP is required reading, others are optional but at some point recommended)
- -# \- <https://web.archive.org/web/20260301025154/https://pages.cs.wisc.edu/~remzi/OSTEP/> READ THIS
- -# \- <https://www.studytonight.com/operating-system/round-robin-scheduling>
- -# \- <http://www.rohitab.com/discuss/topic/31139-tutorial-paging-memory-mapping-with-a-recursive-page-directory/> Recursive paging
- -# \- <https://www.cs.fsu.edu/~awang/courses/cop5611_s2024/vnode.pdf> Sun VFS - for a Unix-like VFS
- -# \- <https://github.com/openbsd/src/tree/master/sys> sys is the kernel
- -# \- <https://github.com/NetBSD/src/tree/trunk/sys> sys is also the kernel here
- -# \- <https://github.com/sergev/4.4BSD-Lite2/tree/master/usr/src/sys> sys is still the kernel
- -# \- <https://elixir.bootlin.com> Linux source code browser
- 5. Start with the Limine template for x86_64
- -# \- <https://github.com/limine-bootloader/limine-c-template-x86-64>
- 6. Start implementing stuff
- -# \- https://discord.com/channels/440442961147199490/734353024566296666/1147683737077829793
- (if you forward this please DM me @ averymt)
Advertisement