PHIPS BLOG

  •  Home
  •  Get To Know Me

Programming & DevOps

Posts about programming, DevOps, Linux server management, and more.

Symbolic Picture: .bss is part of .data section
Programming & DevOps

GNU ld: Linking .bss into .data to Ensure that Mem Size Equals File Size For Each LOAD Segment (.bss in a PROGBITS Section)

Update: I found another variant. I appended it to the end of the article. Original post: Some rudimentary ELF loaders require that p_memsz equals p_filesz for each LOAD segment in order to simplify the loading of the file. For example, the microkernels NOVA and Hedron have this restriction to bootstrap Read more

By Philipp Schuster, 3 years2022-12-07 ago
Screenshot of the `paging-calculator` CLI utility
Programming & DevOps

CLI Utility to Calculate Indices for Page Tables

I just want to drop a short notice that I created a small CLI utility that I think is helpful. paging-calculator helps you to calculate the indices for a given virtual address that are used for the physical address lookup at different page table levels. Paging is a mechanism that Read more

By Philipp Schuster, 3 years2022-12-01 ago
acpid - Terminal Screenshot
Programming & DevOps

Configure acpid From BusyBox in a Custom initrd

I have a setup with a Linux Kernel and a custom initrd, hence, no full Linux distribution. The initrd is meant to be as minimal as it can be. As a consequence, even basic things such as power-off on power-button pressed must be configured manually. There is no init system Read more

By Philipp Schuster, 3 years2022-11-24 ago
Code Snippet: Part of the QEMU Debugcon Driver written in Assembly
Programming & DevOps

The Probably Simplest x86 Driver Written in Assembly – Printing to QEMU’s debugcon-Device

This is an educational resource I wish I had when I started digging into low-level and operating systems during my early time of my studies at the university. However, dear past me, I got your back! Do you want to see a minimal way to communicate with (virtual) hardware and Read more

By Philipp Schuster, 3 years2022-09-26 ago
Assembly Code Snippet: Use section flags if you need custom section names
Programming & DevOps

GNU ld Discards Section Containing Code – Section Flags are Important for ELF Files

Update: Since I published this article, I gained more knowledge from own research and hints from others. I adjusted the blog post. Thanks for the help! When it comes to low-level systems engineering and producing binaries, such as firmware or kernels, dealing with linkers and especially linker scripts feels like Read more

By Philipp Schuster, 3 years2022-09-02 ago
Programming & DevOps

Create a Bootable Image for a Custom Kernel with GRUB as Bootloader for Legacy x86 Boot (e.g. Multiboot2 Kernel)

In this blog post, I want to show you how you can boot your custom (i.e., self developed, non-linux) kernel with GRUB 2 in a legacy x86 boot flow. The tutorial is focused on Linux as build environment. A working example can be found on my GitHub. Introduction When you Read more

By Philipp Schuster, 3 years2022-07-25 ago

Posts pagination

Previous 1 … 5 6 7 … 11 Next

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