GSoC 2025 - Proposal Interest: Add UEFI Boot Options to NetBSD

Vignesh <[email protected]> Tue, 8 Apr 2025 22:00:43 +0530
Newsgroups gmane.os.netbsd.devel.installation
Message-ID <CAO_92Y=tg0SGGKAcDVJwg5fuh4enzA2614-GqZyWhD77hEACCg@mail.gmail.com>
--0000000000005d102d063246e055
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

Hello NetBSD developers,

My name is *Vignesh T*, a Computer Science undergraduate from St. Joseph=E2=
=80=99s
Institute of Technology. I=E2=80=99m interested in contributing to NetBSD t=
hrough
GSoC 2025 and would like to work on the project *=E2=80=9CAdd UEFI Boot Opt=
ions.=E2=80=9D*
I=E2=80=99ve been exploring NetBSD internals and bootloader behavior on UEF=
I
systems using QEMU, and this project aligns well with my interests in
systems programming and OS internals.
=F0=9F=9B=A0=EF=B8=8F Problem

Currently, NetBSD boots via UEFI using a generic loader setup. This results
in unclear or default labels like "UEFI OS" in the firmware boot menu,
making NetBSD indistinguishable from other installed systems in a
multi-boot setup. There's also no userland tool to utilize the UEFI
SetVariable() interface, and integrating such configuration into the
installation process (e.g., via sysinst) remains unaddressed.
=E2=9C=85 Proposed Solution

   -

   *Develop a userland tool* that interacts with UEFI runtime services
   (e.g., SetVariable()) to create proper boot entries.
   -

   *Integrate boot entry creation* during installation=E2=80=94ideally with=
in
   sysinst, or via a post-install hook that sets the boot option.
   -

   *Resolve path mapping* between NetBSD's GPT partitions and UEFI device
   paths to properly populate boot entries.
   -

   *Test across x86 UEFI systems*, using virtualized and physical
   environments.

I=E2=80=99d appreciate your thoughts on whether sysinst is the ideal place =
for
setting the variables or if a different integration strategy would be
better. I=E2=80=99m happy to begin contributing with preliminary work and e=
arly
feedback from the community.

Looking forward to your guidance!

Best regards,
*Vignesh T*
=F0=9F=93=A7 [email protected]
=F0=9F=94=97 GitHub: https://github.com/vignesh-0512 <https://github.com/vi=
gnesh-0512>
------------------------------

--0000000000005d102d063246e055
Content-Type: text/html; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

<div dir=3D"ltr"><p>Hello NetBSD developers,</p>
<p>My name is <strong>Vignesh T</strong>, a Computer Science undergraduate =
from St. Joseph=E2=80=99s Institute of Technology. I=E2=80=99m interested i=
n contributing to NetBSD through GSoC 2025 and would like to work on the pr=
oject <strong>=E2=80=9CAdd UEFI Boot Options.=E2=80=9D</strong> I=E2=80=99v=
e been exploring NetBSD internals and bootloader behavior on UEFI systems u=
sing QEMU, and this project aligns well with my interests in systems progra=
mming and OS internals.</p>
<h3>=F0=9F=9B=A0=EF=B8=8F Problem</h3>
<p>Currently, NetBSD boots via UEFI using a generic loader setup. This resu=
lts in unclear or default labels like <code>&quot;UEFI OS&quot;</code> in t=
he firmware boot menu, making NetBSD indistinguishable from other installed=
 systems in a multi-boot setup. There&#39;s also no userland tool to utiliz=
e the UEFI <code>SetVariable()</code> interface, and integrating such confi=
guration into the installation process (e.g., via <code>sysinst</code>) rem=
ains unaddressed.</p>
<h3>=E2=9C=85 Proposed Solution</h3>
<ul>
<li>
<p><strong>Develop a userland tool</strong> that interacts with UEFI runtim=
e services (e.g., <code>SetVariable()</code>) to create proper boot entries=
.</p>
</li>
<li>
<p><strong>Integrate boot entry creation</strong> during installation=E2=80=
=94ideally within <code>sysinst</code>, or via a post-install hook that set=
s the boot option.</p>
</li>
<li>
<p><strong>Resolve path mapping</strong> between NetBSD&#39;s GPT partition=
s and UEFI device paths to properly populate boot entries.</p>
</li>
<li>
<p><strong>Test across x86 UEFI systems</strong>, using virtualized and phy=
sical environments.</p>
</li>
</ul>
<p>I=E2=80=99d appreciate your thoughts on whether <code>sysinst</code> is =
the ideal place for setting the variables or if a different integration str=
ategy would be better. I=E2=80=99m happy to begin contributing with prelimi=
nary work and early feedback from the community.</p>
<p>Looking forward to your guidance!</p>
<p>Best regards,<br>
<strong>Vignesh T</strong><br>
=F0=9F=93=A7 <a href=3D"mailto:[email protected]">[email protected]=
om</a><br>
=F0=9F=94=97 <a href=3D"https://github.com/vignesh-0512">GitHub: https://gi=
thub.com/vignesh-0512</a></p>
<hr>
<p><br></p></div>

--0000000000005d102d063246e055--