PHIPS BLOG

  •  Home
  •  Get To Know Me

Programming & DevOps

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

Programming & DevOps

Nix Overlays: Add attribute to “lib” and avoid “infinite recursion error”

The other day, I was about to add an attribute to pkgs.lib using a nixpkgs overlay. There is a small and subtle pitfall when doing so, which made me create this short blog post. A basic overlay looks like this: By looking at the architecture diagram, we see that both Read more…

By Philipp Schuster, 2 years2023-04-12 ago
Terminal Screenshot: Running a Linux VM with the debugcon driver in QEMU.
Programming & DevOps

Writing a Linux Driver for QEMU’s Debugcon Device

Update: Since Cloud Hypervisor release v38, you can also run a Linux with this driver in Cloud Hypervisor and see the output. In earlier blog posts, I discussed QEMU’s debugcon device and presented a minimal driver for it written in x86 assembly. In this blog post, we go a little Read more…

By Philipp Schuster, 2 years2023-03-08 ago
Programming & DevOps

Building an Out-of-Tree Linux Kernel Module in Nix

Update 2024-04-10: Updated with my latest knowledge about this topic. In this blog post, I’m going to show you briefly how you can compile an out-of-tree Linux kernel module in Nix. I use regular Nix for that and no Nix flakes. However, with flakes, the approach is similar. Background Knowledge Read more…

By Philipp Schuster, 2 years2023-03-08 ago
Programming & DevOps

Nix: Testing a Single NixOS Module in CI

In this blog post, I explain how to test a single NixOS module in CI. By single NixOS module, I mean a module that provides some options and configurations, but itself is not a valid NixOS configuration. The use case is to have a common module (in a git repository) Read more…

By Philipp Schuster, 2 years2023-02-02 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

How Does the “File Size is Smaller Than Mem Size” Optimization Work in GNU ld for the .bss Section?

This article explains how the GNU linker (GNU ld) can save disk space for symbols in the .bss section. TL;DR: If a section is of type SHT_NOBITS and if it is the last section in a LOAD segment, GNU ld uses this optimization. When you build software with a compiled Read more…

By Philipp Schuster, 2 years2022-12-07 ago

Posts pagination

Previous 1 … 4 5 6 … 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