1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
1001
1002
1003
1004
1005
1006
1007
1008
1009
1010
1011
1012
1013
1014
1015
1016
1017
1018
1019
1020
1021
1022
1023
1024
1025
1026
1027
1028
1029
1030
1031
1032
1033
1034
1035
1036
1037
1038
1039
1040
1041
1042
1043
1044
1045
1046
1047
1048
1049
1050
1051
|
<?xml version="1.0" encoding="iso-8859-1"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xmlns:db="http://docbook.org/ns/docbook">
<head>
<title>FreeBSD Quarterly Status Report</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<link rel="shortcut icon" href="https://www.FreeBSD.org/favicon.ico" type="image/x-icon" />
<link rel="stylesheet" media="screen,print" href="https://www.FreeBSD.org/layout/css/fixed.css?20130112" type="text/css" />
<script type="text/javascript" href="https://www.FreeBSD.org/layout/js/google.js"></script>
</head>
<body>
<div id="containerwrap">
<div id="container">
<span class="txtoffscreen"><a href="#content" title="Skip site navigation" accesskey="1">Skip site navigation</a> (1)
<a href="#contentwrap" title="Skip section navigation" accesskey="2">Skip section navigation</a> (2)
</span>
<div id="headercontainer">
<div id="header">
<h2 class="blockhide">Header And Logo</h2>
<div id="headerlogoleft">
<a href="../.." title="FreeBSD">
<img src="https://www.FreeBSD.org/layout/images/logo-red.png" width="457" height="75" alt="FreeBSD" />
</a>
</div>
<div id="headerlogoright">
<div class="frontdonateroundbox">
<div class="frontdonatetop">
<div>
<b style="display: none;">.</b>
</div>
</div>
<div class="frontdonatecontent">
<a href="https://www.FreeBSDFoundation.org/donate/">Donate to FreeBSD</a>
</div>
<div class="frontdonatebot">
<div>
<b style="display: none;">.</b>
</div>
</div>
</div>
<h2 class="blockhide">Peripheral Links</h2>
<div id="searchnav">
<ul id="searchnavlist"></ul>
</div>
<div id="search">
<form method="get" id="search-form" action="https://duckduckgo.com/" onsubmit="document.getElementById('words').value+=' (site:www.FreeBSD.org OR site:docs.FreeBSD.org OR site:lists.FreeBSD.org OR site:wiki.FreeBSD.org OR site:forums.FreeBSD.org)'">
<h2 class="blockhide">
<label for="words">Search</label>
</h2>
<input type="hidden" name="ka" value="v" />
<input type="hidden" name="kt" value="v" />
<input type="hidden" name="kh" value="1" />
<input type="hidden" name="kj" value="r2" />
<input id="words" name="q" type="text" size="20" maxlength="255" onfocus="if( this.value==this.defaultValue ) this.value='';" value="Search" />
<span> </span>
<input id="submit" name="submit" type="submit" value="Search" />
</form>
</div>
</div>
</div>
<h2 class="blockhide">Site Navigation</h2>
<div id="menu">
<ul class="first">
<li>
<a href="../../">Home</a>
</li>
</ul>
<ul>
<li>
<a href="../../about.html">About</a>
<ul>
<li>
<a href="../../projects/newbies.html">Introduction</a>
</li>
<li>
<a href="../../features.html">Features</a>
</li>
<li>
<a href="../../advocacy/">Advocacy</a>
</li>
<li>
<a href="../../marketing/">Marketing</a>
</li>
<li>
<a href="../../privacy.html">Privacy Policy</a>
</li>
</ul>
</li>
</ul>
<ul>
<li>
<a href="../../where.html">Get FreeBSD</a>
<ul>
<li>
<a href="../../releases/">Release Information</a>
</li>
<li>
<a href="../../releng/">Release Engineering</a>
</li>
</ul>
</li>
</ul>
<ul>
<li>
<a href="../../docs.html">Documentation</a>
<ul>
<li>
<a href="../../doc/en_US.ISO8859-1/books/faq/">FAQ</a>
</li>
<li>
<a href="../../doc/en_US.ISO8859-1/books/handbook/">Handbook</a>
</li>
<li>
<a href="../../doc/en_US.ISO8859-1/books/porters-handbook">Porter's Handbook</a>
</li>
<li>
<a href="../../doc/en_US.ISO8859-1/books/developers-handbook">Developer's Handbook</a>
</li>
<li>
<a href="//www.FreeBSD.org/cgi/man.cgi">Manual Pages</a>
</li>
<li>
<a href="https://papers.FreeBSD.org">Presentations and Papers</a>
</li>
<li>
<a href="../../doc/en_US.ISO8859-1/books/fdp-primer">Documentation Project Primer</a>
</li>
<li>
<a href="../../docs/books.html">All Books and Articles</a>
</li>
</ul>
</li>
</ul>
<ul>
<li>
<a href="../../community.html">Community</a>
<ul>
<li>
<a href="../../community/mailinglists.html">Mailing Lists</a>
</li>
<li>
<a href="https://forums.FreeBSD.org">Forums</a>
</li>
<li>
<a href="../../usergroups.html">User Groups</a>
</li>
<li>
<a href="../../events/events.html">Events</a>
</li>
<li>
<a href="http://freebsdjournal.com">FreeBSD Journal</a>
</li>
<li>
<a href="http://serverfault.com/questions/tagged/freebsd">Q&A (external)</a>
</li>
</ul>
</li>
</ul>
<ul>
<li>
<a href="../../projects/index.html">Developers</a>
<ul>
<li>
<a href="https://wiki.FreeBSD.org/IdeasPage">Project Ideas</a>
</li>
<li>
<a href="https://cgit.FreeBSD.org">Git Repository</a>
</li>
<li>
<a href="https://svnweb.FreeBSD.org">Subversion Repository</a>
</li>
<li>
<a href="https://github.com/freebsd">GitHub Mirror</a>
</li>
<li>
<a href="https://reviews.FreeBSD.org">Code Review (Phabricator)</a>
</li>
<li>
<a href="https://wiki.FreeBSD.org">Wiki</a>
</li>
<li>
<a href="https://ci.FreeBSD.org">Continuous Integration Service</a>
</li>
</ul>
</li>
</ul>
<ul>
<li>
<a href="../../support.html">Support</a>
<ul>
<li>
<a href="../../commercial/commercial.html">Vendors</a>
</li>
<li>
<a href="../../security/">Security Information</a>
</li>
<li>
<a href="https://bugs.FreeBSD.org/search/">Bug Reports</a>
</li>
<li>
<a href="https://www.FreeBSD.org/support.html">Submitting Bug Reports</a>
</li>
</ul>
</li>
</ul>
<ul>
<li>
<a href="https://www.freebsdfoundation.org/">Foundation</a>
<ul>
<li>
<a href="https://www.freebsdfoundation.org/donate/">Monetary Donations</a>
</li>
<li>
<a href="../../donations/index.html#systems">Hardware Donations</a>
</li>
</ul>
</li>
</ul>
</div>
</div>
<div id="content">
<div id="sidewrap">
<div id="sidenav">
<h2 class="blockhide">Section Navigation</h2>
<ul>
<li>
<a href="../../about.html">About</a>
</li>
<li>
<a href="../../features.html">Features</a>
</li>
<li>
<a href="../../applications.html">Applications</a>
</li>
<li>
<a href="../../advocacy/">Advocacy</a>
</li>
<li>
<a href="../../marketing/">Marketing</a>
</li>
<li>
<a href="../../administration.html">Administration</a>
</li>
<li>
<a href="../../news/newsflash.html">News</a>
</li>
<li>
<a href="../../events/events.html">Events</a>
</li>
<li>
<a href="../../news/press.html">Press</a>
</li>
<li>
<a href="../../multimedia/multimedia.html">Multimedia</a>
</li>
<li>
<a href="../../art.html">Artwork</a>
</li>
<li>
<a href="../../logo.html">Logo</a>
</li>
<li>
<a href="../../donations/">Donations</a>
</li>
<li>
<a href="../../copyright/">Legal Notices</a>
</li>
<li>
<a href="../../privacy.html">Privacy Policy</a>
</li>
</ul>
</div>
</div>
<div id="contentwrap"><h1>EuroBSDcon 2013 Developer Summit Special Status Report</h1><p>This special status report contains a summary of the discussions
from the various working groups at the EuroBSDcon 2013 Developer
Summit. The FreeBSD Project organizes developer summits at various
events, typically at the major BSD conferences, so that developers
can meet and discuss matters in person.</p><hr /><ul><li><a href="#Desktop">Desktop</a></li><li><a href="#Developer-Summit-Track">Developer Summit Track</a></li><li><a href="#DNS">DNS</a></li><li><a href="#Documentation">Documentation</a></li><li><a href="#Embedded-Platforms">Embedded Platforms</a></li><li><a href="#Networking">Networking</a></li><li><a href="#Ports-and-Packages">Ports and Packages</a></li><li><a href="#Security">Security</a></li><li><a href="#Toolchain-and-Build-Systems">Toolchain and Build Systems</a></li><li><a href="#USB">USB</a></li><li><a href="#Vendor-Discussions">Vendor Discussions</a></li><li><a href="#Virtualization">Virtualization</a></li><li><a href="#ZFS">ZFS</a></li></ul><hr /><h2><a name="Desktop" href="#Desktop" id="Desktop">Desktop</a></h2><table title="Links" style="white-space: nowrap;"><tr><td>Links</td></tr><tr><td><a href="https://wiki.freebsd.org/201309DevSummit?action=AttachFile&do=get&target=DesktopWG-Summary.pdf" title="https://wiki.freebsd.org/201309DevSummit?action=AttachFile&do=get&target=DesktopWG-Summary.pdf">Summary</a></td><td>
URL: <a href="https://wiki.freebsd.org/201309DevSummit?action=AttachFile&do=get&target=DesktopWG-Summary.pdf" title="Summary">https://wiki.freebsd.org/201309DevSummit?action=AttachFile&do=get&target=DesktopWG-Summary.pdf</a></td></tr></table><p>
Contact:
Kris
Moore
<<a href="mailto:kmoore@FreeBSD.org">kmoore@FreeBSD.org</a>>
</p>
<p>In the Desktop working group, Kris Moore summarized the changes
made over the last few months in the world of PC-BSD. Builds
based on the freshly released <tt>9.2-RELEASE</tt> are in
progress, and future builds based on <tt>10-STABLE</tt> are
coming soon. The plan there is to track the <tt>10-STABLE</tt>
branch until it becomes <tt>11-STABLE</tt>. Kris also described
the <q>rolling release</q> model they have switched to. This
approach leverages <tt>freebsd-update(8)</tt> to provide rolling
updates for the base system (that is, the kernel and the
userland utilities) and in parallel with that, <tt>pkg(8)</tt>
is employed for the packages, especially for the desktop
applications. It was also reported that the PC-BSD staff has
improved the ZFS integration of their tools, including the
installer. Another highlight of the upcoming PC-BSD releases is
that they will include Gleb Kurtsou's PEFS that provides user
encryption of user home directories with PAM-based
authentication.</p>
<p>Next, the current in-progress items were reported and
discussed. The <tt>sysutils/pcbsd-utils</tt> and
<tt>sysutils/pcbsd-utils-qt4</tt> ports have been recently added
to the ports tree that contain all PC-BSD developed tools and
utilities, where the former features the command-line and the
latter features the GUI-enabled versions of the corresponding
programs. The PC-BSD developers have also been working on a
<q>life-preserver</q> ZFS command-line and GUI utility, which is
still in heavy development. The purpose of these tools to
leverage ZFS for snapshot and replication functionality as a
backup solution.</p>
<p>Finally, the plans for PC-BSD 10 were summarized. The PBI
package format that PC-BSD employs in now under revision and
will be updated to use <tt>pkg(8)</tt> repository to build PBIs
and provide better integration for server PBIs. As part of this
effort, it will also be investigated whether it is possible to
run PBIs without actual installation. <tt>pc-sysinstall</tt>
will have a text-based front-end. This is going to be basic at
first, but later it will provide a command-line interface to do
installation with the <tt>pc-sysinstall</tt> backend.</p>
<hr /><h2><a name="Developer-Summit-Track" href="#Developer-Summit-Track" id="Developer-Summit-Track">Developer Summit Track</a></h2><table title="Links" style="white-space: nowrap;"><tr><td>Links</td></tr><tr><td><a href="http://goo.gl/2EF30C" title="http://goo.gl/2EF30C">Playlist of the talks</a></td><td>
URL: <a href="http://goo.gl/2EF30C" title="Playlist of the talks">http://goo.gl/2EF30C</a></td></tr></table><p>
Contact:
Gábor
Páli
<<a href="mailto:pgj@FreeBSD.org">pgj@FreeBSD.org</a>>
</p>
<p>Since 2011, the FreeBSD Developer Summit Track has become an
essential part of BSDCan and EuroBSDcon conferences. It
provides the developers and community members an opportunity to
tell about their latest projects, brainstorm on solutions to a
hard problem, train attendees to use a new tool, make
observations about a FreeBSD development process and how to improve
it, talk about how their company uses FreeBSD, or coordinate
activities. One can also catch reports from the Google Summer
of Code students at the European instances.</p>
<p>At EuroBSDcon 2013 we had talks on the following topics:
superpages for ARM, an SDIO stack, porting GlusterFS, unattended
encrypted kernel crash dumps, adding Capsicum support for
compression services, an intelligent download management
service, LLDB, improvements in packet forwarding, multipath TCP
support, a FreeBSD-based network simulation environment, and
finally, porting Mirage, an operating system written in the
OCaml functional language, to FreeBSD. The playlist of the talk
recordings (audio with slides and demonstrations) can be found
above at the entry's URL section.</p>
<hr /><h2><a name="DNS" href="#DNS" id="DNS">DNS</a></h2><table title="Links" style="white-space: nowrap;"><tr><td>Links</td></tr><tr><td><a href="https://wiki.freebsd.org/201309DevSummit?action=AttachFile&do=get&target=20130928-eurobsdcon-dns-summary.pdf" title="https://wiki.freebsd.org/201309DevSummit?action=AttachFile&do=get&target=20130928-eurobsdcon-dns-summary.pdf">Summary</a></td><td>
URL: <a href="https://wiki.freebsd.org/201309DevSummit?action=AttachFile&do=get&target=20130928-eurobsdcon-dns-summary.pdf" title="Summary">https://wiki.freebsd.org/201309DevSummit?action=AttachFile&do=get&target=20130928-eurobsdcon-dns-summary.pdf</a></td></tr></table><p>
Contact:
Erwin
Lansing
<<a href="mailto:erwin@FreeBSD.org">erwin@FreeBSD.org</a>>
</p>
<p>FreeBSD 10 is not going to have BIND any more, it is going to
be based on <tt>unbound(8)</tt> and LDNS, both have been
imported into the base system, along with a small
<tt>host(1)</tt> replacement. LDNS also comes with
<tt>drill(1)</tt> that needs a simple wrapper to make it
compatible with the <tt>dig(1)</tt> command-line interface.
OpenSSH can use LDNS for checking SSH fingerprints which also
implies that DNSSEC validation is enabled by default. Note that
<tt>unbound(8)</tt> will be hidden, it will be a local resolver
only. For other purposes, one shall have to install its version
in the Ports Collection instead.</p>
<p>For the next major version, FreeBSD 11, there will be more
time to find an alternative to BIND, so it was also discussed in
the working group what the requirements would be for an ideal
DNS implementation. Based on the results, what we want is a
caching, validating resolver library, which is compartmentalized
by Capsicum, supports per-user policies and integration with the
Casper daemon, BSD-licensed, has a low footprint, fast, and
thread-safe. But the most important factor here is that we want
to standardize the API towards application level, so we can
actually report back to the user on what happens in relation
with DNSSEC operations in an informative way. There have been
many proposals for that, like the get-api from Hoffman, or
draft-hayatnagarkar-dns-ext-validator-api for <tt>libval</tt>,
but it is currently being standardized by members of IETF. What
we want to do is to contact those people and make sure that
FreeBSD 11 will become a standard reference
implementation.</p>
<hr /><h2><a name="Documentation" href="#Documentation" id="Documentation">Documentation</a></h2><table title="Links" style="white-space: nowrap;"><tr><td>Links</td></tr><tr><td><a href="https://wiki.freebsd.org/201309DevSummit?action=AttachFile&do=get&target=DocWGSummaryReport.pdf" title="https://wiki.freebsd.org/201309DevSummit?action=AttachFile&do=get&target=DocWGSummaryReport.pdf">Summary</a></td><td>
URL: <a href="https://wiki.freebsd.org/201309DevSummit?action=AttachFile&do=get&target=DocWGSummaryReport.pdf" title="Summary">https://wiki.freebsd.org/201309DevSummit?action=AttachFile&do=get&target=DocWGSummaryReport.pdf</a></td></tr></table><p>
Contact:
Benedict
Reuschling
<<a href="mailto:bcr@FreeBSD.org">bcr@FreeBSD.org</a>>
</p>
<p>We wanted to try something new this year, so instead of doing a
lot of talk, we focused on doing actual work, and fixing PRs in
collaboration with the attendees who participated the working
group. It turned out that it did not work so well, because we
had a lot of things to discuss, but some issues were fixed
eventually.</p>
<p>There was a huge demand for a new webpage: it has to be more
modern to catch up with the recent trends. It should provide
dynamic content like blogrolls, twitter feeds, etc. Currently,
the problem is that the web site lacks many basic
functionalities, such as the search option is not working
properly. Isabelle Long has been working on integrating the
DuckDuckGo search engine into the web site, and she will
hopefully commit the necessary changes soon. There are other
problems, for example, there is no link to the FreeBSD Forums,
while they have established themselves as another support option
for users.</p>
<p>Then the representatives of the FreeBSD Foundation joined our
group and showed us what they have been working on. They showed
a design proposal for their website. Their suggestion is to
make the FreeBSD Foundation website look similar to the FreeBSD
Project website, so these pages could be connected visually.
Judging from the fancy proposal they have shown us, it will
probably take a lot of infrastructural work to make our website
look closely to the Foundation's. As a result, we agreed to
form a team for the new website, assembled from Project members
internally, to ensure that the new design satisfies expectations
from all sides, e.g., administration, functionality, security,
and so on.</p>
<p>Another thing that we have talked about was the on-going print
edition work of the FreeBSD Handbook. We have promised to complete
the effort by BSDCan this year, but apparently we could not make
it in time. Dru Lavigne went through the whole Handbook and
identified many problems to solve (outdated content, unrelated
sections, etc.) in order to have really good content ready for
the printed edition. We need more content and reviewers, so if
you are looking through the Handbook and meet an outdated
section, please contact the Documentation Team. You do not have
to send patches right away, it is enough to provide a few
sentences or a paragraph only to improve or add the description
for the given system functionality. The Documentation Team will
then take care of putting them in the Handbook or the relevant
documents.</p>
<p>We also discussed the idea of having maintainers assigned to
specific sections and chapters of the Handbook, similarly to the
policy implemented in the Ports Collection, so users and related
PRs can be forwarded to them, and the maintainers take care of
keeping those areas in the documentation up-to-date. The goal
is to reduce the overall workload on the Documentation Team.</p>
<p>Finally, it was mentioned at the vendor group that we want to
revamp our actual workflow for translating documents. We are
currently doing the translation work by using a standard editor
translating sentence by sentence, which is tedious. In addition
to that, most of the translator teams are really small, so it is
hard for them to catch up with the changes in the English
documents and they become outdated quickly. We have briefly
talked with Gavin Atkinson about removing really outdated
documentation from the <tt>doc</tt> tree, like the ones who are
still reflecting FreeBSD 5.x or so. In summary, the main
objective is to have a system that helps by keeping track of
translations, like the PC-BSD developers are doing: we are aware
that Kris Moore has written some scripts to extend the standard
tools like Pootle to improve their efficiency. It would be a
huge win to see how many sentences are already translated, how
many are left to translate, how many of them could be reused
using such a system. Another benefit of these systems is that
they can provide an interface for casual contributors to provide
translations which can be then checked and committed by the
documentation developers.</p>
<hr /><h2><a name="Embedded-Platforms" href="#Embedded-Platforms" id="Embedded-Platforms">Embedded Platforms</a></h2><table title="Links" style="white-space: nowrap;"><tr><td>Links</td></tr><tr><td><a href="https://wiki.freebsd.org/201309DevSummit?action=AttachFile&do=get&target=Embedded-devsummit-201309.pdf" title="https://wiki.freebsd.org/201309DevSummit?action=AttachFile&do=get&target=Embedded-devsummit-201309.pdf">Summary</a></td><td>
URL: <a href="https://wiki.freebsd.org/201309DevSummit?action=AttachFile&do=get&target=Embedded-devsummit-201309.pdf" title="Summary">https://wiki.freebsd.org/201309DevSummit?action=AttachFile&do=get&target=Embedded-devsummit-201309.pdf</a></td></tr><tr><td><a href="https://wiki.freebsd.org/201309DevSummit/Embedded" title="https://wiki.freebsd.org/201309DevSummit/Embedded">Notes</a></td><td>
URL: <a href="https://wiki.freebsd.org/201309DevSummit/Embedded" title="Notes">https://wiki.freebsd.org/201309DevSummit/Embedded</a></td></tr><tr><td><a href="https://wiki.freebsd.org/201308DevSummit/Embedded" title="https://wiki.freebsd.org/201308DevSummit/Embedded">Cambridge notes</a></td><td>
URL: <a href="https://wiki.freebsd.org/201308DevSummit/Embedded" title="Cambridge notes">https://wiki.freebsd.org/201308DevSummit/Embedded</a></td></tr></table><p>
Contact:
Warner
Losh
<<a href="mailto:imp@FreeBSD.org">imp@FreeBSD.org</a>>
<br />
Contact:
Brooks
Davis
<<a href="mailto:brooks@FreeBSD.org">brooks@FreeBSD.org</a>>
</p>
<p>The discussion on embedded platforms was started in Cambridge a
month earlier, where it was kicked off with a presentation by
BrilliantService on their Viking operating system for a head
mount augmented reality display. We then had a discussion of
board bringup and the related topic of kernel minimization.
This was followed by a long discussion of system image creation
and what is required to promote some embedded platforms to
Tier-1 status. Finally, we discussed power management.</p>
<p>The discussion of Tier-1 status for embedded platforms,
particularly Raspberry-Pi, identified a number of things required
to make this possible. In addition to some driver improvements
and stabilization efforts, we need to build images as part of,
or derived from the products of the current release build
process. We also need to be building packages (Stacey Son is
working on making this happen for ARM and MIPS64). We will also
need some form of binary updates. Initially this will probably
be done via <tt>freebsd-update(8)</tt>, but in the long term this
will likely be too slow to be practical. Further discussion of
this topic was a major thread at the EuroBSDCon developer
summit.</p>
<p>The power management discussion was wide ranging and concluded
that we do need better power management infrastructure and that we
are not entirely sure what that looks like. We certainly do
need some way to represent the power management bus/device trees
that differ from the conventional models of attachment in our
device infrastructure. We also need smarter scheduling to allow
us to do things like steer all interrupts away from certain
cores so they can be shut all the way down.</p>
<p>In Malta, the first thing we talked about was trying to get
better goals, use cases for the external toolchain support so that
we have the work done by FreeBSD 11, where any architecture
that supports can be built by using external toolchains. We
talked about different ways for an architecture that does not
have support for a native toolchain to work in the QEMU-based
package building infrastructure. By FreeBSD 11, we also want
to make sure that it was all well-documented so that users will
know what is and what is not supported on a given platform.</p>
<p>Next, we had a long discussion about the auto tuning changes
that Alfred Perlstein did recently. They are great for machines
with a gigabyte or more memory, but they are bad for machines
that almost have no memory, so Adrian Chadd has volunteered to
fix this (see the slides for more details).</p>
<p>We talked a lot about what to do around the ARM port in
FreeBSD 11, and we have set some goals for 11 in this area.
Some of the highlights are as follows. We want to have the
ability to boot one kernel on any <tt>armv6</tt> platform
— currently there are a number technical roadblocks to
that. We want to keep the <tt>armv4</tt> and <tt>armv5</tt>
support in 11 until there is some particular reason not to do
that. One of the biggest tasks probably, since we are moving to
Clang, would be the external toolchain item. Besides that, the
<tt>armv6</tt> will grow hardware floating-point support, we are
hoping to have Symmetric Multi-Processing (SMP). And we talked
rather extensively about some of the release engineering tasks
we will have to do: we need to have images for popular boards,
such as Raspberry Pi and BeagleBoard. We would like to have
some work done in this area in the 10.1 timeframe. We want to
get packages spun up for ARM and MIPS, as well as setting the
infrastructure up for <tt>freebsd-update(8)</tt>. It was also
briefly mentioned that there is no good GPU support on ARM right
now, and that is on the FreeBSD side. We need a strategy that has
the least disadvantages, which might be adopting the Android ABI
and let the Android blobs to be dropped in. There are a number
of challenges in this case.</p>
<p>In addition to that, we talked about MIPS and various FDT
issues. The key problems for the latter were that we need
better clock and power support and there are separate
<q>domains</q> from the device tree, and they need to be
treated as such. Also, GPIO and pinmux are inconsistent
between the different releases, we need to fix that. We also
talked about Arm64, where there are lot of things to do. The key
though is find out (with the assistance of the FreeBSD Foundation)
who is interested in Arm64 among the vendors and how to
collaborate with them. Since the Foundation has the contacts
and the related NDAs to the largest consumers, probably they are
in the best position to drive this effort. Together with the
Semihalf people and the ARM representative at the summit, Andrew
Wafaa, we have conluded that Arm64 support is not far away from
the things we have now support for in the kernel. It turned out
that it is mostly about how we organize the source tree and
similar minor issues.</p>
<hr /><h2><a name="Networking" href="#Networking" id="Networking">Networking</a></h2><table title="Links" style="white-space: nowrap;"><tr><td>Links</td></tr><tr><td><a href="https://wiki.freebsd.org/201309DevSummit/Networking" title="https://wiki.freebsd.org/201309DevSummit/Networking">Notes</a></td><td>
URL: <a href="https://wiki.freebsd.org/201309DevSummit/Networking" title="Notes">https://wiki.freebsd.org/201309DevSummit/Networking</a></td></tr></table><p>
Contact:
Lawrence
Stewart
<<a href="mailto:lstewart@FreeBSD.org">lstewart@FreeBSD.org</a>>
<br />
Contact:
Gleb
Smirnoff
<<a href="mailto:glebius@FreeBSD.org">glebius@FreeBSD.org</a>>
</p>
<p>André Oppermann gave a status report on his current work on the
interface between the network stack and the drivers. He is
planning to publish a formal documentation on the stack-driver
boundary and split the <tt>ifnet</tt> structure into separate,
stack- and driver-owned sections. All drivers will be adjusted
to this new world order, and a call for feedback will be posted
to the respective mailing lists. This change is being
implemented in the <tt>projects/ifq</tt> Subversion branch,
supervised by Ed Maste on behalf of the FreeBSD Foundation as
sponsor. André is close to completing his TCP-AO work, and
working on moving the IPsec code into a <tt>pfil(9)</tt>-based
kernel module. Gleb Smirnoff came up with the problem of
implementing a lightweight reference counting to avoid dangling
pointers, and Alexander Chernikov started a discussion on the
routing performance.</p>
<p>Another highlight of the networking stack working group was the
discussion on testing, where everybody agreed that developers
should communicate with companies able to test the performance
with different workloads. Olivier Cochard-Labbé (from Orange)
and Alexander Chernikov (from Yandex) have already shown
interest in this effort, while the Netflix staff (Lawrence
Stewart, Adrian Chadd, and Scott Long) confirmed that they have
access to a TCP-heavy production workload. On a related note,
it was added that Netflix is looking to host developer summits
focused on networking in Los Gatos, California, on a
semi-regular basis.</p>
<hr /><h2><a name="Ports-and-Packages" href="#Ports-and-Packages" id="Ports-and-Packages">Ports and Packages</a></h2><table title="Links" style="white-space: nowrap;"><tr><td>Links</td></tr><tr><td><a href="https://wiki.freebsd.org/201309DevSummit?action=AttachFile&do=get&target=20130928-eurobsdcon-ports-summary.pdf" title="https://wiki.freebsd.org/201309DevSummit?action=AttachFile&do=get&target=20130928-eurobsdcon-ports-summary.pdf">Summary</a></td><td>
URL: <a href="https://wiki.freebsd.org/201309DevSummit?action=AttachFile&do=get&target=20130928-eurobsdcon-ports-summary.pdf" title="Summary">https://wiki.freebsd.org/201309DevSummit?action=AttachFile&do=get&target=20130928-eurobsdcon-ports-summary.pdf</a></td></tr><tr><td><a href="https://wiki.freebsd.org/201309DevSummit/Ports" title="https://wiki.freebsd.org/201309DevSummit/Ports">Notes</a></td><td>
URL: <a href="https://wiki.freebsd.org/201309DevSummit/Ports" title="Notes">https://wiki.freebsd.org/201309DevSummit/Ports</a></td></tr></table><p>
Contact:
Erwin
Lansing
<<a href="mailto:erwin@FreeBSD.org">erwin@FreeBSD.org</a>>
</p>
<p>We had one full presentation by Allan Jude, a quick overview of
what they did for the PC-BSD CDN (Content Delivery Network).
For example, it uses the <tt>--delay-update</tt> flag for
<tt>rsync(1)</tt> to make it more atomic, uses a lot of ZFS
functions (e.g., replication, snapshot management) and
implements automatic mirror selection. It was a quite
interesting talk, and featured some interesting ideas that we
could pick and use for the FreeBSD package distribution network.
This was then followed by a talk by Jeremy Le Hen, who talked
about stack protection (SSP). It will be enabled by default in
FreeBSD 10.x on amd64 and i386 platforms, but can be turned
off by the <tt>SSP_UNSAFE</tt> knob. Conversely, it is not
enabled by default on 9.x, but can be turned on by the other
knob, <tt>WITH_SSP_PORT</tt>. This should work on amd64, and it
has no effect on i386.</p>
<p>Baptiste Daroussin talked about staged installs which was
committed recently. Every other package system does that, now we
do it as well. It brings a lot of improvements, such as we can
catch packaging list errors earlier, before the package is
actually installed on the file system. There the
<tt>NEED_ROOT</tt> knob can be used if a port requires root
privileges for building and packaging. It also simplifies most
of the logic employed at the build farms, because many of the
checks can be automated this way, catching broken plists and
helping to get rid of the special <tt>post-install</tt> scripts.
It lays the foundation for some new features we want to add in
the future, for example implementing sub-packages. Having
sub-packages enables building packages once and putting files
into separate smaller packages which can be then installed
individually. Compared to all the other options, it is turned
off by default, and ports are slowly converted to this format
one by one — however, at some point, we might say that
ports not converted to support staging will be removed.
Actually, this would help us find out which ports in the tree
are not used any more.</p>
<p>Then there was a discussion about what to do next. We have
been talking about package sets for at least three years now, it
seems we are finally able to do it. We are going to try to do a
security branch, together with reviving the ports security team,
in cooperation with the Security Officer, Dag-Erling Smørgrav.
We are aiming for quarterly releases and weekly security updates
for those releases in the security branch. This has been an
ongoing plan for three years, because we needed many things to
happen before we could proceed, such as moving away from CVS,
introducing new-style binary packages, deploying new build
clusters. We have finally got them all, and we can actually do
it now with the <tt>pkg-test</tt> setup. So, we are hoping to
start with the first quarterly release in early November.</p>
<p>We had a long discussion about removing support for old-style binary
packages now that we have <tt>pkg(8)</tt>. Staying compatible with
<tt>pkg_install(1)</tt> hinders the introduction of new features, e.g.,
sub-packages mentioned above. We cannot really add those new features
as the old tools will not support them and we cannot expect ports to
work with two different package formats at the same time. We
do not want to surprise our users too much, but it turns out there is
an easy migration path. Among many others, an advantage of
<tt>pkg(8)</tt> that it can interoperate with various
third-party applications, e.g., puppet and chef. It is still a POLA
violation, so we should be careful of how the actual transition is
made. We should give a lot of warning to the users, specially in case
of large installations, where there are custom scripts to work with
ports and packages. The date for throwing the switch has been
set for six months, that is, April 2014, which fits nicely with
the End-of-Life date of 8.3-RELEASE, the last release that does
not include <tt>pkg(8)</tt>. So, at BSDCan next year, we can
hopefully celebrate the switch from <tt>pkg_install(1)</tt>.</p>
<p>Finally, we discussed issues related to package naming. The
problem is that certain ports have the same name and they rely
on this, so currently we have <tt>LATEST_LINK</tt> to work
around this behavior. We should educate people to make better
use of <tt>PKGNAMESUFFIX</tt> to make sure that all affected
ports have a unique name. To encourage this, we should set up
automated checking to warn people about having packages of the
same name. <tt>PKGNAME</tt> must be unique across categories,
so when one uses <tt>pkg-add(8)</tt>, the system has to know
which package to choose for install. This will improve things
for better handling of options, adding package flavors and
implementing sub-packages.</p>
<hr /><h2><a name="Security" href="#Security" id="Security">Security</a></h2><table title="Links" style="white-space: nowrap;"><tr><td>Links</td></tr><tr><td><a href="https://wiki.freebsd.org/201309DevSummit?action=AttachFile&do=get&target=201309+DevSummit+Security+Report.pdf" title="https://wiki.freebsd.org/201309DevSummit?action=AttachFile&do=get&target=201309+DevSummit+Security+Report.pdf">Summary</a></td><td>
URL: <a href="https://wiki.freebsd.org/201309DevSummit?action=AttachFile&do=get&target=201309+DevSummit+Security+Report.pdf" title="Summary">https://wiki.freebsd.org/201309DevSummit?action=AttachFile&do=get&target=201309+DevSummit+Security+Report.pdf</a></td></tr><tr><td><a href="https://wiki.freebsd.org/201309DevSummit/Security" title="https://wiki.freebsd.org/201309DevSummit/Security">Notes</a></td><td>
URL: <a href="https://wiki.freebsd.org/201309DevSummit/Security" title="Notes">https://wiki.freebsd.org/201309DevSummit/Security</a></td></tr></table><p>
Contact:
Dag-Erling
Smørgrav
<<a href="mailto:des@FreeBSD.org">des@FreeBSD.org</a>>
</p>
<p>In the security working group, we had four items in the agenda.
First of all, we started with the current state of
<tt>/dev/random</tt>. There were a number of known entropy
harvesting bugs that have been fixed, for example feeding a lot of
zeroes from the network stack. We have a pluggable random
generator framework and we have a number of plugins for it,
Yarrow is one, and the RDRAND, Padlock are two others, we have
one that blocks and one that panics, and few coding examples and
so on. For 10, we are going to backtrack and remove RDRAND and
Padlock backends and feed them into Yarrow instead of delivering
their output directly to <tt>/dev/random</tt>. It will still be
possible to access hardware random number generators, that is,
RDRAND, Padlock etc., directly by inline assembly or by using
OpenSSL from userland, if required, but we cannot trust them any
more. In addition to this, we want to collect more entropy
early in the boot process, because we want to get rid of the
<tt>initrandom</tt> script that feeds mostly static data into
<tt>/dev/random</tt> and pretends that is actually entropy,
when it is not. Pawel Jakub Dawidek has a patch which has been
floating around and doing some analysis on this, we finally got
some numbers for it. This patch feeds the amount of time it
takes to attach a device into <tt>/dev/random</tt> and it turns
out that one can get about 4 good bits of entropy from each
device. Also, we should have the installer fill up the
<tt>/entropy</tt> file on the newly installed system, so we have
something when the system starts up for the first time. And
there is also the matter of (especially with virtualization and
cloning, which is becoming more and more common) ensuring that
the clones diverge quickly enough. As an example, we discussed
having the installer generate SSH keys. But a problem is that if
you install a VM and it generates the SSH keys, and then it is
cloned, all the instances will have the same keys. So when the
individual VMs are started and they do not have enough entropy
harvesting early in the boot process, then keys are generated
based on the entropy that the installer has dumped during the
installation process, which is as almost as bad. The device
attach patch helps with that.</p>
<p>The next item was package signing. We have a short-term
solution for 10 until a more professional one is developed. In
this design, the package builders do not have the keys, instead
they submit hashes to a signing server after they are done, and
the signing server returns the signature. We are simply going
to ship the fingerprints with the base system under
<tt>/etc/pkg/fingerprints</tt>. If we need to revoke a key, or
distribute a new key, we will just issue a new FreeBSD Security
Advisory (which should be done anyway), and will have
<tt>freebsd-update(8)</tt> distribute an update that moves
the key from the <tt>trusted</tt> directory to the
<tt>revoked</tt> directory and adds the new key to the
<tt>trusted</tt> directory. When launched, <tt>pkg(8)</tt>
looks into those directories, loads all the keys it finds, and
will accept a packages if it is signed by at least one good key
and no revoked keys.</p>
<p>Package signing was followed by mitigation by Sofian Brabez.
He has stackgap optimization and <tt>mmap()</tt> randomization
ready to be included in 10, but turned off by default. Stackgap
randomization adds a random amount of empty space at the top of
the stack, so that an attacker cannot just make assumptions
about the actual stack layout of the applications in case of
buffer overflows. The problem with stackgap randomization is
programs like Varnish, that have many threads and therefore very
small stacks in order to avoid running out of stack space, will
run out of stack space. This is because stackgap randomization
will increase the size of the stacks. <tt>mmap()</tt>
randomization inserts a random gap between consecutive mappings
for the same purpose. Stack protection (SSP) can now be enabled
by default. The problem is if it is turned on by default, a lot
of ports will break. It is because GCC includes an additional
object file during linking for checking the canary words, and
this apparently interferences the way some ports build.
<tt>libc</tt> is now a linker script and not just a <tt>.so</tt>
file, therefore the linker will always know how to handle this.
<tt>ldbase</tt> randomization was also discussed, but it has not
been implemented. It randomizes where the libraries are loaded
by the run-time linker.</p>
<p>The final item on the agenda was VuXML and <tt>portaudit</tt>. We
have a number of shortcomings with VuXML. One of them is that the
<tt>portaudit</tt> tool is based on string matching which is
unreliable, especially when we have ports that are renamed and
multiple ports, different versions of the same software. In addition,
there are many errors in the actual data, especially a very
common error is to have <tt>></tt> instead of <tt>>=</tt>.
Also, the auditing tools do not verify the base system version.
We have VuXML entries for Security Advisories but they are
unused because of this. One of the reasons for that is that the kernel
patch level does not necessarily reflect the patch level of the
userland, because <tt>freebsd-update(8)</tt> does not update the
kernel patch level unless the actual update affects the kernel. So
we are going to start including CPE information in ports. That is the
Common Platform Enumeration, and that is a NIST standard for uniquely
identifying software packages, versions, variances, even port
revisions. The point of using CPEs is that it is unique, not
tied to the name of the port so we can have multiple ports with
the same CPE without any trouble. We will store it as
annotations for <tt>pkg(8)</tt> packages. CPEs published by
NIST can be simply pushed directly to VuXML and we do not have
to do the matching ourselves any more. The specification of CPE
includes a matching algorithm and is shipped with a reference
implementation. FreeBSD 10 is going to install a script under
<tt>/libexec</tt> that prints the userland patch level, and
<tt>freebsd-update(8)</tt> will update that script so it will be
possible to verify the userland patch level as well.</p>
<hr /><h2><a name="Toolchain-and-Build-Systems" href="#Toolchain-and-Build-Systems" id="Toolchain-and-Build-Systems">Toolchain and Build Systems</a></h2><table title="Links" style="white-space: nowrap;"><tr><td>Links</td></tr><tr><td><a href="https://wiki.freebsd.org/201309DevSummit?action=AttachFile&do=get&target=toolchain-and-build-eurobsdcon2013.pdf" title="https://wiki.freebsd.org/201309DevSummit?action=AttachFile&do=get&target=toolchain-and-build-eurobsdcon2013.pdf">Summary</a></td><td>
URL: <a href="https://wiki.freebsd.org/201309DevSummit?action=AttachFile&do=get&target=toolchain-and-build-eurobsdcon2013.pdf" title="Summary">https://wiki.freebsd.org/201309DevSummit?action=AttachFile&do=get&target=toolchain-and-build-eurobsdcon2013.pdf</a></td></tr><tr><td><a href="https://wiki.freebsd.org/201309DevSummit/ToolchainAndBuild" title="https://wiki.freebsd.org/201309DevSummit/ToolchainAndBuild">Notes</a></td><td>
URL: <a href="https://wiki.freebsd.org/201309DevSummit/ToolchainAndBuild" title="Notes">https://wiki.freebsd.org/201309DevSummit/ToolchainAndBuild</a></td></tr><tr><td><a href="https://wiki.freebsd.org/201308DevSummit/ToolchainAndBuild" title="https://wiki.freebsd.org/201308DevSummit/ToolchainAndBuild">Cambridge notes</a></td><td>
URL: <a href="https://wiki.freebsd.org/201308DevSummit/ToolchainAndBuild" title="Cambridge notes">https://wiki.freebsd.org/201308DevSummit/ToolchainAndBuild</a></td></tr><tr><td><a href="https://wiki.freebsd.org/GPLinBase" title="https://wiki.freebsd.org/GPLinBase">Roadmap</a></td><td>
URL: <a href="https://wiki.freebsd.org/GPLinBase" title="Roadmap">https://wiki.freebsd.org/GPLinBase</a></td></tr></table><p>
Contact:
Brooks
Davis
<<a href="mailto:brooks@FreeBSD.org">brooks@FreeBSD.org</a>>
</p>
<p>The discussions on toolchains and build systems in Malta
started a month earlier in Cambridge. There, the main themes
were source code analysis, the status of replacing GCC, and a
discussion of packaging the base system. Notes on these and
other topics can be found on the session page on the wiki.</p>
<p>Source code analysis took several directions. We discussed
adding annotations to the source tree to support various advanced
analysis tools. There was general agreement that this has some
downsides if they get out of date, but that it is useful so long
as the annotations are verified. Most proposed annotation
require some sort of LLVM support, so we discussed the process of
integrating LLVM analysis into the build framework. We also
discussed the idea of running various analysis tools as part of
the tinderbox framework.</p>
<p>In the context of replacing GCC, we discussed David Chisnall's
plan to stop building GCC and <tt>libstdc++</tt> on systems where
Clang is the default compiler (this has happened). Further, we
plan to migrate all existing platforms to Clang or an external
GCC by 11. External toolchain support currently works with
Clang, but not GCC.</p>
<p>Finally, Baptiste Daroussin discussed his proposal to package
base with packages as a replacement for the current tarballed
distributions. Once this is done, it is possible to do the tasks
<tt>freebsd-update(8)</tt> does including upgrades and detecting
changed files in a more operating-friendly way. Using
<tt>pkg(8)</tt> as a replacement for <tt>freebsd-update(8)</tt>
is not a general solution yet, as package signing and delta
support is required to make it viable.</p>
<p>In Malta we covered two main topics: the overall status of
non-permissively licensed (GPL-licensed) software in the base
system, and a detailed discussion of the status of external
toolchain support. We also decided that a future meeting should
discuss making incremental builds practical and that we should
run a working group specifically on the kernel build system at a
future conference.</p>
<p>About half the meeting was consumed by a detailed walkthrough
of the <tt>GPLinBase</tt> wiki page (see links). A number of
areas need modest amounts of work and <tt>binutils</tt>
replacement needs quite a bit. In practice, we believe we have
most of the required pieces in either the ELF Toolchain project
or LLVM, but the work of identifying pieces and testing them
with base and ports will take some time.</p>
<p>We then discussed the status of Warner Losh's work on adding
support for GCC to the external toolchain infrastructure and on
upstreaming patches to GCC. Fortunately, the majority of our
changes to GCC in base are x86 modernization which is no longer
required in new releases. In practice, we have about 2000 lines
of changes that should be merged and a few hundred more we
should add to cross toolchain ports. In addition to creating a
modern cross GCC, the external toolchain support needs work due
to differences in support for <tt>-B</tt> and possibly
<tt>--sysroot</tt> between Clang and GCC. Further discussions
of external toolchain support occurred in the Embedded
session.</p>
<hr /><h2><a name="USB" href="#USB" id="USB">USB</a></h2><table title="Links" style="white-space: nowrap;"><tr><td>Links</td></tr><tr><td><a href="https://wiki.freebsd.org/201309DevSummit?action=AttachFile&do=get&target=DevSummitUSB2013Status.pdf" title="https://wiki.freebsd.org/201309DevSummit?action=AttachFile&do=get&target=DevSummitUSB2013Status.pdf">Summary</a></td><td>
URL: <a href="https://wiki.freebsd.org/201309DevSummit?action=AttachFile&do=get&target=DevSummitUSB2013Status.pdf" title="Summary">https://wiki.freebsd.org/201309DevSummit?action=AttachFile&do=get&target=DevSummitUSB2013Status.pdf</a></td></tr><tr><td><a href="https://wiki.freebsd.org/201309DevSummit?action=AttachFile&do=get&target=DevSummitUSB2013.pdf" title="https://wiki.freebsd.org/201309DevSummit?action=AttachFile&do=get&target=DevSummitUSB2013.pdf">Notes</a></td><td>
URL: <a href="https://wiki.freebsd.org/201309DevSummit?action=AttachFile&do=get&target=DevSummitUSB2013.pdf" title="Notes">https://wiki.freebsd.org/201309DevSummit?action=AttachFile&do=get&target=DevSummitUSB2013.pdf</a></td></tr></table><p>
Contact:
Hans-Petter
Selasky
<<a href="mailto:hselasky@FreeBSD.org">hselasky@FreeBSD.org</a>>
</p>
<p>In the USB working group, Hans-Petter Selasky summarized what
happened to FreeBSD's USB stack during the last year. He
mentioned that there were no serious issues, while the USB
driver support improved on both device and controller fronts.
He also noted that many systems have started to use the USB
stack itself outside the FreeBSD kernel, for example DragonFly BSD.
Hans-Petter briefly walked through the list of ideas on how to
improve USB support further: he wants to import more Linux USB
serial port and Ethernet device drivers into userspace, which
can be then accessed through his <tt>webcamd(8)</tt> daemon,
move the NDIS (Ethernet and wireless) USB wrapper to userspace,
and implement emulation of the Linux USB file system at
character device level via the Cuse4BSD-based daemon, also in
userspace.</p>
<p>The summary was followed by the discussion of how to fix the
detach issues experienced in case of USB wireless and Ethernet
devices, initiated by Adrian Chadd. In addition to that, some
DWC OTG were discussed, such as the need for implementing DMA
support and expose it to more testing for all device speeds, not
only for Ethernet and memory sticks.</p>
<hr /><h2><a name="Vendor-Discussions" href="#Vendor-Discussions" id="Vendor-Discussions">Vendor Discussions</a></h2><table title="Links" style="white-space: nowrap;"><tr><td>Links</td></tr><tr><td><a href="https://wiki.freebsd.org/201309DevSummit?action=AttachFile&do=get&target=20130928-eurobsdcon-vendor-summary.pdf" title="https://wiki.freebsd.org/201309DevSummit?action=AttachFile&do=get&target=20130928-eurobsdcon-vendor-summary.pdf">Summary</a></td><td>
URL: <a href="https://wiki.freebsd.org/201309DevSummit?action=AttachFile&do=get&target=20130928-eurobsdcon-vendor-summary.pdf" title="Summary">https://wiki.freebsd.org/201309DevSummit?action=AttachFile&do=get&target=20130928-eurobsdcon-vendor-summary.pdf</a></td></tr></table><p>
Contact:
Erwin
Lansing
<<a href="mailto:erwin@FreeBSD.org">erwin@FreeBSD.org</a>>
</p>
<p>First, Justin Gibbs, on behalf of the FreeBSD Foundation, gave a
status update. A major change was that previously we had only a
single part-time employee, Deb Goodkin. Now we have a two
full-time technical staff members involved in some of the
current projects, such as Kostik Belousov who is still working
on improving our X.org support. They are also helping out with
improving continuity within different teams like the Release
Engineering Team and the Security Team. We also employed Glen
Barber as a system administrator who is working with the FreeBSD
cluster administrators to supervise the Project's machines, and
he is also helping out with release engineering. Ed Maste has
been employed part-time as a project manager to oversee the
progress of the Foundation-sponsored projects. But we are
hoping to get more people involved, especially on the sides of
administration and marketing.</p>
<p>We had a presentation by Daichi Goto about his company in
Japan, called BSD Consulting, Inc. He consulted for a company
where he wanted to solve problems using FreeBSD but the company did
not allow him to do that as they could not get commercial
support for FreeBSD. So he started his own company solely for this
purpose, which for example, includes hardware certification.</p>
<p>There was a discussion revolving around that current status of
our documentation and web site, especially in Japan, where most
of the people do not speak English very well. In the rest of
the time we had a long but fruitful discussion about smaller
projects, for example incorporating more bug fixes related to
Infiniband into releases. In general, it would be useful to
backport not only security fixes but major fixes and release
backported erratas for the releases. Then we talked about
nanobsd support, making it more visible and accessible to the
potential users. Next, we talked about promoting ARM and MIPS
platforms to Tier-1, providing more translated documents and
testimonials, documentation to attract news users for FreeBSD and
reach out for them: how to write problem reports, debug the
kernel, etc. In connection to that, PR triage was also
mentioned, where the goal is to provide an answer for every
incoming bug report in a couple of days. As usual, Java was
also on the menu, where it seems they are swinging back to
OpenJDK being the default in 1.8.</p>
<hr /><h2><a name="Virtualization" href="#Virtualization" id="Virtualization">Virtualization</a></h2><table title="Links" style="white-space: nowrap;"><tr><td>Links</td></tr><tr><td><a href="https://wiki.freebsd.org/201309DevSummit?action=AttachFile&do=get&target=eurobsdcon_summary.pdf" title="https://wiki.freebsd.org/201309DevSummit?action=AttachFile&do=get&target=eurobsdcon_summary.pdf">Summary</a></td><td>
URL: <a href="https://wiki.freebsd.org/201309DevSummit?action=AttachFile&do=get&target=eurobsdcon_summary.pdf" title="Summary">https://wiki.freebsd.org/201309DevSummit?action=AttachFile&do=get&target=eurobsdcon_summary.pdf</a></td></tr><tr><td><a href="https://wiki.freebsd.org/201309DevSummit/Virtualization" title="https://wiki.freebsd.org/201309DevSummit/Virtualization">Notes</a></td><td>
URL: <a href="https://wiki.freebsd.org/201309DevSummit/Virtualization" title="Notes">https://wiki.freebsd.org/201309DevSummit/Virtualization</a></td></tr></table><p>
Contact:
Peter
Grehan
<<a href="mailto:grehan@FreeBSD.org">grehan@FreeBSD.org</a>>
</p>
<p>In the virtualization working group, Peter Grehan gave a status
report. In FreeBSD 10, a lot of pieces of work have been
going on for the last two years, so we are slowly getting the
guest support of Xen, PHVM, Hyper-V drivers, and
<tt>bhyve(4)</tt> into 10.0-RELEASE. We talked a little bit
about the <tt>bhyve(4)</tt> <q>memory overcommit</q> work that
Neel has been doing for a quite long time, but we are hoping
that it will get into 10 as well. It gives much better
integration with management of guest memory, with the FreeBSD
Virtual Memory subsystem, so we can actually page guest memory
to swap. Some of the future directions for the
<tt>bhyve(4)</tt> work has also been discussed: we want to shift
away from the user-space boot loader, and use the BSD-licensed
UEFI code from Intel as a boot ROM, we want to have more Windows
guest support at some point, and getting the ability to suspend
and resume the guests, which eventually leads to adding support
for live migration.</p>
<hr /><h2><a name="ZFS" href="#ZFS" id="ZFS">ZFS</a></h2><table title="Links" style="white-space: nowrap;"><tr><td>Links</td></tr></table><p>
Contact:
Martin
Matuška
<<a href="mailto:mm@FreeBSD.org">mm@FreeBSD.org</a>>
<br />
Contact:
Matthew
Ahrens
<<a href="mailto:mahrens@delphix.com">mahrens@delphix.com</a>>
</p>
<p>For starting up, Justin Gibbs gave an overview of shingled media
which is a new technology that is coming from the hardware
vendors. We talked about some performance issues with that,
came up with some simple ideas of how to make sure that
everything can take advantage of this, or actually not to have
bad performance when not deleting, just overwriting the data.
We finally came to the conclusion that it is probably very hard
to do better than that.</p>
<p>Then a status report of ZFS on other platforms besides FreeBSD and
Illumos was given. On Linux, it basically works, it is being
actively developed, it is in the kernel. On Mac OS X, it is
quite immature, but there is a lot of work going on there. On
Oracle Solaris, they are still working on ZFS but probably we
will never see source code from them.</p>
<p>We talked about creating a common, cross-platform code
repository for ZFS that all the platforms would pull code from.
The idea here is that all the platforms available would get the
platform-independent code from there verbatim, so getting
changes into all platforms is much easier. This would not
include things like the ZPL, which need to interface with each
platform-specific VFS layer, but that would reduce the hackiness
of the Solaris Porting Layer that is in FreeBSD and Linux while
adding a little bit of porting layer to Illumos. We talked
about how we should stage this work and we decided we definitely
want to try to include the Linux developers from the beginning
rather than doing just Illumos plus FreeBSD and then tacking on the
Linux layer.</p>
<p>Next, we talked about test coverage and what tests are
available. Spectra Logic has finished porting the STF test suite
to FreeBSD, so we discussed how we can make them more widely
available, and potentially getting them into the main source
tree. Eventually, it will become part of the independent code
repository but it may take a while to get there.</p>
<p>And then we also talked about <tt>zfsd</tt>, which is a
substitute for FMA. This is a Solaris technology which deals
with hot spares and device replacement, etc. So <tt>zfsd</tt>
is a replacement for this tool on FreeBSD, implemented by Spectra
Logic. With regard to this, we discussed some of the issues
about getting it into the main tree, as they had done some
subtle physical pathing that was not a hundred percent
generic.</p>
<hr /><a href="../news.html">News Home</a> | <a href="status.html">Status Home</a></div>
<br class="clearboth" />
</div>
<div id="footer">
<span><a href="../../search/index-site.html">Site Map</a> |
<a href="../../copyright/">Legal Notices</a> | © 1995–2021 The FreeBSD Project.
All rights reserved.</span>
<br />
</div>
</div>
</div>
</body>
</html>
|