Hello tech-kern,
My name is Ilia, and I am an undergraduate computer engineering
student. I am writing to introduce myself and declare my intent to
spend my summer working on adding missing Linux syscalls to the
compat_linux translation layer. While this is a personal project and
not affiliated with Google Summer of Code, I plan to treat the time
commitment and deliverables as seriously as though it were.
My background includes C programming and CPU hardware design on FPGAs,
but this will be my first non-trivial contribution to an open-source
project and my first dive into kernel development.
To prepare, I have spent the past few weeks reading through texts on
operating system fundamentals (Advanced Programming in the UNIX
Environment, The Design and Implementation of the 4.4BSD Operating
System, and Understanding the Linux Kernel). To get hands-on
experience with the NetBSD ecosystem, CVS, and the GNATS system, I
recently submitted a patch for a minor pluralization bug in the
shutdown(8) utility (PR bin/60248). Going through the submission and
getting feedback on it from the developers has been a great way to
understand the workflow.
My roadmap for the immediate future includes:
- Finding the missing syscalls: I plan to start by investigating the
y-cruncher binary, as reported in PR 59589 (Linux emulation fails on
y-cruncher). I will trace its execution on my amd64 NetBSD QEMU
environment to identify exactly which syscalls or features it is
missing. I will also test other Linux binaries to map out additional
gaps.
- Finalizing a timeline: Once I have traced the missing syscalls for
y-cruncher (or another suitable binary), I will share a detailed
project timeline for the remaining 3 months of my summer.
I am very open to suggestions if the community has a specific Linux
binary or missing syscall they would prioritize for compatibility over
y-cruncher.
Thank you for your time. I am eagerly looking forward to any advice,
feedback, or suggested reading materials as I begin this project.
Best regards,
Ilia