Join us

Writing an OS in Go: The Bootloader

Writing an OS in Go: The Bootloader

The author of this blog post announces their intention to write an OS in Go and discusses their choice of bootloader and the difficulties encountered with building a bootloader that can run on both BIOS and UEFI.

The author mentions that UEFI is the way to go if they want their OS to work on newer hardware, but they don't want to neglect older hardware. They discuss their preference for using an already-written bootloader and ultimately choose between BOOTBOOT and Limine. They discuss the issues they encounter with writing Go code and linking their code with the external linker.

  • The Go linker does not support linker scripts.
  • BOOTBOOT and Limine are two bootloaders that support 64-bit higher-half kernels and ELF binaries.
  • The external linker can be used with Go by setting appropriate flags to the Go linker.


Let's keep in touch!

Stay updated with my latest posts and news. I share insights, updates, and exclusive content.

Unsubscribe anytime. By subscribing, you share your email with @faun and accept our Terms & Privacy.

Give a Pawfive to this post!


Only registered users can post comments. Please, login or signup.

Start writing about what excites you in tech — connect with developers, grow your voice, and get rewarded.

Join other developers and claim your FAUN.dev() account now!

Avatar

The FAUN

FAUN.dev()

@faun
The FAUN watches over the forest of developers. It roams between Kubernetes clusters, code caves, AI trails, and cloud canopies, gathering the signals that matter and clearing out the noise.
Developer Influence
3k

Influence

302k

Total Hits

3711

Posts