Dear NetBSD team,
I am Valerio, a first-year Information Engineering student and I'm writing to 
submit my proposal for Google Summer of Code 2025 under the project "Emulating 
missing Linux syscalls". Below you will find all answers to the standard NetBSD 
application questions.

---

About your project

What is the goal of the project?
The goal is to improve Linux binary compatibility in NetBSD by identifying and 
implementing missing Linux syscalls inside the compat_linux kernel layer. This 
will allow previously unsupported Linux binaries to run correctly on NetBSD.

What will be the deliverables of the project?
- Implementation of several missing Linux syscalls in compat_linux
- A selected Linux binary that initially fails, then runs successfully after 
implementation
- Code with inline documentation and comments
- Summary table of missing syscalls and status
- Test cases and usage notes

Schedule and milestones:

Until the start of the project:
- Set up dev environment, collect test binaries and study linux syscalls and 
compat_linux

Phase 1:
- Identify broken Linux binary, trace missing syscalls, begin implementation of 
first syscall

Phase 2:
- Implement more syscalls, improve translation, and test execution

Final Phase:
- Complete implementations, finalize documentation, submit patches

Is similar software available elsewhere?
After doing some research I noticed that FreeBSD has got a similar software, 
Linuxulator.

---

About your project and NetBSD

Have you installed NetBSD and configured it?
Yes, I have installed NetBSD in a virtualized environment and gone through the 
boot.

Have you found the relevant source areas?
Yes. I had a look at sys/compat/linux/.

How will your project integrate into NetBSD?
This project is purely kernel-level and will integrate as part of the 
compat_linux subsystem.

What interfaces will your project use?
- the sys/compat/linux directory
- Syscall table and dispatcher (syscalls.master)

Familiarity with those interfaces?
Medium/High. I have worked on similar kernel C projects, including system call 
implementation, interrupt handling and process implementation.

Does the project involve hardware?
No, a VM is sufficient.

---

About you

Related project:
- x64OS project: an operating system I'm building from scratch for the AMD64 
architecture using QEMU. I’ve implemented a custom bootloader and drivers for 
VGA, keyboard, and IDE. I’m currently working on POSIX I/O syscalls like read 
and write. Written in C and Asm, using Make, it' on my GitHub profile.

Experience with NetBSD?
No prior contributions yet.

How to contact me:
- Email: valerio.tang...@outlook.com
- GitHub: https://github.com/valerioedu

Anything else?
I’m deeply passionate about OS development and C systems programming. This 
project aligns perfectly with my interests and I'd be excited to contribute in 
the GSoC.

Thank you very much for your time and consideration. I look forward to any 
feedback or questions.

Best regards,
Valerio

Reply via email to