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>"UEFI OS"</code> in t= he firmware boot menu, making NetBSD indistinguishable from other installed= systems in a multi-boot setup. There'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'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--