Second round of GSoC reports are available in NetBSD blog:

Second round of GSoC’2019 reports are available in NetBSD blog:

Fun read:

USBNET: A story of networking and threads that won’t stop pulling

Continuation on fuzzers:

Fuzzing NetBSD Filesystems via AFL. [Part 2]

Other work sponsored by the NetBSD project:

Codelite building issues from pkgsrc

Recently I am trying to build my own desktop environment on NetBSD which is based on current branch and using current pkgsrc for packages. I successfully built up to date MATE 1.22.1 desktop environment but got stuck on pretty outaded CodeLite IDE (9.1.0 in pkgsrc compared to 13.0.0 being the latest at the time of writing). The first error I hit by was:

/usr/pkgsrc/editors/codelite/work/codelite-9.1/LiteEditor/clangpch_cache.h:35:10: fatal error: clang-c/Index.h: No such file or directory

Since I was quite sure that I should have it, I quickly looked around and I found that header exists in /usr/pkg/include/clang-c/Index.h. So quick workaround was quite obvious by setting CFLAGS environment variable to point to pkg include folder. Since I checked that this variable didn’t have any value, I just simply did:

export CFLAGS=/usr/pkg/include

It helped me to finish the build successfully but linking failed with “ld: cannot find -lclang” error… So yet another environment variable was needed:

export LIBRARY_PATH=/usr/pkg/lib

After that linking went successfully but it wasn’t the end of the story yet. Package PLIST file contained 5 files which were not available after the build. Apparently spell checker was not part of the build for some reason and lib/codelite/SpellCheck.so and all files in share/codelite/dics/ folder (including folder itself) were missing. Because of this pkg_create was failing to assemble the installation package. You would see messages like “pkg_create: can’t stat <filename>”. I just decided remove those files from PLIST file:

fossil diff --unified PLIST

Index: editors/codelite/PLIST
==================================================================
— editors/codelite/PLIST
+++ editors/codelite/PLIST
@@ -22,11 +22,10 @@
lib/codelite/MemCheck.so
lib/codelite/Outline.so
lib/codelite/QMakePlugin.so
lib/codelite/SFTP.so
lib/codelite/SnipWiz.so
-lib/codelite/SpellCheck.so
lib/codelite/Subversion.so
lib/codelite/Tweaks.so
lib/codelite/UnitTestsPP.so
lib/codelite/WebTools.so
lib/codelite/Wizards.so
@@ -64,14 +63,10 @@
share/codelite/config/cfg/sdl.cfg
share/codelite/config/cfg/std.cfg
share/codelite/config/cfg/windows.cfg
share/codelite/config/codelite.xml.default
share/codelite/config/debuggers.xml.default
-share/codelite/dics/en_GB.aff
-share/codelite/dics/en_GB.dic
-share/codelite/dics/en_US.aff
-share/codelite/dics/en_US.dic
share/codelite/gdb_printers/boost/init.py
share/codelite/gdb_printers/boost/printers.py
share/codelite/gdb_printers/helper.py
share/codelite/gdb_printers/libstdcxx/init.py
share/codelite/gdb_printers/libstdcxx/v6/init.py

Unfortunately there is one caveat that after changing this file I needed to make a clean build again (make clean before make install). Fortunately, it doesn’t take long to rebuild CodeLite on modern CPU, especially if all cores are utilized. Finally, after all the struggles CodeLite IDE started successfully (even if it’s a relatively old version).

CodeLite 9.1.0 on NetBSD amd64 8.99.50

Update: Actually I managed to build the latest CodeLite (13.0.1) too straight from github source code. The most applied patches were the same as pkgsrc package has (actually seems even less is needed now). Manually I needed to add /usr/pkg/libexec/wx-3.0 to PATH since build script need wx-config and I also needed to change libssh.so path to from /usr/lib/libssh.so to /usr/pkg/lib/libssh.so (libssh-0.87) in CMakeFiles/<module>.dir/link.txt files which were linking against it. Probably updating pkgsrc package should not be difficult too considering my relatively easy success , so I guess package is not actively maintained anymore. Will see if I can prepare a patch.

CodeLite 13.0.1 on NetBSD amd64 8.99.50

First round of GSoC reports

First round of GSoC reports are available in NetBSD blog:

Also an interesting read about fuzzers:

Write your own fuzzer for NetBSD kernel! [Part 1]

NetBSD 8.1 released

Today the NetBSD Project announced 8.1 release. It already follows the new release cycle without teeny releases and represents selected changes to improve stability and security plus some new enhancements and features. Main highlights include INTEL-SA-00233 (MDS) mitigation, various kernel data leak fixes, smtoff property to disable SMT explicitly in rc.conf(5), addition of mfii(4) and bwfm(4) drivers, DRM/KMS improvements, performance regression fix in tmpfs, updated dhcpcd(8) and httpd(8), fixes for sh(1), reproducible builds, network drivers, thread local storage (TLS) in position independent executables (PIE). All changes can be found here. Source and binaries can be downloaded from the project CDN or any other mirrors.

NetBSD 8.1 RC1 released

The NetBSD project released the first and possibly the only release candidate for 8.1 release. As usual this release represents a subset of selected security and stability fixes, additionally with some selected new drivers and enhancements. It has workarounds for the latest CPU vulnerabilities, rc.conf(5) has a new property to disable smt (Simultaneous Multi-Threading). dhcpcd(8) was updated to 7.2.2, along with httpd(8). Full list of changes can be found here. You can download it from NetBSD project CDN or any of the project mirrors.

GSoC 2019

The NetBSD project is participating in Google Summer of Code 2019 and projects for this year were announced:

Must admit that few projects are out of my knowledge area but some of them are really interesting I am planning to follow them closely. As an interesting fact Siddharth is participating for the second year in a row.

Some interesting developments on NetBSD

Since I didn’t write any news update for a while, lately some interesting developments were happening in few NetBSD areas which I would like to share.

Virtualization is one of these areas, it received few interesting updates recently. The first one is Intel HAXM hardware-accelerated support. You can also read an independently written how-to here. It works with Intel CPUs with VTx only. Another one is NetBSD Virtual Machine Monitor or NVVM. Initially it supported AMD CPUs only, but recently it was updated to support Intel CPUs too. You can read It is a good time to start testing them. Update: the developer recently added the detailed NVVM presentation article to the official NetBSD blog.

Another area was LLVM sanitizers and improved LLVM support (reports can be found in NetBSD blog here, here, here and here).

One more hot topic is RISC-V architecture recently. Especially, once WD released their SweRW core on GitHub. The NetBSD project developers started work on RISC-V support as well:

Finally, you can watch an interesting FOSDEM’19 video by Benny Siegert who provided more info on various updates.


irBSD 01.06.2019 v8 released

irBSD is a digital forensic suite for cryptography, penetration testing, data recovery, reverse engineering, privacy and other security tasks. It is based on NetBSD and uses ratpoison as default window manager. The project recently released 01.06.2019 v8 of the suite. You can download it from the irBSD sourceforge page.

Personal NetBSD and other things blog