tech-kern archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

GSoC 2025 Proposal – Emulating missing Linux syscalls in compat_linux



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.tangari%outlook.com@localhost
- 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


Home | Main Index | Thread Index | Old Index