aboutsummaryrefslogtreecommitdiff
path: root/website/content/en/status/report-2013-09-devsummit.html
blob: e1976c430c38e3679b48e1662a8b6372ee15db0d (plain) (blame)
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&amp;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&amp;do=get&amp;target=DesktopWG-Summary.pdf" title="https://wiki.freebsd.org/201309DevSummit?action=AttachFile&amp;do=get&amp;target=DesktopWG-Summary.pdf">Summary</a></td><td>
	    URL: <a href="https://wiki.freebsd.org/201309DevSummit?action=AttachFile&amp;do=get&amp;target=DesktopWG-Summary.pdf" title="Summary">https://wiki.freebsd.org/201309DevSummit?action=AttachFile&amp;do=get&amp;target=DesktopWG-Summary.pdf</a></td></tr></table><p>
	Contact:
	  Kris
	  Moore
	 &lt;<a href="mailto:kmoore@FreeBSD.org">kmoore@FreeBSD.org</a>&gt;
	</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
	 &lt;<a href="mailto:pgj@FreeBSD.org">pgj@FreeBSD.org</a>&gt;
	</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&amp;do=get&amp;target=20130928-eurobsdcon-dns-summary.pdf" title="https://wiki.freebsd.org/201309DevSummit?action=AttachFile&amp;do=get&amp;target=20130928-eurobsdcon-dns-summary.pdf">Summary</a></td><td>
	    URL: <a href="https://wiki.freebsd.org/201309DevSummit?action=AttachFile&amp;do=get&amp;target=20130928-eurobsdcon-dns-summary.pdf" title="Summary">https://wiki.freebsd.org/201309DevSummit?action=AttachFile&amp;do=get&amp;target=20130928-eurobsdcon-dns-summary.pdf</a></td></tr></table><p>
	Contact:
	  Erwin
	  Lansing
	 &lt;<a href="mailto:erwin@FreeBSD.org">erwin@FreeBSD.org</a>&gt;
	</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&amp;do=get&amp;target=DocWGSummaryReport.pdf" title="https://wiki.freebsd.org/201309DevSummit?action=AttachFile&amp;do=get&amp;target=DocWGSummaryReport.pdf">Summary</a></td><td>
	    URL: <a href="https://wiki.freebsd.org/201309DevSummit?action=AttachFile&amp;do=get&amp;target=DocWGSummaryReport.pdf" title="Summary">https://wiki.freebsd.org/201309DevSummit?action=AttachFile&amp;do=get&amp;target=DocWGSummaryReport.pdf</a></td></tr></table><p>
	Contact:
	  Benedict
	  Reuschling
	 &lt;<a href="mailto:bcr@FreeBSD.org">bcr@FreeBSD.org</a>&gt;
	</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&amp;do=get&amp;target=Embedded-devsummit-201309.pdf" title="https://wiki.freebsd.org/201309DevSummit?action=AttachFile&amp;do=get&amp;target=Embedded-devsummit-201309.pdf">Summary</a></td><td>
	    URL: <a href="https://wiki.freebsd.org/201309DevSummit?action=AttachFile&amp;do=get&amp;target=Embedded-devsummit-201309.pdf" title="Summary">https://wiki.freebsd.org/201309DevSummit?action=AttachFile&amp;do=get&amp;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
	 &lt;<a href="mailto:imp@FreeBSD.org">imp@FreeBSD.org</a>&gt;
	<br />
	Contact:
	  Brooks
	  Davis
	 &lt;<a href="mailto:brooks@FreeBSD.org">brooks@FreeBSD.org</a>&gt;
	</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
	&#8212; 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
	 &lt;<a href="mailto:lstewart@FreeBSD.org">lstewart@FreeBSD.org</a>&gt;
	<br />
	Contact:
	  Gleb
	  Smirnoff
	 &lt;<a href="mailto:glebius@FreeBSD.org">glebius@FreeBSD.org</a>&gt;
	</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&amp;do=get&amp;target=20130928-eurobsdcon-ports-summary.pdf" title="https://wiki.freebsd.org/201309DevSummit?action=AttachFile&amp;do=get&amp;target=20130928-eurobsdcon-ports-summary.pdf">Summary</a></td><td>
	    URL: <a href="https://wiki.freebsd.org/201309DevSummit?action=AttachFile&amp;do=get&amp;target=20130928-eurobsdcon-ports-summary.pdf" title="Summary">https://wiki.freebsd.org/201309DevSummit?action=AttachFile&amp;do=get&amp;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
	 &lt;<a href="mailto:erwin@FreeBSD.org">erwin@FreeBSD.org</a>&gt;
	</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 &#8212; 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&amp;do=get&amp;target=201309+DevSummit+Security+Report.pdf" title="https://wiki.freebsd.org/201309DevSummit?action=AttachFile&amp;do=get&amp;target=201309+DevSummit+Security+Report.pdf">Summary</a></td><td>
	    URL: <a href="https://wiki.freebsd.org/201309DevSummit?action=AttachFile&amp;do=get&amp;target=201309+DevSummit+Security+Report.pdf" title="Summary">https://wiki.freebsd.org/201309DevSummit?action=AttachFile&amp;do=get&amp;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
	 &lt;<a href="mailto:des@FreeBSD.org">des@FreeBSD.org</a>&gt;
	</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>&gt;</tt> instead of <tt>&gt;=</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&amp;do=get&amp;target=toolchain-and-build-eurobsdcon2013.pdf" title="https://wiki.freebsd.org/201309DevSummit?action=AttachFile&amp;do=get&amp;target=toolchain-and-build-eurobsdcon2013.pdf">Summary</a></td><td>
	    URL: <a href="https://wiki.freebsd.org/201309DevSummit?action=AttachFile&amp;do=get&amp;target=toolchain-and-build-eurobsdcon2013.pdf" title="Summary">https://wiki.freebsd.org/201309DevSummit?action=AttachFile&amp;do=get&amp;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
	 &lt;<a href="mailto:brooks@FreeBSD.org">brooks@FreeBSD.org</a>&gt;
	</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&amp;do=get&amp;target=DevSummitUSB2013Status.pdf" title="https://wiki.freebsd.org/201309DevSummit?action=AttachFile&amp;do=get&amp;target=DevSummitUSB2013Status.pdf">Summary</a></td><td>
	    URL: <a href="https://wiki.freebsd.org/201309DevSummit?action=AttachFile&amp;do=get&amp;target=DevSummitUSB2013Status.pdf" title="Summary">https://wiki.freebsd.org/201309DevSummit?action=AttachFile&amp;do=get&amp;target=DevSummitUSB2013Status.pdf</a></td></tr><tr><td><a href="https://wiki.freebsd.org/201309DevSummit?action=AttachFile&amp;do=get&amp;target=DevSummitUSB2013.pdf" title="https://wiki.freebsd.org/201309DevSummit?action=AttachFile&amp;do=get&amp;target=DevSummitUSB2013.pdf">Notes</a></td><td>
	    URL: <a href="https://wiki.freebsd.org/201309DevSummit?action=AttachFile&amp;do=get&amp;target=DevSummitUSB2013.pdf" title="Notes">https://wiki.freebsd.org/201309DevSummit?action=AttachFile&amp;do=get&amp;target=DevSummitUSB2013.pdf</a></td></tr></table><p>
	Contact:
	  Hans-Petter
	  Selasky
	 &lt;<a href="mailto:hselasky@FreeBSD.org">hselasky@FreeBSD.org</a>&gt;
	</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&amp;do=get&amp;target=20130928-eurobsdcon-vendor-summary.pdf" title="https://wiki.freebsd.org/201309DevSummit?action=AttachFile&amp;do=get&amp;target=20130928-eurobsdcon-vendor-summary.pdf">Summary</a></td><td>
	    URL: <a href="https://wiki.freebsd.org/201309DevSummit?action=AttachFile&amp;do=get&amp;target=20130928-eurobsdcon-vendor-summary.pdf" title="Summary">https://wiki.freebsd.org/201309DevSummit?action=AttachFile&amp;do=get&amp;target=20130928-eurobsdcon-vendor-summary.pdf</a></td></tr></table><p>
	Contact:
	  Erwin
	  Lansing
	 &lt;<a href="mailto:erwin@FreeBSD.org">erwin@FreeBSD.org</a>&gt;
	</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&amp;do=get&amp;target=eurobsdcon_summary.pdf" title="https://wiki.freebsd.org/201309DevSummit?action=AttachFile&amp;do=get&amp;target=eurobsdcon_summary.pdf">Summary</a></td><td>
	    URL: <a href="https://wiki.freebsd.org/201309DevSummit?action=AttachFile&amp;do=get&amp;target=eurobsdcon_summary.pdf" title="Summary">https://wiki.freebsd.org/201309DevSummit?action=AttachFile&amp;do=get&amp;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
	 &lt;<a href="mailto:grehan@FreeBSD.org">grehan@FreeBSD.org</a>&gt;
	</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&#353;ka
	 &lt;<a href="mailto:mm@FreeBSD.org">mm@FreeBSD.org</a>&gt;
	<br />
	Contact:
	  Matthew
	  Ahrens
	 &lt;<a href="mailto:mahrens@delphix.com">mahrens@delphix.com</a>&gt;
	</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&#8211;2021 The FreeBSD Project.
  All rights reserved.</span>
          <br />
        </div>
      </div>
    </div>
  </body>
</html>