tech-userlevel archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
GSoC 2025: Proposal - Add UEFI Boot Options for NetBSD
*Subject:* GSoC 2025: Proposal - Add UEFI Boot Options for NetBSD
Dear NetBSD Developers,
I hope this message finds you well. My name is [Your Name], and I’m writing
to express my interest in participating in Google Summer of Code 2025 with
NetBSD. I’m particularly drawn to the project *“Add UEFI Boot Options”*,
which aligns well with my interests in system-level programming and
operating system internals.
About the Project
*Goal:*
The primary goal is to enhance the NetBSD UEFI bootloader by adding support
for boot options (such as boot entry editing, timeout configuration,
boot-next functionality, etc.), allowing users to interactively and
programmatically manage UEFI boot variables and entries.
*Deliverables:*
-
Code patches implementing UEFI boot option support in NetBSD’s UEFI
bootloader.
-
Documentation on usage and internals of the added functionality.
-
Tests and validation setup to ensure robustness and maintainability.
*Milestones and Schedule:*
-
*Community Bonding:* Get familiar with NetBSD’s UEFI boot
infrastructure, tools like efiboot, and understand the current
bootloader flow.
-
*Week 1–4:* Implement functionality to read and parse UEFI boot
variables; expose them in bootloader.
-
*Week 5–8:* Enable creation/modification of UEFI boot entries; add UI
options if required.
-
*Midterm:* Basic UEFI boot entry management functional and documented.
-
*Week 9–12:* Implement advanced features like boot-next, boot-order
editing.
-
*Final Weeks:* Clean up code, write tests and documentation, submit
final patch series.
*Similar Software:*
Linux’s efibootmgr offers similar functionality in userland. FreeBSD and
OpenBSD also have partial UEFI support, but NetBSD still lacks dynamic UEFI
boot entry management.
*Nature of Work:*
This will be an *original implementation* or adaptation of existing non-GPL
techniques — all written specifically for NetBSD to remain
license-compliant.
About Me & My NetBSD Experience
While I’m new to directly contributing to NetBSD, I have a solid background
in system programming (C, Unix, kernel/userland separation, bootloaders)
and I'm comfortable working in low-level environments. I’ve set up and
experimented with NetBSD in virtualized environments, compiled parts of the
kernel and userland, and have been studying its build system and bootloader
source code in preparation.
I’m currently reading through relevant parts of the NetBSD bootloader
codebase, particularly files like stand/efiboot, libsa, and libefi.
*Interfaces Involved:*
-
UEFI runtime services (via libefi)
-
Bootloader UI and boot selection logic
-
Possibly stand/common/ and stand/efiboot/efi/efiboot.c
*Familiarity:*
While I'm still getting fully up to speed with NetBSD internals, I’m very
comfortable with C, the UEFI spec, firmware-level programming, Makefiles,
and debugging low-level issues.
I haven't submitted PRs or patches to NetBSD yet, but I’m eager to start
doing so as part of this proposal process. I haven’t yet had discussions
with NetBSD developers, but I would love to get feedback and guidance on
this project.
Warm regards,
Vignesh T
Home |
Main Index |
Thread Index |
Old Index