Blog

  • How (not) to netboot

    Last month, I had a disk image that I wanted to boot on another device.

    So, how does that work?

  • BGGP23

    While I think that golf should be abolished, I think binary golf is pretty neat. So I participated in this year’s Binary Golf Grand Prix. And I didn’t win.

    But at least you’ll learn how to write a small UEFI application in Rust.

  • towboot part 7

    About two-and-a-half years ago, I released the first version of my bootloader, towboot (see the first post for how and why that happened). It supports UEFI-based x86 systems and Multiboot-comptible kernels.

    But there isn’t just a version 1 of Multiboot, there is also a version 2. It’s not that much newer or that much better and there are still various operating systems using Multiboot 1, but still, I thought that it would be nice to add support for the newer version (and get ECTS[^0] for that).

    So, let’s see how it went.

  • towboot part 6

    You might remember that I wrote a bootloader (see the first post for, why). And you may also remember that

    I didn’t perform a test on bare metal

    Well, now I did. And it didn’t go too well.

  • towboot part 5

    I wrote a bootloader (see the first post for, why). Let’s see what has happenend and what is yet to come.

    Conclusion

    Summary

    UEFI-compatible firmwares thankfully provide abstractions that make writing bootloaders very straight-forward and high-level in comparison to the legacy BIOS API. uefi-rs maps them nicely to Rust data structures and methods. The Rust support for this environment is rather good, although some not-so-frequently-used features are not (yet) supported (see a previous post for more details).

  • towboot part 4

    I’m writing a bootloader (see the first post for, why) and now we’ll see how we can check that it actually works.

    Evaluation

    There are multiple ways to verify that a software works the way it should.

  • towboot part 3

    I’m writing a bootloader (see the first post for, why) and now you’ll learn how it actually works.

    how (implementation and usage)

  • towboot part 2

    In the last post, I explained my motivation for why I was writing a bootloader in 2020. For the following parts, you’ll need to learn some stuff first:

    learning the basics (background)

    A bootloader is basically just glue between the firmware and the kernel. The UEFI API is quite high-level and platform-agnostic, but the Multiboot standard requires dealing with some x86 specifics, which we’ll see shortly.

  • towboot part 1

    2020 was a rough year for many people: The world was on fire and there was this virus going on. So I set out to write a bootloader.

  • meine unqualifizierte Meinung zur Corona-Warn-App

    Ich habe in den letzten Tagen sehr viel Stuss in den sozialen Medien und in Blogposts über diese neue App gelesen – und da dachte ich mir: Das kannst du auch.

    Solltet ihr die App benutzen? Keine Ahnung, das müsst ihr selbst entscheiden.

    Nutze ich die App? Ich habe sie installiert, aber sie funktioniert bei mir leider nicht. Ja.

  • Ubuntu beta-testen

    Bald erscheint Ubuntu 20.04 “Focal Fossa”. Und ihr könnt dabei helfen Bugs zu finden, bevor das fertige Release da ist.

  • Virtueller Frühjahrsputz

    Ich habe mehrere Geräte mit Debian-ähnlichen Linux-Distributionen. Und ich hatte heute Lust, da mal ein bisschen aufzuräumen. Und wo ich schonmal dabei bin, kann ich das auch gleich aufschreiben.

  • Recommendations

    There are a few blog posts, Twitter threads and other stuff I usually recommend to people when talking about a specific topic. I figured it would be nice to collect them all in one place.

  • GPN18

    ZKM-Kubus bei Tag

    ZKM-Kubus bei Tag

    Ich werde auf der GPN18 in Karlsruhe sein (zum ersten Mal!).

    Gulaschprogrammiernacht klingt fast wie ein Kochmarathon für schlaflose Informatikstudenten.

    https://entropia.de/GPN18

  • 32C3

    Raketentechnik

    Raketentechnik

    Menschen! Ganz viele Menschen! Schrecklich! Und es ist bunt, laut und blinkt!

    Was hat das jetzt alles mit Stadtaffen zu tun?

  • ToDo

    Ich habe was zu tun - ich brauche eine ToDo-Liste!

  • Frühling und so.

    Alles ist grün, die Pollen fliegen und ich habe schon lange nichts mehr geschrieben.

  • LokoPizza

    Puh! Jetzt wo ich zweimal richtig geschlafen habe, bin ich hoffentlich wach genug, um drüber zu schreiben:

    Ich habe zusammen mit A1asd ein Spiel gemacht: LokoPizza

  • YARFI ist da

    Früher™ - da war die Welt noch nicht so kompliziert! Alle Linux-Distributionen benutzten SysVinit. Und alles war gut! Na ja, und jetzt gibt es halt viele tolle andere Init-Systeme. Parallel. Also, eigentlich nur noch eins, jetzt wo auch Ubuntu auf systemd setzten möchte bzw. muss.

    Es geht eigentlich immer darum, den Start möglichst schnell hinzubekommen. Hier nicht! (Also ersteinmal.)

    Ich präsentiere: **YARFI** (noch lange nicht fertig)

  • Hallo Welt!

    Dies ist der erste Eintrag. Also sollte er wohl erzählen, was das Alles hier überhaupt sein soll und auch was es tatsächlich ist.