Building a hypervisor, 2: Booting Linux
In this post, we'll make our hypervisor boot the Linux kernel into a basic userspace consisting of a dummy `init`, covering topics like long mode, paging, the Linux boot protocol, and various KVM APIs
Building a hypervisor, 2: Booting Linux In this post, we'll make our hypervisor boot the Linux kernel into a basic userspace consisting of a dummy init , covering topics like long mode, paging, the Linux boot protocol, and various KVM APIs This post will touch on a lot of topics briefly, but won't go super in-depth into all of them, mainly focusing on the blockers I faced personally as a novice systems programmer Linux Boot Protocol The Linux Boot Protocol describes setting up the environment for booting the kernel, involving loading the kernel image, passing kernel command line arguments & ot
Explore this link on the map →related reading
- What happens when you turn on computer? | Sanketh's Blogsankethbk.github.io
- How we got microVMs booting in under a seconddepot.dev
- The "Basics" | Putting the "You" in CPUcpu.land
- Virtual memory layout | Pintos Documentationcs162.org
- User Mode Linux HOWTO - The Linux Kernel documentationkernel.org
- The little book about OS developmentlittleosbook.github.io
- The Linux Kernel Module Programming Guidesysprog21.github.io
- Syscall implementation | CS 162 HW 4cs162.org
- Pages | CS 162 HW 4cs162.org
- Writing an OS in Rustos.phil-opp.com
- Assessing Claude Mythos Preview’s cybersecurity capabilities \ Anthropicred.anthropic.com
- Write your Own Virtual Machinejmeiners.com