PHIPS BLOG

  •  Home
  •  Get To Know Me

Boot

Programming & DevOps

x86 Kernel Development & Relocatable Binaries – What I learned about Toolchains and Relocatable Code

This post is roughly a summary of the obscure knowledge I learned about toolchains and relocatable code in the last couple of years by studying the code of the microkernels NOVA and Hedron, my professional hands-on experience with kernel development, and several learning projects. I present some of the “hard Read more…

By Philipp Schuster, 1 year2024-01-29 ago
Programming & DevOps

Kernel/Boot: Cope with a Relocation by a Bootloader in 32-bit x86 Assembly Code

A kernel should be relocatable by bootloaders as this is the only guarantee that it doesn’t interfere with addresses already in use by the firmware. This is especially true for the legacy boot flow on x86, i.e., without UEFI. Update 2024-01-29: I just published a new blog post focusing more Read more…

By Philipp Schuster, 2 years2022-12-07 ago
Programming & DevOps

Minimal GRUB Configuration To Boot A Multiboot2 Kernel With Boot Modules

TLDR: for Multiboot2 you use module2 and for Multiboot1 module in GRUB config files. One of my projects of the last months was to build a prototype setup for kernels written in Rust. The kernel is Multiboot2-compliant and boots on x86_64 with UEFI as firmware. To test everything, I create Read more…

By Philipp Schuster, 4 years2021-08-11 ago
Programming & DevOps

Adding and Using Files To/From the GRUB Memdisk (GRUB Standalone)

TLDR: GRUB can reference internal files via the volume specifier (memdisk), similar to external drives (hd0). GRUB has an undocumented but really convenient feature to include files/images (e.g., bootable kernels) directly into the GRUB installation itself. If you use $ grub-mkstandalone to store GRUB on a USB stick or a Read more…

By Philipp Schuster, 4 years2021-08-11 ago

Because this blog is a few years old and used to be a more or less personal german blog, old posts are in german. Newer posts are in english.

  • Impressum
  • Datenschutzerklärung
Hestia | Developed by ThemeIsle