EuroBSDcon 2017: “travel notes” after the conference

Let me tell you about my experience at
EuroBSDcon 2017
in Paris, France. We will
see what was presented during the NetBSD developer summit on Friday
and then we will give a look to all of the
NetBSD and
pkgsrc presentations given during
the conference session on Saturday and Sunday. Of course, a lot of
fun also happened on the “hall track”, the several breaks
during the conference and the dinners we had together with other
*BSD developers and community! This is difficult to describe and
I will try to just share some part of that with photographs that
we have taken. I can just say that it was a really beautiful
experience, I had a great time with others and, after coming back
home… …I miss all of that! 🙂 So, if you have never been in
any BSD conferences I strongly suggest you to go to the next ones,
so please stay tuned via
NetBSD Events.
Being there this is probably the only way to understand these feelings!

Thursday (21/09): NetBSD developers dinner

Arriving in Paris via a night train from Italy I
literally sleep-walked through Paris getting lost again and again.
After getting in touch with other developers we had a dinner together and went
sightseeing for a^Wseveral beers!

Friday (22/09): NetBSD developers summit

On Friday morning we met for the NetBSD developers summit kindly hosted by

Photograph of the NetBSD develepors summit

From left to right: alnsn, sborrill;
abhinav; uwe and leot;
christos, cherry, ast and
bsiegert; martin and khorben.

The devsummit was moderated by Jörg (joerg) and organized by
Jean-Yves (jym).

NetBSD on Google Compute Engine — Benny Siegert (bsiegert)

After a self-presentation the devsummit presentations session started with the
talk presented by Benny (bsiegert) about NetBSD on Google
Compute Engine

Benny first introduced
Google Compute Engine (GCE)
and then started describing how to run NetBSD on it.

At the moment there are no official NetBSD images and so users need to create
their own. However, netbsd-gce
script completely automatize this process that:

  • uses Anita
    to stage an installation in QEMU
  • adjust several tweaks to ensure that networking and storage will work on GCE
  • packs the image into a .tar.gz file

The .tar.gz image then just need to be uploaded to a Cloud Storage
bucket, create a GCE image from it and then launch VMs based on that image.

He also discussed about GCE instance metadata, several problems founds and how
they were fixed (it’s better to use NetBSD 8_BETA or -current!) and some future

For more information
slides (PDF)
of the talk are also available.

Scripting DDB with Forth — Valery Ushakov (uwe)

Valery (uwe) presented a talk about Scripting DDB
with Forth
. It was based on a long story and actually the
first discussion about it appeared on
mailing list in his
Scripting DDB in Forth?
thread (ddb(4)
is the NetBSD in-kernel debugger).

He showed how one can associate
commands/conditions with ddb breakpoints.
He used “pid divisible by 3” as an example of condition
for a breakpoint set in
system call:

db{0}> forth
ok : field   create , does> @ + ;
ok #300 field lwp>l_proc
ok #120 field proc>p_pid
ok : getpid   curlwp lwp>l_proc @ proc>p_pid @ ;
ok : checkpid   getpid dup ." > PID IS " . cr   3 mod 0= ;
ok bye
-- STACK: 
db{0}> break sys_getpid_with_ppid
db{0}> command . = checkpid
db{0}> c

…and then on a shell:

# (:)
fatal breakpoint trap in supervisor mode
trap type 1 code 0 eip 0xc090df89 cs 0x8 eflags 0x246 cr2 0xad8ef2c0 ilevel 0 esp 0xc0157fbd
curlwp 0xc2b5c2c0 pid 798 lid 1 lowest kstack 0xdabb42c0
> PID IS 798
0xffffffff   -1
Breakpoint in pid 798.1 (ksh) at        netbsd:sys_getpid_with_ppid: pushl %ebp
db{0}> c
# (:)
fatal breakpoint trap in supervisor mode
trap type 1 code 0 eip 0xc090df89 cs 0x8 eflags 0x246 cr2 0xad8ef2c0 ilevel 0 esp 0xc0157fbd
curlwp 0xc2b5c2c0 pid 823 lid 1 lowest kstack 0xdabb42c0
> PID IS 823
0x00000000  0
Command returned 0

If you are more interested in this presentation I strongly suggest to also give
a look to uwe‘s
forth Mercurial repository.

News from the version control front — Jörg Sonnenberger (joerg)

The third presentation of the devsummit was a presentation about the recent work done by
Jörg (joerg) in the VCS conversions.

