SkillAgentSearch skills...

Mya

a fun project to create OS from scratch

Install / Use

/learn @flydeoo/Mya
About this skill

Quality Score

0/100

Supported Platforms

Universal

README

what is mya

<p align="center"> <img src="https://repository-images.githubusercontent.com/717717871/cb51134d-cf2a-4552-b633-7acae2573303" alt="mya" style="width: 700px;"> </p>

mya is a fun project to create a tiny OS from scratch using x86 assembly and C programming language. <br><br><br>

how to use

You can either read each episode from the doc section or Medium.

For each episode that includes code, there is a corresponding release with the same name as the episode. <br><br><br>

docs

<br> <br> <br> <br>
  • episode 2: write our very first tiny bootloader <br><br>Static Badge <br><dl><dd><dl><dd><dl><dd>[ flat binary, assembler base address, org directive, far jump ]</dd></dl></dd></dl></dd></dl><hr> Static Badge <br><dl><dd><dl><dd><dl><dd>[ writing a simple bootloader, using bios interrupt 0x10, qemu kickstart ]</dd></dl></dd></dl></dd></dl> <br>
<br> <br>
  • episode 3: Tracing Stack and Function Calls with GDB <br><br>Static Badge <br><dl><dd><dl><dd><dl><dd>[ stack registers: SS, SP, BP ]</dd></dl></dd></dl></dd></dl><hr> Static Badge <br><dl><dd><dl><dd><dl><dd>[ start using GDB, define stack, add some functionality to bootloader, start using makefile, trace stack ]</dd></dl></dd></dl></dd></dl> <br>
<br> <br>
  • episode 4: CPU interaction with memory and IO <br><br>Static Badge <br><dl><dd><dl><dd><dl><dd>[ cpu interaction with RAM and ROM via address and control bus, CPU address space, binary black magic, Memory mapped I/O, Isolated mapped I/O ]</dd></dl></dd></dl></dd></dl> <br>
<br> <br>
  • episode 5: switch to protected mode <br><br>Static Badge <br><dl><dd><dl><dd><dl><dd>[ Global Descriptor Table (GDT), CHS addressing, absolute vs relative addressing, protectd mode ]</dd></dl></dd></dl></dd></dl><hr> Static Badge <br><dl><dd><dl><dd><dl><dd>[ writing second stage bootloader, implementing GDT, switch to protected mode, using bios interrupt 0x13 and CHS ]</dd></dl></dd></dl></dd></dl> <br>
<br> <br>
  • episode 6: migrate preparation <br><br>Static Badge <br><dl><dd><dl><dd><dl><dd>[ why migrate to c ]</dd></dl></dd></dl></dd></dl><hr> Static Badge <br><dl><dd><dl><dd><dl><dd>[ build toolchain (GCC, linker, assembler) ]</dd></dl></dd></dl></dd></dl> <br>
<br> <br>
  • episode 7: migrate to C <br><br>Static Badge <br><dl><dd><dl><dd><dl><dd>[ linker script, compiler and linker options: -nostdlib -lgcc -ffreestanding , C compilation environment: Freestanding and Hosted, C call conventions ]</dd></dl></dd></dl></dd></dl><hr> Static Badge <br><dl><dd><dl><dd><dl><dd>[ writing linker script, migrate from assembly to C, start writing kernel with C ]</dd></dl></dd></dl></dd></dl>
<br> <br> <br>

Upcoming episodes

More episodes will be determined soon.

other media

You can also access these episodes on Medium via this link: flydeoo

View on GitHub
GitHub Stars12
CategoryDevelopment
Updated1y ago
Forks0

Languages

Assembly

Security Score

65/100

Audited on Mar 13, 2025

No findings