How to get started hacking NetBSD - Taylor R Campbell - EuroBSDcon 2023
Вставка
- Опубліковано 5 лют 2025
- Taylor R Campbell: How to get started hacking NetBSD
You've used a BSD, but have you used the open source of it to bend it to your will? Does it grant you freedom, or just confine you to a different set of bugs?
This talk will tell the story of how I got into hacking NetBSD with zero experience in kernel development, and how you can get started with things too even if you aren't an experienced kernel hacker, including:
making cross-builds a breeze to do work from any platform,
diving into the kernel,
how to read a device driver,
working on a single subsystem at a time,
iterating development with automatic tests, chroots, rump, and VMs.
For beginners and experienced C hackers alike!
Taylor R Campbell:
Taylor ‘Riastradh’ Campbell has been a NetBSD developer since 2011, working on various areas including device drivers and multiprocessor safety, and is a member of the NetBSD core team and The NetBSD Foundation board.
Very cool and informative talk. We need more talks like these to create a new generation of developers.
This is really cool, I'll be setting up a VM to try all of this. I always wanted a talk like this one. Thanks.
VAX has done great progress during recent time, we're back on track!
"device registers are kind of like locations in memory" the point is that they are _meaningful_ locations in memory, not just bytes to store some software state. So, it is not like an _array_ of ints, it is more like a _struct_ of ints with meaningful names. What's worse, often the meaningful part is the _bitfields_ inside the registers, not the registers themselves. C does not have a nice language semantics to support that.
The semantics C has are perfectly functional for the task but yeah, not easily human reasonable and needs to be thoroughly tested for sure.
uuuuhh muuuu uhhhh mmmmyuuhhh NETBSD nyyuuuuh package source ahhh nuuuuuhhhh this is actually exciting aaaaahhh ummmmmm and NETBSD local socket mmmm ummm uhhh imap client TLS