Jörg started the presentation discussing about the infrastructure
used for the CVS -> Fossil -> Git conversion and
CVS -> Fossil -> Mercurial conversion.

It’s worth also noticing that the Mercurial conversion is fully integrated and
is regularly pushed to Bitbucket and
src repository pushed some
scalability limits to Bitbucket!

Mercurial performance were also compared to the Git ones in details for several

A check list that compared the current status of the NetBSD VCS migration to the
FreeBSD VCS wiki one was
described and then Jörg discussed the pending work and answered several
questions in the Q&A.

For more information please give a look to the
joerg‘s presentation slides (HTML).
If you would like to help for the VCS migration please also get in touch with

Afternoon discussions and dinner

After the lunch we had several non-scheduled discussions, some time
for hacking, etc. We then had a nice dinner together (it was in a
restaurant with a very nice waiter who always shouted after
every order or after accidently dropping and crashing dishes!, yeah! That’s
probably a bit weird but I liked that attitude! :)) and then did some
sightseeing and had a beer together.

Photograph of the Friday dinner, taken by Christos

From left to right: uwe, bad, ast,
leot, martin, abhinav,
sborrill, alnsn, spz.

Photograph of the Friday dinner, taken by Abhinav

From left to right: uwe, bad, ast,
christos, leot, martin,
sborrill, alnsn, spz.

Saturday (23/09): First day of conference session and Social Event

A Modern Replacement for BSD spell(1) — Abhinav Upadhyay (abhinav)

Abhinav (abhinav) presented his work on the new
implementation he’s working (that isn’t just a spell replacement
but also a library that can be used by other programs!).

He described the current limitations of old spell(1) (to get an
idea please give a look to bin/48684),
described the project goals of the new spell(1), additions to
/usr/share/dict/words, digged a bit in the implementation and
discussed several algorithms used and then provided a performance comparison
with other popular free software spell checkers
hunspell and ispell).

He also showed an interactive demo of the new spell(1) in-action
integrated with a shell for auto-completion and spell check.

If you would like to try it please give a look to
nbspell Git repository
that contains the code and dicts for the new spell(1)!

Video recording (YouTube)
of the talk and slides
are also available!

Portable Hotplugging: NetBSD’s uvm_hotplug(9) API development — Cherry G. Mathew (cherry)

Cherry (cherry) presented recent work done with Santhosh N.
Raju (fox) about

The talk covered most “behind the scenes” work: how TDD (test driven
development) was used, how uvm_hotplug(9) was designed
and implemented (with comparisons to the old implementation),
interesting edge cases during the development and how
was used to do performance testing.

It was very interesting to learn how Cherry and Santhosh worked on that and on
the conclusion Cherry pointed out the importance of using existing Software
Engineering techniques in Systems Programming.

Video recording (YouTube)
and slides (PDF)
of the talk are also available!

Hardening pkgsrc — Pierre Pronchery (khorben)

Pierre (khorben) presented a talk about recent pkgsrc security
features added in the recent months (and most of them also active on the just
released pkgsrc-2017Q3!).

He first introduced how security management and releng is handled
in pkgsrc, how to use
fetch-pkg-vulnerabilities and audit
commands, etc.

