Google Summer of Code 2019 Mentor Summit
Author: Kamil Rytarowski
Date: October 19th 2019
Place: Munchen Marriott Hotel, Munchen, Germany
Kamil Rytarowski (born 1987)
NetBSD user since 6.1.
The NetBSD Foundation member (== developer) since 2015.
Work areas: kernel, userland, pkgsrc.
Interest: NetBSD on desktop and in particular NetBSD as a workstation.
The current activity in 3rd party software:
The first time mentor during GSoC 2018.
NetBSD is a free, fast, secure, and highly portable Unix-like Open Source operating system.
It is available for a wide range of platforms, from large-scale servers and powerful desktop systems to handheld and embedded devices.
PowerPC, Alpha, SPARC, MIPS, SH3, ARM, amd64, i386, m68k, VAX, RISCV ...
Of course it runs NetBSD.
Cross-building is possible from most UNIX-like operating systems.
1 ./build.sh \ 2 distribution
Additional build information available in the BUILDING file.
Testing your NetBSD system with Automated Test Framework (ATF).
1 cd /usr/tests; atf-run | atf-report
Fetch the latest sources.
To fetch the main CVS repository:
1 cvs -d anoncvs@anoncvs.NetBSD.org:/cvsroot checkout -P src
1 git clone https://github.com/netbsd/src
Alternatively use snapshots, Mercurial or Fossil mirrors.
Who uses NetBSD?
For additional introduction check The NetBSD Guide.
NetBSD participated successfully in the following Google's Summer of Code programs:
In 2019 there were 7 succesful projects for The NetBSD Foundation.
Check https://blog.netbsd.org/ for their reports.
I've mentored 2 students this year.
Syzkaller + syzbot 24/7 fuzzing with KCOV assisted coverage driver
http://blog.netbsd.org/tnf/entry/enhancing_syzkaller_support_for_netbsd http://blog.netbsd.org/tnf/entry/enchancing_syzkaller_support_for_netbsd http://blog.netbsd.org/tnf/entry/enchancing_syzkaller_support_for_netbsd1
GSoC 2019 by Siddharth Muralee
http://blog.netbsd.org/tnf/entry/adapting_triforceafl_for_netbsd_part http://blog.netbsd.org/tnf/entry/adapting_triforceafl_for_netbsd_part1 http://blog.netbsd.org/tnf/entry/adapting_triforceafl_for_netbsd_part2
GSoC 2019 by Akul Pillai
NetBSD 9.0 release process has started on July 31st 2019
The NetBSD Foundation hires now a release engineering developer (martin@).
New AArch64 (ARM64) architecture support:
The FDT-ization of many ARM boards:
Selection of new boards:
RISCV getting closer, boots in emulator.
Still no real hardware support.
New device drivers for various devices on older hardware, such as:
Oldschool NetBSD/Xen is still maintained.
NetBSD was the first Operating System shipping with Xen support.
New approached with kernel backends (Linux KVM-style) for qemu-alike frontend:
WoW (Wine32 + Wine64) improvements.
Sanitizer is a programming tool that detects computer program bugs such as:
The fundamental five types of sanitizers:
All of them main five userland sanitizers are supported on NetBSD.
NetBSD pass 95% of the upstream LLVM tests.
There are sanitizers available in the NetBSD kernel.
MKSANITIZER is a distinct feature of NetBSD that allows the whole distribution sanitization.
rumpkernel is a NetBSD kernel code as a library.
rumpkernel code fuzzing with MKSANITIZER and honggfuzz.
1 ------------------------[ 0 days 01 hrs 00 mins 00 secs ]------- 2 Iterations : 367,977 [367.98k] 3 Mode : [2/2] Feedback Driven Mode 4 Target : ./a.out 5 Threads : 4, CPUs: 8, CPU%: 0% [0%/CPU] 6 Speed : 25/sec [avg: 102] 7 Crashes : 7817 [unique: 7817, blacklist: 0, verified: 0] 8 Timeouts : 13 [10 sec] 9 Corpus Size : 203, max size: 5,120,000 bytes, init dir: 361 files 10 Cov Update : 0 days 00 hrs 00 mins 29 secs ago 11 Coverage : edge: 28 pc: 206 cmp: 104,650 12 ---------------------------------- [ LOGS ] ----/ honggfuzz 1.7 /-
Status after 60 minutes of fuzzing.
Kernel correctness and completeness of features in ptrace(2) is highly improved for debuggers (lldb, gdb), syscall tracers (strace-like) and sanitizers (lsan).
The LLVM LLDB support is getting closer to being accomplished and fully featured.
GNU GDB support is improving (gdbserver is now available, many bugs are gone).
Graphics driver update, matching Linux 4.4, adding support for up to Kaby Lake based Intel graphics devices.
Mesa was updated to 18.3.4, and llvmpipe is now available for several architectures, providing 3D graphics even in the absence of a supported GPU.
ZFS has been updated to a modern version and seen many bugfixes.
Further SMP-ification of the codebase.
NPF is now the recommended packet filter for new users and IPF/PF are deprecated.
NPF performance improvements and bug fixes. A new lookup algorithm, thmap, is now the default
The NetBSD Foundation funded project to port FreeBSD wifi stack (not merged yet).