%title: what the heck is a NetBSD? %author: Nia Alarie -> # what the heck is a NetBSD? <- -> ## our plot to make a weird operating system for your computers <- ------------------------------------ -> # a brief introduction to BSD <- * the 80s: hackers at the University of California forked Unix - their fork of Unix was called Berkeley Software Distribution ^ * eventually, they had rewritten a lot of the original Unix code - their fork was very popular for features such as TCP/IP - so it became one of the first open source projects ^ * ... but AT&T sued over a phone number (Unix trademark) - overshadowed by GNU and Linux which was not being sued ------------------------------------ -> # a brief introduction to NetBSD <- * started as a merge of x86 (and Amiga, etc...) support into BSD sources - one of the oldest open source communities (history intact to 1993) - one of the first projects developed online (hence Net) - not a distribution, but a whole unique OS * "stable research platform"... meaning: ^ - we experiment with OS dev ideas and you get to use them in prod ;) ^ * "runs on a toaster"... - but more interesting things are relevant today ------------------------------------ -> # why might you want to use it? <- * some interesting features and design - rump kernel architecture - pkgsrc, NPF firewall, NVMM hypervisor... - really nice security architecture ^ * blend of "retro Unix"... - small, understandable, hackable system... - rc.d, periodic scripts, man (not texinfo) pages... * ... with modern features? - modern x86 and ARM hardware support (all "mainline")... - advanced filesystem stuff, e.g. ZFS... ------------------------------------ -> # what is a pkgsrc? <- a very versatile package management system from NetBSD * probably fits your use case - can be used as a source package manager or binary package manager - high level tools (pkgin) and low level tools (pkg_add, pbulk)... - does not require root ^ * supports many platforms - primarily NetBSD and Solaris, with NetBSD as "tier 1" - also Linux, macOS, FreeBSD... HP-UX? * popular for scientific HPC (NASA, universities...) ------------------------------------ -> # what is a rump kernel? <- * run small monolithic kernels in userspace... - use filesystem drivers on filesystem images, etc - use our audio stack on GNU HURD - very useful for testing * ... or use the drivers in your bare metal application ^ * imagine back alley surgery, but for kernel drivers ------------------------------------ -> # security...? quality assurance...? <- i think this part is pretty important * the core OS - ... has a big test suite and is very fuzzed - ... is entirely reproducible ^ * interesting design decisions, e.g. NVMM hypervisor... - small library and small kernel module - aiming to reduce attack service of compromised VMs ^ * oopsie mitigations? - executable integrity protection - restrict capabilities for abuse of root with securelevel - very strong PaX MPROTECT, ASLR, enabled by default... ------------------------------------ -> # how i got involved <- * i wanted to run something interesting on my laptop... * and then i had a source tree with the whole OS in front of me... - i got into scratching itches with audio and input drivers... * very inclusive, small and helpful community ------------------------------------ -> # any questions? <- * catch me on: - IRCnet: niaa