Then package signatures (generation, installation) and recent hardening
features in pkgsrc were discussed in details, first introducing them and then
how pkgsrc handles them:

  • SSP: Stack Smashing Protection (enabled via PKGSRC_USE_SSP
    in mk.conf)
  • Fortify (enabled via PKGSRC_USE_FORTIFY in mk.conf)
  • Stack check (enabled via PKGSRC_USE_STACK_CHECK in
  • Position-Independent Executables (PIE) (enabled via PKGSRC_MKPIE
    in mk.conf)
  • RELRO and BIND_NOW (enabled via PKGSRC_USE_RELRO in

Challenges for each hardening features and future works were discussed.

For more information
video recording (YouTube)
slides (PDF)
of the talk are available. A good introduction and reference for all pkgsrc
hardening features is the Hardening
wiki page.

Reproducible builds on NetBSD — Christos Zoulas (christos)

Christos (christos) presented the work about reproducible builds on

In his talk he first provided a rationale about reproducible builds (to learn
more please give a look to!), he
then discussed about the NetBSD (cross) build process, the
current status
and build variations that are done in the
build machines.

Then he provided and described several sources of difference that were present
in non-reproducible builds, like file-system timestamps, parallel builds
headaches due directory/build order, path normalization, etc.
For each of them he also discussed in details how these problems were solved in

In the conclusion the status and possible TODOs were also discussed (please note
that both -current and -8 are all built with
reproducible flags (-P option of!)

Video recording (YouTube)
of Christos’ talk is available. Apart the resources discussed above a nice
introduction to reproducible builds in NetBSD is also the
fully reproducible builds
blog post written by Christos last February!

Social event

The social event on Saturday evening took place on a boat that cruised on
the Seine river.

It was a very nice and different way to sightsee Paris, eat and enjoy some
drinks and socialize and discuss with other developers and community.

Photograph from the boat, taken by Martin.

Sunday (24/09): Second day of conference session

The school of hard knocks – PT1 — Sevan Janiyan (sevan)

Sevan (sevan) presented a talk about several notes and lessons learnt
whilst running tutorials to introduce NetBSD at several events
(OSHUG #46 and
OSHUG #57 and
#58) and experiences from past events
(Chiphack 2013).

He described problems a user may experience and how NetBSD was
introduced, in particular trying to avoid the steep learning curve
involved when experimenting with operating systems as a first step,
exploring documentation/source code, cross-building, scripting in
high-level programming languages
and directly prototyping and getting pragmatic via

Video recording (YouTube)
of Sevan’s talk and slides (HTML) are

The LLDB Debugger on NetBSD — Kamil Rytarowski (kamil)

Kamil (kamil) presented a talk about the recent LLDB debugger and a
lot of other related debuggers (but also
non-strictly-related-to-debugging!) works he’s doing in the last

He first introduced debugging concepts in general, provided several examples and
then he started discussing LLDB porting to NetBSD.

He then discussed about
and other introspection interfaces, the several improvements done and tests
added for ptrace(2) in

He also discussed about tracking LLDB’s trunk (if you are more curious please
give a look to wip/llvm-git,
wip/clang-git, wip/lldb-git packages in pkgsrc-wip!) and about LLVM sanitizers
and their current status in NetBSD.

In the conclusion he also discussed various TODOs in these areas.

Video recording (YouTube)
and slides (HTML)
of Kamil’s talk are available.
Kamil also regularly write status update blog posts on and
tech-toolchain@ mailing
list, so please stay tuned! 🙂

What’s in store for NetBSD 8.0? — Alistair Crooks (agc)

Alistair (agc) presented a talk about what we will see in NetBSD

He discussed about new hardware supported (really “new”, not new “old” hardware!
Of course also support for VAXstation 4000 TURBOchannel USB and GPIO is actually
new hardware as well! :)), LLVM/Clang, virtualization, PGP signing, updated
utilities in NetBSD, new networking features (e.g. bouyer‘s
sockcan implementation), u-boot,
improvements and new ports testing, reproducible builds,
FDT (Flattened Device Tree) and a lot of other news!

The entire presentation was done using the Socratic method (Q&A) and it was
very interactive and nice!

Video recording (YouTube)
and slides (PDF)
of Alistair’s talk are available.

Sunday dinner

After the conference we did some sightseeing in Paris, had a dinner together and
then enjoyed some beers!

Photograph of the Sunday dinner, taken by Martin.

On the left side: abhinav, ast, seb, christos

On the right side: leot, Riastradh, uwe, sevan, agc, sborrill

Photograph of the Sunday dinner, taken by Abhinav.

On the left side: martin, ast, seb, christos

On the right side: leot, Riastradh, uwe, sevan, agc, sborrill


It was a very nice weekend and conference. It is worth to mention that
EuroBSDcon 2017 was the biggest BSD conference (more than 300 people attended it!).

I would like to thank the entire EuroBSDcon organising committee (Baptiste
Daroussin, Antoine Jacoutot, Jean-Sébastien Pédron and Jean-Yves
Migeon), EuroBSDcon programme commitee (Antoine Jacoutot, Lars Engels,
Ollivier Robert, Sevan Janiyan, Jörg Sonnenberger, Jasper Lievisse
Adriaanse and Janne Johansson) and EuroBSDcon Foundation for organizing such a
wonderful conference!

I also would like to thank the speakers for presenting very
interesting talks, all developers and community that attended the
NetBSD devsummit and conference, in particular Jean-Yves and
Jörg, for organizing and moderating the devsummit and
Arolla that kindly hosted us for the
NetBSD devsummit!

A special thanks also to Abhinav (abhinav) and Martin
(martin) for photographs and locals Jean-Yves (jym)
and Stoned (seb) for helping us in not get lost in Paris’
rues! 🙂

Thank you!

Go to Source
Author: Leonardo Taccari

Powered by WPeMatico