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
1052
1053
1054
1055
1056
1057
1058
1059
1060
1061
1062
1063
1064
1065
1066
1067
1068
1069
1070
1071
1072
1073
1074
1075
1076
1077
1078
1079
1080
1081
1082
1083
1084
1085
1086
1087
1088
1089
1090
1091
1092
1093
1094
1095
1096
1097
1098
1099
1100
1101
1102
1103
1104
1105
1106
1107
1108
1109
1110
1111
1112
1113
1114
1115
1116
1117
1118
1119
1120
1121
1122
1123
1124
1125
1126
1127
1128
1129
1130
1131
1132
1133
1134
1135
1136
1137
1138
1139
1140
1141
1142
1143
1144
1145
1146
1147
1148
1149
1150
1151
1152
1153
1154
1155
1156
1157
1158
1159
1160
1161
1162
1163
1164
1165
1166
1167
1168
1169
1170
1171
1172
1173
1174
1175
1176
1177
1178
1179
1180
1181
1182
1183
1184
1185
1186
1187
1188
1189
1190
1191
1192
1193
1194
1195
1196
1197
1198
1199
1200
1201
1202
1203
1204
1205
1206
1207
1208
1209
1210
1211
1212
1213
1214
1215
1216
1217
1218
1219
1220
1221
1222
1223
1224
1225
1226
1227
1228
1229
1230
1231
1232
1233
1234
1235
1236
1237
1238
1239
1240
1241
1242
1243
1244
1245
1246
1247
1248
1249
1250
1251
1252
1253
1254
1255
1256
1257
1258
1259
1260
1261
1262
1263
1264
1265
1266
1267
1268
1269
1270
1271
1272
1273
1274
1275
1276
1277
1278
|
<?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" />
</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>Introduction</h1><p>While a few of these projects indicate they are a
"plan B" or an "attempt III", many
are still hewing to their original plans, and all have
produced impressive results. Please enjoy this vibrant
collection of reports, covering the first quarter of 2017.</p><p>—Benjamin Kaduk</p><p><hr /></p><p>The deadline for submissions covering the period from April
to June 2017 is July 7, 2017.</p><hr /><h3><a href="#FreeBSD-Team-Reports">FreeBSD Team Reports</a></h3><ul><li><a href="#The-FreeBSD-Core-Team">The FreeBSD Core Team</a></li><li><a href="#The-FreeBSD-Foundation">The FreeBSD Foundation</a></li><li><a href="#The-FreeBSD-Ports-Collection">The FreeBSD Ports Collection</a></li><li><a href="#The-FreeBSD-Release-Engineering-Team">The FreeBSD Release Engineering Team</a></li></ul><h3><a href="#Projects">Projects</a></h3><ul><li><a href="#Ceph-on-FreeBSD">Ceph on FreeBSD</a></li><li><a href="#OpenBSM">OpenBSM</a></li><li><a href="#Porting-Software-to-CloudABI:-Sandboxed-Bitcoin!">Porting Software to CloudABI: Sandboxed Bitcoin!</a></li><li><a href="#Support-for-eMMC-Flash-and-Faster-SD-Card-Modes">Support for eMMC Flash and Faster SD Card Modes</a></li><li><a href="#TrustedBSD">TrustedBSD</a></li></ul><h3><a href="#Kernel">Kernel</a></h3><ul><li><a href="#FreeBSD-on-Hyper-V-and-Azure">FreeBSD on Hyper-V and Azure</a></li><li><a href="#Intel-10G-and-40G-Network-Driver-Updates">Intel 10G and 40G Network Driver Updates</a></li><li><a href="#Linuxulator">Linuxulator</a></li><li><a href="#MMC-Stack-Using-the-CAM-Framework">MMC Stack Using the CAM Framework</a></li><li><a href="#pNFS-Server-Plan-B">pNFS Server Plan B</a></li></ul><h3><a href="#Architectures">Architectures</a></h3><ul><li><a href="#64-bit-PowerPC-Book-E-Support">64-bit PowerPC Book-E Support</a></li><li><a href="#FreeBSD-on-Marvell-Armada38x">FreeBSD on Marvell Armada38x</a></li><li><a href="#FreeBSD/s390x-Attempt-III">FreeBSD/s390x Attempt III</a></li></ul><h3><a href="#Ports">Ports</a></h3><ul><li><a href="#MySQL">MySQL</a></li><li><a href="#Rust">Rust</a></li></ul><h3><a href="#Documentation">Documentation</a></h3><ul><li><a href="#The-FreeBSD-Dutch-Documentation-Project">The FreeBSD Dutch Documentation Project</a></li></ul><ul></ul><hr /><br /><h1><a name="FreeBSD-Team-Reports" href="#FreeBSD-Team-Reports" id="FreeBSD-Team-Reports">FreeBSD Team Reports</a></h1><br /><h2><a name="The-FreeBSD-Core-Team" href="#The-FreeBSD-Core-Team" id="The-FreeBSD-Core-Team">The FreeBSD Core Team</a></h2><p>
Contact: FreeBSD Core Team <<a href="mailto:core@FreeBSD.org">core@FreeBSD.org</a>>
</p>
<p>Core's primary function is to ensure the long-term viability of
the FreeBSD project. A very large part of that is to ensure that the
interactions between developers remain cordial, and consequently
that the project appears welcoming to newcomers.</p>
<p>Normally, most of Core's activities around this are done in
private — a quiet word in the right ear, some discrete
peacemaking, occasional reading of the riot act. Most of the time,
this is all that is necessary.</p>
<p>Unfortunately, this quarter we had an instance where such private
measures failed to achieve the desired result, and we ended up
ejecting a developer. This developer is an extremely talented
programmer and has made significant contributions to the Ports
Collection. Despite this, portmgr found him to be
sufficiently disruptive and abrasive that in their judgement,
the project was better off overall to sever his connection to
itself, and core backed them up in that. We are sorry that
events came to this sad conclusion, but we remain convinced
that this was a necessary step to safeguard the character of
our community.</p>
<p>In a more positive light, Core has been working on a proposal
to recognise notable contributors to the FreeBSD project who are not
(or perhaps <i>not yet</i>) suitable to be put forward as new
committers. In addition to the usual routes of recognising people
that write numbers of good bug reports or that supply patches or
that volunteer to maintain ports, this will also allow recognition
of people who contribute by such things as organising FreeBSD events
or who promote FreeBSD through social media. A formal announcement
of Core's proposal is imminent.</p>
<p>During January, the core secretary held an exercise to contact
all source committers who had been inactive for more than 18
months and persuade them to hand in their commit bits if they
were not planning to resume working on FreeBSD in the near future.
This is meant to be a routine function -- the "grim reaper" --
that aims to keep the list of people with the ability to commit
pretty much in synchrony with the list of people that are actively
committing. The regular process had fallen out of activity
several years ago, and we needed to clear the decks before
restarting. Ultimately, this resulted in some 20
developers-emeritus handing in their commit bits.</p>
<p>No new commit bits were awarded during this quarter.</p>
<p>Core is also taking soundings on producing a 10.4-RELEASE.
This is not in the current plan, but a number of developers and
important FreeBSD users would be keen to see it happen, given some of
the work that has gone into the stable/10 branch since
10.3-RELEASE. On the other hand, this would represent an additional
support burden for the Security Team, including maintaining versions of
software that have been declared obsolete upstream, in particular
OpenSSL. As an even-numbered release, 10.4-RELEASE would have a
"normal" rather than an "extended" lifetime which means it should
not result in extending the support lifetime of the stable/10
branch.</p>
<p>In other news, Core arranged for the old and largely inactive
marketing@FreeBSD.org mailing list to be wound up, and for any
remaining activities to be transferred to the FreeBSD Foundation.</p>
<p>Core also asked clusteradm to turn off Internet-wide access to
the <tt>finger</tt> server on freefall.freebsd.org. Many
developers have included details such as phone numbers into
the GECOS field of their FreeBSD password database entries, and
these would be revealed by the <tt>finger</tt> server —
details which are nowadays generally felt inadvisable to
expose publicly. <tt>finger</tt> is still available
internally within freefall.freebsd.org. Core recommends that
GECOS data is limited to just your full name, and we have
updated the standard "new committer" e-mail template
to reflect that.</p>
<p>Core is looking for new volunteers to help out with several of
the teams that manage various aspects of the project. In
particular, Postmaster and the Security Team are in need of new blood.
Recruiting for a new member of the Security Team is well under way, but anyone
interested in joining any of the teams is encouraged to make
themselves known either to Core or directly to the teams
concerned.</p>
<hr /><h2><a name="The-FreeBSD-Foundation" href="#The-FreeBSD-Foundation" id="The-FreeBSD-Foundation">The FreeBSD Foundation</a></h2><table title="Links" style="white-space: nowrap;"><tr><td>Links</td></tr><tr><td><a href="https://www.FreeBSDFoundation.org/" title="https://www.FreeBSDFoundation.org/">FreeBSD Foundation Website</a></td><td>
URL: <a href="https://www.FreeBSDFoundation.org/" title="FreeBSD Foundation Website">https://www.FreeBSDFoundation.org/</a></td></tr><tr><td><a href="https://www.FreeBSDfoundation.org/wp-content/uploads/2017/03/FreeBSD-Foundation-Q1-2017-Update.pdf" title="https://www.FreeBSDfoundation.org/wp-content/uploads/2017/03/FreeBSD-Foundation-Q1-2017-Update.pdf">Quarterly Newsletter</a></td><td>
URL: <a href="https://www.FreeBSDfoundation.org/wp-content/uploads/2017/03/FreeBSD-Foundation-Q1-2017-Update.pdf" title="Quarterly Newsletter">https://www.FreeBSDfoundation.org/wp-content/uploads/2017/03/FreeBSD-Foundation-Q1-2017-Update.pdf</a></td></tr><tr><td><a href="https://wiki.FreeBSD.org/201702StorageSummit" title="https://wiki.FreeBSD.org/201702StorageSummit">2017 Storage Summit</a></td><td>
URL: <a href="https://wiki.FreeBSD.org/201702StorageSummit" title="2017 Storage Summit">https://wiki.FreeBSD.org/201702StorageSummit</a></td></tr></table><p>
Contact:
Deb
Goodkin
<<a href="mailto:deb@FreeBSDFoundation.org">deb@FreeBSDFoundation.org</a>>
</p>
<p>The FreeBSD Foundation is a 501(c)(3) non-profit organization
dedicated to supporting and promoting the FreeBSD Project and
community worldwide. Funding comes from individual and
corporate donations and is used to fund and manage software
development projects, conferences and developer summits, and
provide travel grants to FreeBSD contributors. The Foundation
purchases and supports hardware to improve and maintain FreeBSD
infrastructure; publishes marketing material to promote,
educate, and advocate for the FreeBSD Project; facilitates
collaboration between commercial vendors and FreeBSD
developers; and finally, represents the FreeBSD Project in
executing contracts, license agreements, and other legal
arrangements that require a recognized legal entity.</p>
<p>Our work is 100% funded by your donations. We kicked off the
new year with some large contributions from Intel and NetApp,
to help us raise over $400,000 last quarter! We engaged in
discussions with new and old commercial users to help
facilitate collaboration, explain how the Project works, and
to ask for financial contributions to help us keep FreeBSD the
innovative, secure, and reliable operating system they depend
on. Please consider making a donation today! <a href="https://www.FreeBSDfoundation.org/donate/" shape="rect">https://www.FreeBSDfoundation.org/donate/</a>.</p>
<p>The Foundation improves the FreeBSD operating system by
employing our technical staff to maintain and improve critical
kernel subsystems, add features and functionality, and fix
problems. Our contributions also include funding separate project grants
like the arm64 port, <tt>blacklistd</tt> access control
daemon, and integration of <tt>VIMAGE</tt> support, to make
sure FreeBSD remains a viable solution for research, education,
computing, products and more.</p>
<p>This quarter's project development highlights include:</p>
<ul>
<li>168 commits sponsored by the FreeBSD Foundation in the src
tree (base system) development branch, across three staff
members and four grant recipients/other developers.</li>
<li>Multiple funded grants, including the <tt>cfumass</tt> project, now
committed to FreeBSD-HEAD, and improvements to the
<tt>blacklistd</tt> daemon and FreeBSD/arm64 port.</li>
<li>Staff contributions including improvements to toolchain
and build tool components, run time libraries, arm64, mips64
and 32- and 64-bit x86 architectures, release image build
tooling, packaged base, and VM subsystem bug fixes.</li>
<li>Significant progress on the 64-bit inode project, which
is nearly ready for commit.</li>
</ul>
<p>FreeBSD Advocacy and Education</p>
<p>A large part of our efforts are dedicated to advocating for
the Project. This includes promoting work being done by
others with FreeBSD; producing advocacy literature to teach
people about FreeBSD and help make the path to starting to use
FreeBSD or contribute to the Project easier; and attending and
getting other FreeBSD contributors to volunteer to run FreeBSD
events, staff FreeBSD tables, and give FreeBSD presentations.</p>
<p>Some of the highlights of our advocacy and education work
over the last quarter:</p>
<ul>
<li>Promoted FreeBSD at: FOSDEM, SCALE, AsiaBSDcon, and
FOSSASIA</li>
<li>Promoted BSDCan, SCALE, USENIX LISA, vBSDcon and
EuroBSDcon Calls for Participation</li>
<li>Promoted Google Summer of Code participation on social
media and created a flyer for people to post at their
universities</li>
<li>Published a New Faces of FreeBSD Story: Joseph Kong</li>
<li>Set up a Marketing Partnership with the USENIX Association
and SNIA</li>
<li>Published and Promoted the Jan/Feb 2017 issue of the FreeBSD
Journal: https://www.FreeBSDfoundation.org/journal/</li>
<li>Published monthly Development Projects Updates on our
blog</li>
<li>Secured a FreeBSD table at OSCON and promoted available
discounts</li>
</ul>
<p>Conferences and Events</p>
<p>The FreeBSD Foundation sponsors many conferences, events, and
summits around the globe. These events can be BSD-related, open
source, or technology events geared towards underrepresented
groups.</p>
<p>We support the FreeBSD-focused events to help provide a venue
for sharing knowledge, to work together on projects, and to
facilitate collaboration between developers and commercial
users; this all helps provide a healthy ecosystem. We support
the non-FreeBSD events to promote and raise awareness about FreeBSD,
to increase the use of FreeBSD in different applications, and to
recruit more contributors to the Project.</p>
<p>We also sponsored and/or attended the following events last
quarter:</p>
<ul>
<li>FOSDEM FreeBSD developer summit (sponsor)</li>
<li>AsiaBSDCon — Tokyo, Japan (sponsor)</li>
<li>Organized and ran the FreeBSD Storage Summit in Santa Clara,
CA</li>
<li>Board member Philip Paeps gave a FreeBSD presentation at
FOSSASIA</li>
<li>Attended FOSSASIA, FOSDEM, and SCALE</li>
</ul>
<p>Release Engineering</p>
<p>The Foundation provides a full-time staff member to lead the
release engineering efforts. This has provided timely and
reliable releases over the last few years. Some highlights
from last quarter include:</p>
<ul>
<li>Continued the production of weekly development snapshots
for the 12-CURRENT, 11-STABLE, and 10-STABLE branches.</li>
<li>Published the initial FreeBSD 11.1-RELEASE schedule to the
Project website.</li>
</ul>
<p>Legal/FreeBSD IP</p>
<p>The Foundation owns the FreeBSD trademarks, and it is our
responsibility to protect them. We continued to review
requests and grant permission to use the trademarks.</p>
<p>Many more details about how we supported FreeBSD last quarter
can be found in our Q1 newsletter!</p>
<hr /><h2><a name="The-FreeBSD-Ports-Collection" href="#The-FreeBSD-Ports-Collection" id="The-FreeBSD-Ports-Collection">The FreeBSD Ports Collection</a></h2><table title="Links" style="white-space: nowrap;"><tr><td>Links</td></tr><tr><td><a href="https://www.FreeBSD.org/ports/" title="https://www.FreeBSD.org/ports/">About FreeBSD Ports</a></td><td>
URL: <a href="https://www.FreeBSD.org/ports/" title="About FreeBSD Ports">https://www.FreeBSD.org/ports/</a></td></tr><tr><td><a href="https://www.FreeBSD.org/doc/en_US.ISO8859-1/articles/contributing/ports-contributing.html" title="https://www.FreeBSD.org/doc/en_US.ISO8859-1/articles/contributing/ports-contributing.html">Contributing to Ports</a></td><td>
URL: <a href="https://www.FreeBSD.org/doc/en_US.ISO8859-1/articles/contributing/ports-contributing.html" title="Contributing to Ports">https://www.FreeBSD.org/doc/en_US.ISO8859-1/articles/contributing/ports-contributing.html</a></td></tr><tr><td><a href="http://portsmon.FreeBSD.org/index.html" title="http://portsmon.FreeBSD.org/index.html">FreeBSD Ports Monitoring</a></td><td>
URL: <a href="http://portsmon.FreeBSD.org/index.html" title="FreeBSD Ports Monitoring">http://portsmon.FreeBSD.org/index.html</a></td></tr><tr><td><a href="https://www.FreeBSD.org/portmgr/index.html" title="https://www.FreeBSD.org/portmgr/index.html">Ports Management Team</a></td><td>
URL: <a href="https://www.FreeBSD.org/portmgr/index.html" title="Ports Management Team">https://www.FreeBSD.org/portmgr/index.html</a></td></tr><tr><td><a href="https://twitter.com/FreeBSD_portmgr/" title="https://twitter.com/FreeBSD_portmgr/">FreeBSD portmgr on Twitter (@FreeBSD_portmgr)</a></td><td>
URL: <a href="https://twitter.com/FreeBSD_portmgr/" title="FreeBSD portmgr on Twitter (@FreeBSD_portmgr)">https://twitter.com/FreeBSD_portmgr/</a></td></tr><tr><td><a href="https://www.facebook.com/portmgr" title="https://www.facebook.com/portmgr">FreeBSD Ports Management Team on Facebook</a></td><td>
URL: <a href="https://www.facebook.com/portmgr" title="FreeBSD Ports Management Team on Facebook">https://www.facebook.com/portmgr</a></td></tr><tr><td><a href="https://plus.google.com/communities/108335846196454338383" title="https://plus.google.com/communities/108335846196454338383">FreeBSD Ports Management Team on Google+</a></td><td>
URL: <a href="https://plus.google.com/communities/108335846196454338383" title="FreeBSD Ports Management Team on Google+">https://plus.google.com/communities/108335846196454338383</a></td></tr></table><p>
Contact:
René
Ladan
<<a href="mailto:portmgr-secretary@FreeBSD.org">portmgr-secretary@FreeBSD.org</a>>
<br />
Contact: FreeBSD Ports Management Team <<a href="mailto:portmgr@FreeBSD.org">portmgr@FreeBSD.org</a>>
</p>
<p>The number of ports is currently just 500 short of 30,000. The current
number of PRs is close to 2,400, of which 620 are unassigned. The last
quarter saw 6656 commits from 167 comitters. Both the number of ports and
the number of unassigned PRs have increased in the last quarter.</p>
<p>In the last quarter, we welcomed 7 new committers: Eugene Grosbein
(eugen), Johannes Dieterich (jmd), Larry Rosenman (ler), Mahdi Mokhtari
(mmohki), Matthew Rezny (rezny), Tobias Kortkamp (tobik), and Vladimir
Kondratyev (wulf). dumbbell@ was already a src committer and got an extension
for the Ports Tree. We also welcomed back krion@ and miwi@. We took 6
bits in for safe-keeping: itetcu@, leeym@, mva@, olivierd@, pgollucci@,
and sanpei@.</p>
<p>There were no changes to the membership of portmgr.</p>
<p>antoine@ worked on <tt>USES=samba</tt> to prepare for the
removal of the long-outdated Samba 3.6 ports and replace them
with modern versions. The new default versions are:
FreePascal 3.0.2, Ruby 2.3, and Samba 4.4. A new variable
<tt>USE_LOCALE</tt> was created to add the <tt>LANG</tt> and
<tt>LC_ALL</tt> environment variables to all builds.
Out-of-tree patches can now be added with the new
<tt>EXTRA_PATCH_TREE</tt> variable. The error messages for
invalid <tt>OPTIONS_SINGLE</tt> options were improved.</p>
<p>Some of the major port updates last quarter were: pkg 1.10.1, linux
c6_64, Firefox 52.0.2, Chromium 57.0.2987.110, GCC 4.9.4, Gnome 3.18.0,
Xorg 1.18.4, Qt 4.8.7 and 5.7.1, and PHP 7.1.</p>
<p>antoine@ ran 31 exp-runs to test version updates and under-the-hood
changes.</p>
<h3>Open tasks:</h3><ol><li>The number of unassigned and open PRs is still growing, so if you
have some spare time, please close some of those.</li></ol><hr /><h2><a name="The-FreeBSD-Release-Engineering-Team" href="#The-FreeBSD-Release-Engineering-Team" id="The-FreeBSD-Release-Engineering-Team">The FreeBSD Release Engineering Team</a></h2><table title="Links" style="white-space: nowrap;"><tr><td>Links</td></tr><tr><td><a href="https://www.freebsd.org/releases/11.1R/schedule.html" title="https://www.freebsd.org/releases/11.1R/schedule.html">FreeBSD 11.1-RELEASE Schedule</a></td><td>
URL: <a href="https://www.freebsd.org/releases/11.1R/schedule.html" title="FreeBSD 11.1-RELEASE Schedule">https://www.freebsd.org/releases/11.1R/schedule.html</a></td></tr><tr><td><a href="http://ftp.freebsd.org/pub/FreeBSD/snapshots/ISO-IMAGES/" title="http://ftp.freebsd.org/pub/FreeBSD/snapshots/ISO-IMAGES/">FreeBSD development Snapshots</a></td><td>
URL: <a href="http://ftp.freebsd.org/pub/FreeBSD/snapshots/ISO-IMAGES/" title="FreeBSD development Snapshots">http://ftp.freebsd.org/pub/FreeBSD/snapshots/ISO-IMAGES/</a></td></tr></table><p>
Contact: FreeBSD Release Engineering Team <<a href="mailto:re@FreeBSD.org">re@FreeBSD.org</a>>
</p>
<p>The FreeBSD Release Engineering Team is responsible for setting
and publishing release schedules for official project releases
of FreeBSD, announcing code freezes, and maintaining the
respective branches, among other things.</p>
<p>The FreeBSD Release Engineering Team continued producing
weekly development snapshots for the 12-CURRENT, 11-STABLE,
and 10-STABLE branches.</p>
<p>In addition, the FreeBSD 11.1-RELEASE schedule was added to
the Project website. Please note, however, the schedule on
the website is still subject to change.</p>
<p>This project was sponsored by The FreeBSD Foundation.</p><hr /><br /><h1><a name="Projects" href="#Projects" id="Projects">Projects</a></h1><br /><h2><a name="Ceph-on-FreeBSD" href="#Ceph-on-FreeBSD" id="Ceph-on-FreeBSD">Ceph on FreeBSD</a></h2><table title="Links" style="white-space: nowrap;"><tr><td>Links</td></tr><tr><td><a href="http://ceph.com" title="http://ceph.com">Ceph Main Site</a></td><td>
URL: <a href="http://ceph.com" title="Ceph Main Site">http://ceph.com</a></td></tr><tr><td><a href="https://github.com/ceph/ceph" title="https://github.com/ceph/ceph">Main Repository</a></td><td>
URL: <a href="https://github.com/ceph/ceph" title="Main Repository">https://github.com/ceph/ceph</a></td></tr><tr><td><a href="https://github.com/wjwithagen/ceph" title="https://github.com/wjwithagen/ceph">My FreeBSD Fork</a></td><td>
URL: <a href="https://github.com/wjwithagen/ceph" title="My FreeBSD Fork">https://github.com/wjwithagen/ceph</a></td></tr></table><p>
Contact:
Willem Jan
Withagen
<<a href="mailto:wjw@digiware.nl">wjw@digiware.nl</a>>
</p>
<p>Ceph is a distributed object store and file system designed to provide
excellent performance, reliability and scalability.</p>
<ul>
<li><p>Object Storage</p>
<p>Ceph provides seamless access to objects using native
language bindings or <tt>radosgw</tt>, a REST interface
that is compatible with applications written for S3 and
Swift.</p></li>
<li><p>Block Storage</p>
<p>Ceph's RADOS Block Device (RBD) provides access to block
device images that are striped and replicated across the
entire storage cluster.</p></li>
<li><p>File System</p>
<p>Ceph provides a POSIX-compliant network file system that
aims for high performance, large data storage, and maximum
compatibility with legacy applications.</p></li>
</ul>
<p>I started looking into Ceph because the HAST solution with
CARP and <tt>ggate</tt> did not really do what I was looking
for. But I aim to run a Ceph storage cluster of storage nodes
that are running ZFS. User stations would be running
<tt>bhyve</tt> on RBD disks that are stored in Ceph.</p>
<p>Compiling for FreeBSD will now build most of the tools
available in Ceph.</p>
<p>Notable progress since the last report:</p>
<ul>
<li>The most important change is that a port has been
submitted: <tt>net/ceph-devel</tt>. However, it does not
yet contain <tt>ceph-fuse</tt>.</li>
<li>Regular updates to the <tt>ceph-devel</tt> port are
expected, with the next one coming in April.</li>
<li><tt>ceph-fuse</tt> works, allowing one to mount a CephFS
filesystem on a FreeBSD system and perform normal operations.</li>
<li><tt>ceph-disk prepare</tt> and <tt>activate</tt> work for
FileStore on ZFS, allowing for easy creation of OSDs.</li>
<li>RBD is actually buildable and can be used to manage RADOS BLOCK
DEVICEs.</li>
<li>Most of the awkward dependencies on Linux-isms are deleted
— only <tt>/bin/bash</tt> is here to stay.</li>
</ul>
<p>To get things running on a FreeBSD system, run <tt>pkg install
net/ceph-devel</tt> or clone <a href="https://github.com/wjwithagen/ceph" shape="rect">https://github.com/wjwithagen/ceph</a>
and build manually by running <tt>./do_freebsd.sh</tt> in the
checkout root.</p>
<p>Parts not (yet) included:</p>
<ul>
<li>KRBD: Kernel Rados Block Devices are implemented in the
Linux kernel, but not yet in the FreeBSD kernel. It is possible
that <tt>ggated</tt> could be used as a template, since it
does similar things, just between two disks. It also has a
userspace counterpart, which could ease development.</li>
<li>BlueStore: FreeBSD and Linux have different AIO APIs, and
that incompatibility needs to resolved somehow. Additionally,
there is discussion in FreeBSD about <tt>aio_cancel</tt> not
working for all devicetypes.</li>
<li>CephFS as native filesystem: though <tt>ceph-fuse</tt>
works, it can be advantageous to have an in-kernel
implementation for heavy workloads. Cython tries to access
an internal field in <tt>struct dirent</tt>, which does not
compile.</li>
</ul>
<h3>Open tasks:</h3><ol><li>Run integration tests to see if the FreeBSD daemons will work
with a Linux Ceph platform.</li><li>Compile and test the userspace RBD (Rados Block Device).
This currently works but testing has been limitted.</li><li>Investigate and see if an in-kernel RBD device could be
developed akin to <tt>ggate</tt>.</li><li>Investigate the keystore, which can be embedded in the
kernel on Linux and currently prevents building Cephfs and
some other parts. The first question is whether it is really
required, or only KRBD requires it.</li><li>Scheduler information is not used at the moment, because the
schedulers work rather differently between Linux and FreeBSD.
But at a certain point in time, this will need some attention
(in <tt>src/common/Thread.cc</tt>).</li><li>Improve the FreeBSD init scripts in the Ceph stack, both for
testing purposes and for running Ceph on production machines.
Work on <tt>ceph-disk</tt> and <tt>ceph-deploy</tt> to make it
more FreeBSD- and ZFS-compatible.</li><li>Build a test cluster and start running some of the
teuthology integration tests on it. Teuthology wants to build
its own <tt>libvirt</tt> and that does not quite work with all
the packages FreeBSD already has in place. There are many
details to work out here.</li><li>Design a vitual disk implementation that can be used with
<tt>bhyve</tt> and attached to an RBD image.</li></ol><hr /><h2><a name="OpenBSM" href="#OpenBSM" id="OpenBSM">OpenBSM</a></h2><table title="Links" style="white-space: nowrap;"><tr><td>Links</td></tr><tr><td><a href="http://www.openbsm.org" title="http://www.openbsm.org">OpenBSM: Open Source Basic Security Module (BSM) Audit Implementation</a></td><td>
URL: <a href="http://www.openbsm.org" title="OpenBSM: Open Source Basic Security Module (BSM) Audit Implementation">http://www.openbsm.org</a></td></tr><tr><td><a href="https://github.com/openbsm/openbsm" title="https://github.com/openbsm/openbsm">OpenBSM on GitHub</a></td><td>
URL: <a href="https://github.com/openbsm/openbsm" title="OpenBSM on GitHub">https://github.com/openbsm/openbsm</a></td></tr><tr><td><a href="https://www.FreeBSD.org/doc/en_US.ISO8859-1/books/handbook/audit.html" title="https://www.FreeBSD.org/doc/en_US.ISO8859-1/books/handbook/audit.html">FreeBSD Audit Handbook Chapter</a></td><td>
URL: <a href="https://www.FreeBSD.org/doc/en_US.ISO8859-1/books/handbook/audit.html" title="FreeBSD Audit Handbook Chapter">https://www.FreeBSD.org/doc/en_US.ISO8859-1/books/handbook/audit.html</a></td></tr><tr><td><a href="https://reviews.FreeBSD.org/D10149" title="https://reviews.FreeBSD.org/D10149">DTrace Audit Provider</a></td><td>
URL: <a href="https://reviews.FreeBSD.org/D10149" title="DTrace Audit Provider">https://reviews.FreeBSD.org/D10149</a></td></tr><tr><td><a href="https://www.cl.cam.ac.uk/research/security/cadets/" title="https://www.cl.cam.ac.uk/research/security/cadets/">DARPA CADETS project</a></td><td>
URL: <a href="https://www.cl.cam.ac.uk/research/security/cadets/" title="DARPA CADETS project">https://www.cl.cam.ac.uk/research/security/cadets/</a></td></tr><tr><td><a href="https://github.com/openbsm/openbsm/blob/master/TODO" title="https://github.com/openbsm/openbsm/blob/master/TODO">TODO List on GitHub</a></td><td>
URL: <a href="https://github.com/openbsm/openbsm/blob/master/TODO" title="TODO List on GitHub">https://github.com/openbsm/openbsm/blob/master/TODO</a></td></tr></table><p>
Contact:
Christian
Brueffer
<<a href="mailto:brueffer@FreeBSD.org">brueffer@FreeBSD.org</a>>
<br />
Contact:
Robert
Watson
<<a href="mailto:rwatson@FreeBSD.org">rwatson@FreeBSD.org</a>>
<br />
Contact: TrustedBSD audit mailing list <<a href="mailto:trustedbsd-audit@TrustedBSD.org">trustedbsd-audit@TrustedBSD.org</a>>
</p>
<p>OpenBSM is a BSD-licensed implementation of Sun's Basic Security
Module (BSM) API and file format. It is the userspace side of the
CAPP Audit implementations in FreeBSD and Mac OS X. Additionally,
the audit trail processing tools are expected to work on Linux.</p>
<p>During this quarter, experimental support for UUIDs in BSM trails
was added to OpenBSM. A DTrace audit provider using this
functionality has been developed as part of the DARPA CADETS
project and is in review (<a href="https://reviews.FreeBSD.org/D10149" shape="rect">https://reviews.FreeBSD.org/D10149</a>).
In the OpenBSM GitHub repository, support for Coverity static
analysis was added via TravisCI. Additionally, the OpenBSM
1.2-alpha5 release has been merged into the FreeBSD HEAD
branch.</p>
<p>This project was sponsored by DARPA/AFRL (in part).</p><h3>Open tasks:</h3><ol><li>Test the latest release on different versions of FreeBSD, Mac OS X
and Linux. Testing on the latest versions of Mac OS X
would be particularly appreciated.</li><li>Fix problems that have been reported via GitHub and the
FreeBSD bug tracker.</li><li>Implement the features mentioned in the TODO list on
GitHub.</li></ol><hr /><h2><a name="Porting-Software-to-CloudABI:-Sandboxed-Bitcoin!" href="#Porting-Software-to-CloudABI:-Sandboxed-Bitcoin!" id="Porting-Software-to-CloudABI:-Sandboxed-Bitcoin!">Porting Software to CloudABI: Sandboxed Bitcoin!</a></h2><table title="Links" style="white-space: nowrap;"><tr><td>Links</td></tr><tr><td><a href="https://nuxi.nl/cloudabi/freebsd/" title="https://nuxi.nl/cloudabi/freebsd/">How to Use CloudABI on FreeBSD</a></td><td>
URL: <a href="https://nuxi.nl/cloudabi/freebsd/" title="How to Use CloudABI on FreeBSD">https://nuxi.nl/cloudabi/freebsd/</a></td></tr><tr><td><a href="https://nuxi.nl/blog/2017/02/18/porting-leveldb-to-cloudabi.html" title="https://nuxi.nl/blog/2017/02/18/porting-leveldb-to-cloudabi.html">LevelDB for CloudABI</a></td><td>
URL: <a href="https://nuxi.nl/blog/2017/02/18/porting-leveldb-to-cloudabi.html" title="LevelDB for CloudABI">https://nuxi.nl/blog/2017/02/18/porting-leveldb-to-cloudabi.html</a></td></tr><tr><td><a href="https://nuxi.nl/blog/2017/03/15/sandboxed-memcached.html" title="https://nuxi.nl/blog/2017/03/15/sandboxed-memcached.html">Memcached for CloudABI</a></td><td>
URL: <a href="https://nuxi.nl/blog/2017/03/15/sandboxed-memcached.html" title="Memcached for CloudABI">https://nuxi.nl/blog/2017/03/15/sandboxed-memcached.html</a></td></tr><tr><td><a href="https://laanwj.github.io/2017/03/02/porting-bitcoin-core-to-cloudabi.html" title="https://laanwj.github.io/2017/03/02/porting-bitcoin-core-to-cloudabi.html">Bitcoin for CloudABI</a></td><td>
URL: <a href="https://laanwj.github.io/2017/03/02/porting-bitcoin-core-to-cloudabi.html" title="Bitcoin for CloudABI">https://laanwj.github.io/2017/03/02/porting-bitcoin-core-to-cloudabi.html</a></td></tr></table><p>
Contact:
Ed
Schouten
<<a href="mailto:ed@FreeBSD.org">ed@FreeBSD.org</a>>
</p>
<p>CloudABI is a framework that allows you to develop strongly
sandboxed applications a lot more easily. It is a programming
environment that exclusively uses FreeBSD's Capsicum facilities. Any
features incompatible with Capsicum have been removed entirely,
which means that it is easier to determine how code needs to be
adjusted to behave correctly while sandboxed. In essence, you only
need to patch up the code until it builds.</p>
<p>Last year we have managed to port a lot of exciting libraries over
to CloudABI. Highlights include sandboxing aware versions of
<a href="http://www.boost.org/" shape="rect">Boost</a> and
<a href="http://leveldb.org/" shape="rect">LevelDB</a>. Now that these
libraries are readily available, we are at the point where we can
shift our focus towards porting full applications.</p>
<p>In late February one of the lead developers of
<a href="https://github.com/bitcoin/bitcoin" shape="rect">the Bitcoin reference
implementation</a> got in touch, as he is very interested in
creating a copy of Bitcoin that is better protected against
security bugs. You do not want a security bug in the
networking/consensus code to allow an attacker to steal coins from
your local wallet!</p>
<p>As I think that this is a use case that demonstrates the strength
of CloudABI well, I've made addressing any issues reported by the
Bitcoin developers a top priority. Once the Bitcoin port is
complete, we want to provide binary packages of it as well.</p>
<p>This project was sponsored by Nuxi, the Netherlands.</p><h3>Open tasks:</h3><ol><li>Though getting Bitcoin to work is pretty awesome, don't let
that distract us from porting other pieces of software over as
well! Are you the maintainer of a piece of software that could
benefit from sandboxing? Be sure to try building it using the
CloudABI toolchain!</li><li>One of the pieces of software that got ported over to
CloudABI some time ago is Memcached. Are you a user of
Memcached? If so, feel free to give the sandboxed version of
Memcached for CloudABI a try!</li><li>So far, CloudABI can be used to run software written in C, C++
and Python. Would you like to see any other programming language
work on CloudABI as well? Be sure to help out!</li></ol><hr /><h2><a name="Support-for-eMMC-Flash-and-Faster-SD-Card-Modes" href="#Support-for-eMMC-Flash-and-Faster-SD-Card-Modes" id="Support-for-eMMC-Flash-and-Faster-SD-Card-Modes">Support for eMMC Flash and Faster SD Card Modes</a></h2><p>
Contact:
Marius
Strobl
<<a href="mailto:marius@FreeBSD.org">marius@FreeBSD.org</a>>
</p>
<p>In r315430, support for eMMC partitions has been added to
<tt>mmc(4)</tt> and <tt>mmcsd(4)</tt> in FreeBSD 12. Besides the
user data area, i.e., the default partition, eMMC v4.41 and
later devices can additionally provide up to:</p>
<ul>
<li>1 enhanced user data area partition</li>
<li>2 boot partitions</li>
<li>1 RPMB (Replay Protected Memory Block) partition</li>
<li>4 general purpose partitions (optionally with an enhanced
or extended attribute)</li>
</ul>
<p>Apart from simply subdividing eMMC flash devices or having
UEFI code in the boot partition, as is done on some Intel NUCs,
another use case for partition support is the activation of
pseudo-SLC mode, which manufacturers of eMMC chips typically
associate with the enhanced user data area and/or the "enhanced"
attribute of general purpose partitions.</p>
<p>In order to be able to partition eMMC devices, r315430 also
added a Linux-compatible <tt>ioctl(2)</tt> interface to <tt>mmcsd(4)</tt>.
This allows the use of the GNU <tt>mmc-utils</tt> (found in ports
as <tt>sysutils/mmc-utils</tt>) on FreeBSD. Besides partitioning
eMMC devices, the <tt>mmc</tt> tool can also be used to query
for lifetime estimates and pre-EOL information of eMMC flash, as
well as to query some basic information from SD cards.</p>
<p>CAVEAT EMPTOR: Partitioning eMMC devices is a one-time
operation.</p>
<p>Additionally, in order to make eMMC flash devices more
usable, support for DDR (Dual Data Rate) bus speed mode at a
maximum of 52 MHz (DDR52) has been added to <tt>mmc(4)</tt>
and <tt>sdhci(4)</tt> in r315598, which will appear in FreeBSD 12. Compared
to high speed mode (the previous maximum) at 52 MHz, DDR52
mode increases the performance of the tested eMMC chips from
~45 MB/s to ~80 MB/s.</p>
<p>So far, support for DDR52 mode has been enabled for the eMMC
controllers found in the Intel Apollo Lake, Bay Trail and Braswell
chipsets. Note, however, that the eMMC and SDHCI controllers
of the Apollo Lake variant occasionally lock up due to a
silicon bug (which is independent of running in DDR52 mode).
The only viable workaround for that problem appears to be the
implementation of support for ADMA2 mode in <tt>sdhci(4)</tt>
(currently, <tt>sdhci(4)</tt> supports only the encumbered SDMA
mode or no DMA at all).</p>
<p>However, r315598 also brought in infrastructure and
a fair amount of code for using even faster transfer modes with eMMC
devices and SD cards respectively, i.e., up to HS400ES with eMMC
and the UHS-I modes up to SDR104 with SD cards.</p>
<p>The intent is to merge these changes back to FreeBSD 10 and 11.</p>
<h3>Open tasks:</h3><ol><li>Add support for eMMC HS200, HS400, and HS400ES transfer
modes.</li><li>Add support for SD card UHS-I transfer modes (SDR12 to
SDR104).</li><li>Make <tt>mmcsd(4)</tt> more robust and correctly follow
the relevant specifications for existing features, e.g.,
calculate and handle erase timeouts, do a <tt>SEND_STATUS</tt>
when CMD6 is invoked with an R1B response to the extent not
already fixed as part of r315430, get the remainder of the
existing code to properly check and handle return codes,
etc.</li></ol><hr /><h2><a name="TrustedBSD" href="#TrustedBSD" id="TrustedBSD">TrustedBSD</a></h2><table title="Links" style="white-space: nowrap;"><tr><td>Links</td></tr><tr><td><a href="http://www.trustedbsd.org" title="http://www.trustedbsd.org">TrustedBSD Website</a></td><td>
URL: <a href="http://www.trustedbsd.org" title="TrustedBSD Website">http://www.trustedbsd.org</a></td></tr><tr><td><a href="https://github.com/trustedbsd" title="https://github.com/trustedbsd">TrustedBSD on GitHub</a></td><td>
URL: <a href="https://github.com/trustedbsd" title="TrustedBSD on GitHub">https://github.com/trustedbsd</a></td></tr></table><p>
Contact:
Christian
Brueffer
<<a href="mailto:brueffer@FreeBSD.org">brueffer@FreeBSD.org</a>>
<br />
Contact:
Robert
Watson
<<a href="mailto:rwatson@FreeBSD.org">rwatson@FreeBSD.org</a>>
<br />
Contact:
TrustedBSD announce mailing list
<<a href="mailto:trustedbsd-announce@TrustedBSD.org">trustedbsd-announce@TrustedBSD.org</a>>
</p>
<p>The TrustedBSD Project is an open-source community developing
advanced security features for the open-source FreeBSD operating
system. Started in April 2000, the project developed support
for extended attributes, access control lists (ACLs), UFS2,
OpenPAM, security event auditing, OpenBSM, a flexible kernel
access control framework, mandatory access control, and the
GEOM storage layer. The results of this work may be found not
just in FreeBSD, but also NetBSD, OpenBSD, Linux, and Apple's Mac
OS X and iOS operating systems. Today, the project continues
to maintain and enhance these mature features in FreeBSD.</p>
<p>During this quarter, the TrustedBSD project transitioned from the
FreeBSD Perforce server to GitHub. This was made possible by
Alexis Sarghel, who owned the user "trustedbsd" on GitHub and
graciously transferred this account to the TrustedBSD project.
To date, the repositories hosting the TrustedBSD website and
the SEBSD repository have been moved.</p>
<hr /><br /><h1><a name="Kernel" href="#Kernel" id="Kernel">Kernel</a></h1><br /><h2><a name="FreeBSD-on-Hyper-V-and-Azure" href="#FreeBSD-on-Hyper-V-and-Azure" id="FreeBSD-on-Hyper-V-and-Azure">FreeBSD on Hyper-V and Azure</a></h2><table title="Links" style="white-space: nowrap;"><tr><td>Links</td></tr><tr><td><a href="https://wiki.FreeBSD.org/HyperV" title="https://wiki.FreeBSD.org/HyperV">FreeBSD Virtual Machines on Microsoft Hyper-V</a></td><td>
URL: <a href="https://wiki.FreeBSD.org/HyperV" title="FreeBSD Virtual Machines on Microsoft Hyper-V">https://wiki.FreeBSD.org/HyperV</a></td></tr><tr><td><a href="https://technet.microsoft.com/en-us/library/dn531030.aspx" title="https://technet.microsoft.com/en-us/library/dn531030.aspx">Supported Linux and FreeBSD Virtual Machines for Hyper-V on Windows</a></td><td>
URL: <a href="https://technet.microsoft.com/en-us/library/dn531030.aspx" title="Supported Linux and FreeBSD Virtual Machines for Hyper-V on Windows">https://technet.microsoft.com/en-us/library/dn531030.aspx</a></td></tr></table><p>
Contact:
Sepherosa
Ziehau
<<a href="mailto:sepherosa@gmail.com">sepherosa@gmail.com</a>>
<br />
Contact:
Hongjiang
Zhang
<<a href="mailto:honzhan@microsoft.com">honzhan@microsoft.com</a>>
<br />
Contact:
Dexuan
Cui
<<a href="mailto:decui@microsoft.com">decui@microsoft.com</a>>
<br />
Contact:
Kylie
Liang
<<a href="mailto:kyliel@microsoft.com">kyliel@microsoft.com</a>>
</p>
<p>SR-IOV support for NICs is implemented. So far, we have only
tested with the Mellanox ConnectX-3 VF card, which works
despite some issues (Bug 216493: <a href="https://bugs.FreeBSD.org/bugzilla/show_bug.cgi?id=216493" shape="rect">https://bugs.FreeBSD.org/bugzilla/show_bug.cgi?id=216493</a>).</p>
<p>Updates for UEFI VMs (i.e., Hyper-V Generation 2 VMs):</p>
<ol>
<li>After the loader issue (Bug 211746) is fixed, UEFI VMs can
now boot with Secure Boot disabled;</li>
<li>A synthetic keyboard driver has been added. Currently it
is only in HEAD, but MFCs to stable/10 and stable/11 are
planned to occur soon;</li>
<li>A SCSI DVD detection issue (Bug 218248) was fixed.
Without the fix, the VM would fail to boot.</li>
</ol>
<p>This project was sponsored by Microsoft.</p><hr /><h2><a name="Intel-10G-and-40G-Network-Driver-Updates" href="#Intel-10G-and-40G-Network-Driver-Updates" id="Intel-10G-and-40G-Network-Driver-Updates">Intel 10G and 40G Network Driver Updates</a></h2><table title="Links" style="white-space: nowrap;"><tr><td>Links</td></tr><tr><td><a href="https://reviews.FreeBSD.org/D9851" title="https://reviews.FreeBSD.org/D9851">Commit adding X553 ix/ixv Support for iflib</a></td><td>
URL: <a href="https://reviews.FreeBSD.org/D9851" title="Commit adding X553 ix/ixv Support for iflib">https://reviews.FreeBSD.org/D9851</a></td></tr><tr><td><a href="https://reviews.FreeBSD.org/D5213" title="https://reviews.FreeBSD.org/D5213">Commit converting ixgbe to iflib</a></td><td>
URL: <a href="https://reviews.FreeBSD.org/D5213" title="Commit converting ixgbe to iflib">https://reviews.FreeBSD.org/D5213</a></td></tr></table><p>
Contact:
Jeb
Cramer
<<a href="mailto:jeb.j.cramer@intel.com">jeb.j.cramer@intel.com</a>>
<br />
Contact:
Eric
Joyner
<<a href="mailto:eric.joyner@intel.com">eric.joyner@intel.com</a>>
<br />
Contact:
Krzysztof
Galazka
<<a href="mailto:krzysztof.galazka@intel.com">krzysztof.galazka@intel.com</a>>
</p>
<p>This driver update is for the Intel <tt>ix</tt>/<tt>ixv</tt>
and <tt>ixl</tt>/<tt>ixlv</tt> network drivers, and includes
support for several new hardware releases.</p>
<p><tt>ix</tt>/<tt>ixv</tt>:</p>
<ul>
<li>Added support for X553 SoC devices based on the Denverton
platform</li>
</ul>
<p><tt>ixl</tt>/<tt>ixlv</tt>:</p>
<ul>
<li>Added support for X722 10G SoC devices based on the
Lewisburg chipset</li>
<li>Added an interface for the upcoming iWarp driver for X722
devices</li>
<li>Added support for XXV710 25G devices</li>
</ul>
<h3>Open tasks:</h3><ol><li><tt>ix</tt>/<tt>ixv</tt> <tt>iflib</tt> support is
currently under review in Phabricator. It will be refactored to
include D5213.</li><li>Initial work for <tt>ixl</tt>/<tt>ixlv</tt> <tt>iflib</tt>
support is in progress.</li></ol><hr /><h2><a name="Linuxulator" href="#Linuxulator" id="Linuxulator">Linuxulator</a></h2><p>
Contact:
Dimitry
Chagin
<<a href="mailto:dchagin@FreeBSD.org">dchagin@FreeBSD.org</a>>
<br />
Contact:
Edward Tomasz
Napierała
<<a href="mailto:trasz@FreeBSD.org">trasz@FreeBSD.org</a>>
<br />
Contact:
Mahdi
Mokhtari
<<a href="mailto:mmokhi@FreeBSD.org">mmokhi@FreeBSD.org</a>>
</p>
<p>In this quarter, we are pleased to announce two (of many)
works achieved in the Linuxulator.</p>
<p>We added a new placeholder marker <tt>UNIMPLEMENTED</tt> to
accompany the previously existing <tt>DUMMY</tt>, for
distinguishing syscalls that the Linux kernel itself does not
implement from those that we currently do not implement. Now
our <tt>linux_dummy.c</tt> is clearer for newcomers to
follow, and they will quickly know which areas they can start
working on.</p>
<p>Support for two new syscalls, <tt>preadv</tt> and
<tt>pwritev</tt>, was added to the Linuxulator.</p>
<h3>Open tasks:</h3><ol><li>We plan to implement the <tt>execveat</tt> syscall for the
native FreeBSD syscall table and then port/wrap it for use in
the Linuxulator.</li></ol><hr /><h2><a name="MMC-Stack-Using-the-CAM-Framework" href="#MMC-Stack-Using-the-CAM-Framework" id="MMC-Stack-Using-the-CAM-Framework">MMC Stack Using the CAM Framework</a></h2><table title="Links" style="white-space: nowrap;"><tr><td>Links</td></tr><tr><td><a href="https://bakulin.de/freebsd/mmccam.html" title="https://bakulin.de/freebsd/mmccam.html">Project Information</a></td><td>
URL: <a href="https://bakulin.de/freebsd/mmccam.html" title="Project Information">https://bakulin.de/freebsd/mmccam.html</a></td></tr><tr><td><a href="https://github.com/kibab/FreeBSD/tree/mmccam-collapsed-commits" title="https://github.com/kibab/FreeBSD/tree/mmccam-collapsed-commits">Source Code</a></td><td>
URL: <a href="https://github.com/kibab/FreeBSD/tree/mmccam-collapsed-commits" title="Source Code">https://github.com/kibab/FreeBSD/tree/mmccam-collapsed-commits</a></td></tr></table><p>
Contact:
Ilya
Bakulin
<<a href="mailto:kibab@FreeBSD.org">kibab@FreeBSD.org</a>>
</p>
<p>The goal of this project is to reimplement the existing
MMC/SD stack using the CAM framework. This will permit
utilizing the well-tested CAM locking model and debugging
features. It will also be possible to process interrupts
generated by the inserted card, which is a prerequisite for
implementing the SDIO interface. SDIO support is necessary
for communicating with the WiFi/BT modules found on many
development boards, such as the Raspberry Pi 3.</p>
<p>Another feature that the new stack will have is support for
sending SD commands from userland applications using
<tt>cam(3)</tt>. This will allow for building device drivers in
userland and make debugging much easier.</p>
<p>The new stack is able to attach to an SD card and bring it
to an operational state so that it is possible to read and
write to the card.</p>
<p>The stack has been tested to work on the Beaglebone Black and
Wandboard Quad platforms.</p>
<p>Currently the code is being prepared for inclusion in the
FreeBSD source tree. <tt>cam(3)</tt> is being extended to
support SDIO-specific functions (reading registers, managing
interrupts, etc.).</p>
<h3>Open tasks:</h3><ol><li>Integrate the code into FreeBSD HEAD to facilitate
testing.</li><li>Begin writing a driver for Broadcom-based WLAN chips (found
on the Raspberry Pi 3 and Wandboard).</li><li>Begin writing a driver for Marvell-based WLAN chips (found
on the GlobalScale Dreamplug and some Chromebooks).</li></ol><hr /><h2><a name="pNFS-Server-Plan-B" href="#pNFS-Server-Plan-B" id="pNFS-Server-Plan-B">pNFS Server Plan B</a></h2><p>
Contact:
Rick
Macklem
<<a href="mailto:rmacklem@FreeBSD.org">rmacklem@FreeBSD.org</a>>
</p>
<p>Parallel NFS (pNFS) is an extension to the NFSv4 protocol that
allows for file accesses within a single logical mount to be
performed against multiple file servers, with the potential
for data access to occur in parallel. The pNFS
"layout" in use specifies how the division occurs, with
metadata operations occurring against the main server, and
bulk data operations (read/write/setattr/etc.) occurring via
a layout-specific scheme between the client and data
servers.</p>
<p>My first attempt at a pNFS server using GlusterFS was a dud.
It worked, but performance was so poor that it was not
usable. This attempt that I call "Plan B", only uses FreeBSD,
with one FreeBSD server handling the metadata operations and multiple
FreeBSD servers configured to serve data. An NFSv4.1 client
that supports the pNFS File Layout will be able to
read and write to the data servers directly, spreading out the
RPC load and allowing growth beyond that of what a single
FreeBSD NFS server could achieve.</p>
<p>There is no support for the Flex Files Layout or mirroring
at this time. I hope to use the Flex Files Layout to add
mirroring support over the next year or so. Striping is
also not supported, but I have no plans for implementing it
at the moment.</p>
<p>Plan B is working quite well now and should be available
for testing by the end of April. I will announce how to do this on
the freebsd-fs@FreeBSD.org mailing list when it is available.</p>
<h3>Open tasks:</h3><ol><li>Testing by others will be needed, once it is available.</li></ol><hr /><br /><h1><a name="Architectures" href="#Architectures" id="Architectures">Architectures</a></h1><br /><h2><a name="64-bit-PowerPC-Book-E-Support" href="#64-bit-PowerPC-Book-E-Support" id="64-bit-PowerPC-Book-E-Support">64-bit PowerPC Book-E Support</a></h2><p>
Contact:
Justin
Hibbits
<<a href="mailto:jhibbits@FreeBSD.org">jhibbits@FreeBSD.org</a>>
</p>
<p>The Book-E platform target now supports 64-bit mode
("powerpc64"). It includes a 63-bit address space
split, but the page table directory list uses holes to expand
to the full address space, leaving gaps in the address space
where page mappings are repeated. This may change in the
future.</p>
<p>As with the AIM powerpc64 port, Book-E supports running powerpc
(32-bit) binaries as well, and has even been tested with a
32-bit <tt>init</tt> and 64-bit shell.</p>
<p>Several of the SoC drivers are supported, however, the dTSEC
ethernet controller is not yet supported. Work is ongoing to
support it.</p>
<p>A QORIQ64 config is included, targeting the P5 and T* series
SoCs from Freescale.</p>
<p>Thanks to Juniper Networks for providing patches against an
older internally maintained FreeBSD version, which enabled this
porting effort, and for providing historical context for quirks
of the pmap changes.</p>
<h3>Open tasks:</h3><ol><li>Port the dTSEC driver to 64-bit. There are assumptions in the
reference driver of operating in a 32-bit environment. It may
be easier to port the Linux driver instead, which would also
give ARM support for this ethernet controller.</li><li>Take advantage of pointer alignment to squeeze more bits
out of the page tables; it should be possible to squeeze at
least 3 more bits out, one at each level.</li></ol><hr /><h2><a name="FreeBSD-on-Marvell-Armada38x" href="#FreeBSD-on-Marvell-Armada38x" id="FreeBSD-on-Marvell-Armada38x">FreeBSD on Marvell Armada38x</a></h2><p>
Contact:
Marcin
Wojtas
<<a href="mailto:mw@semihalf.com">mw@semihalf.com</a>>
<br />
Contact:
Zbigniew
Bodek
<<a href="mailto:zbb@semihalf.com">zbb@semihalf.com</a>>
</p>
<p>Final testing and productionization of support for the
Marvell Armada38x platform is under way. The rebase and cleanup
is going well, with patches functioning on top of HEAD and ready for
upstreaming.</p>
<p>Specific tasks completed include:</p>
<ul>
<li>Platform benchmarking and low-level optimizations
(internal bus, L1/L2 cache prefetch) — already
submitted)</li>
<li>Enable the PL310 L2 cache controller — currently under
review</li>
<li>NETA tests, optimizations and PHY-handling rework</li>
<li><tt>e6000sw</tt> PHY handling rework and fixes</li>
<li>Fix and enable performance counter support</li>
<li>Fix timers and extract watchdog support to a separate driver</li>
<li>Crypto driver fixes — merged</li>
<li>AHCI controller support — merged</li>
<li>Thermal driver — merged</li>
<li>Merge additional support for new boards (SolidRun ClearFog
and DB-88F6285-AP)</li>
</ul>
<p>This project was sponsored by Stormshield, and Semihalf.</p><h3>Open tasks:</h3><ol><li>Submit the remaining fixes and drivers.</li></ol><hr /><h2><a name="FreeBSD/s390x-Attempt-III" href="#FreeBSD/s390x-Attempt-III" id="FreeBSD/s390x-Attempt-III">FreeBSD/s390x Attempt III</a></h2><p>
Contact:
Bjoern A.
Zeeb
<<a href="mailto:bz@FreeBSD.org">bz@FreeBSD.org</a>>
</p>
<p>A long time ago, in the FreeBSD 5 times, there was an initial
port of FreeBSD to s390 (32bit) and s390x (64bit)
which booted past <tt>init</tt> on good days in an emulator.</p>
<p>As an attempt to revive the s390x/systemz efforts I started
to get FreeBSD s390x to build with clang/llvm 3.9.
At this time, it is possible to build world and a GENERIC kernel
skeleton (not doing anything yet) using external binutils.</p>
<p>The primary idea of this initial work was to allow for
incremental addition of the necessary architecture-specific code.
Having the build framework in place will allow third-party
developers to simply type <tt>make</tt>, as they are willing
to contribute to the port without having to know FreeBSD build
specifics. After some cleanup and further updates to a more
recent HEAD I am planning to push the current work to a public
repo to facilitate collaboration.</p>
<h3>Open tasks:</h3><ol><li>Write a wiki page with per-architecture specific tasks
that need to be done, based on the current work and the experience
from arm64 and riscv.</li><li>Implement both the userspace and kernel per-architecture
gaps.</li><li>Figure out a way to get access to IBM's zPDT or better
emulators to ease implementation, testing, and debugging.</li></ol><hr /><br /><h1><a name="Ports" href="#Ports" id="Ports">Ports</a></h1><br /><h2><a name="MySQL" href="#MySQL" id="MySQL">MySQL</a></h2><table title="Links" style="white-space: nowrap;"><tr><td>Links</td></tr><tr><td><a href="https://www.mysql.com/why-mysql/presentations/mysql-80-overview/" title="https://www.mysql.com/why-mysql/presentations/mysql-80-overview/">MySQL80 Overview</a></td><td>
URL: <a href="https://www.mysql.com/why-mysql/presentations/mysql-80-overview/" title="MySQL80 Overview">https://www.mysql.com/why-mysql/presentations/mysql-80-overview/</a></td></tr><tr><td><a href="https://www.mysql.com/why-mysql/presentations/innodb-whats-new-mysql-80/" title="https://www.mysql.com/why-mysql/presentations/innodb-whats-new-mysql-80/">MySQL80 InnoDB New Features</a></td><td>
URL: <a href="https://www.mysql.com/why-mysql/presentations/innodb-whats-new-mysql-80/" title="MySQL80 InnoDB New Features">https://www.mysql.com/why-mysql/presentations/innodb-whats-new-mysql-80/</a></td></tr></table><p>
Contact:
Mahdi
Mokhtari
<<a href="mailto:mmokhi@FreeBSD.org">mmokhi@FreeBSD.org</a>>
<br />
Contact:
Mark
Felder
<<a href="mailto:feld@FreeBSD.org">feld@FreeBSD.org</a>>
</p>
<p>This quarter a new <tt>-dev</tt> version of MySQL landed in
the Ports Collection, MySQL 8.0. It introduces many new features,
though we had to (re)-patch parts of it which were merged by
MySQL from MySQL5.7.</p>
<p>We also updated MySQL 5.6 to its latest version and closed many
PRs related to it, mostly relating to using FreeBSD-provided ports
for libraries instead of the bundled copies. And of course
there were plenty of security updates.</p>
<p>We can also report that the problem of having to specify
<tt>${mysql_optfile}</tt>, which some people encountered while
using MySQL, is now considered to be solved in all MySQL
versions: 5.6, 5.7, and 8.0. Now the init script will search
all default locations, for backwards compatibility with the
variety of locations used for configuration files, before it
gives up and reports an error.</p>
<h3>Open tasks:</h3><ol><li>Test the new version and report problems.</li></ol><hr /><h2><a name="Rust" href="#Rust" id="Rust">Rust</a></h2><table title="Links" style="white-space: nowrap;"><tr><td>Links</td></tr><tr><td><a href="https://wiki.FreeBSD.org/Rust" title="https://wiki.FreeBSD.org/Rust">Wiki Portal</a></td><td>
URL: <a href="https://wiki.FreeBSD.org/Rust" title="Wiki Portal">https://wiki.FreeBSD.org/Rust</a></td></tr><tr><td><a href="https://gist.github.com/dumbbell/b587da50ef014078da9e732a4331ebad" title="https://gist.github.com/dumbbell/b587da50ef014078da9e732a4331ebad">Guide to Bootstraping Rust on FreeBSD</a></td><td>
URL: <a href="https://gist.github.com/dumbbell/b587da50ef014078da9e732a4331ebad" title="Guide to Bootstraping Rust on FreeBSD">https://gist.github.com/dumbbell/b587da50ef014078da9e732a4331ebad</a></td></tr><tr><td><a href="https://bugs.FreeBSD.org/bugzilla/show_bug.cgi?id=216143" title="https://bugs.FreeBSD.org/bugzilla/show_bug.cgi?id=216143">Bug Report to Track Progress on Bootstrapping</a></td><td>
URL: <a href="https://bugs.FreeBSD.org/bugzilla/show_bug.cgi?id=216143" title="Bug Report to Track Progress on Bootstrapping">https://bugs.FreeBSD.org/bugzilla/show_bug.cgi?id=216143</a></td></tr></table><p>
Contact:
Jean-Sébastien
Pédron
<<a href="mailto:dumbbell@FreeBSD.org">dumbbell@FreeBSD.org</a>>
<br />
Contact:
Thomas
Zander
<<a href="mailto:riggs@FreeBSD.org">riggs@FreeBSD.org</a>>
</p>
<p>In the Ports Collection, Rust was updated to 1.16.0 and Cargo
to 0.17.0, the latest versions at the time of this writing.</p>
<p><tt>lang/rust-nightly</tt> was also updated to a snapshot from
February and it is now enabled on <tt>i386</tt>. It is
lagging a bit behind upstream, but <a href="https://rustup.rs/" shape="rect">Rustup</a> works nicely on FreeBSD if
you need to try any versions/channels of Rust.</p>
<p>Work has started to bootstrap Rust on non-<tt>x86</tt> architectures.
Patches to add FreeBSD/aarch64 support were submitted and accepted
upstream. FreeBSD/sparc64 is in progress. The <tt>lang/rust-nightly</tt>
port is also being adapted to compile natively on FreeBSD/aarch64. This
work is critical, in particular because Firefox will shortly require
Rust. If you want to help, please refer to the guide linked above.</p>
<p>The compiler, <tt>rustc</tt>, is crashing sometimes when there is a
compilation error. Therefore, there is a bit of work to do to improve
stability.</p>
<p>There is some code duplication between <tt>lang/rust*</tt> and
<tt>devel/cargo</tt>. Those Makefiles deserve a bit of cleanup. It
might be useful to create a <tt>USES=rust</tt> Makefile helper.</p>
<h3>Open tasks:</h3><ol><li>Bootstrap Rust on more platforms.</li><li>Investigate compiler crashes.</li><li>Create a <tt>USES=rust</tt> Makefile helper and simplify
the Rust and Cargo ports.</li><li>Investigate how to speed up <tt>lang/rust*</tt>
compilation time.</li></ol><hr /><br /><h1><a name="Documentation" href="#Documentation" id="Documentation">Documentation</a></h1><br /><h2><a name="The-FreeBSD-Dutch-Documentation-Project" href="#The-FreeBSD-Dutch-Documentation-Project" id="The-FreeBSD-Dutch-Documentation-Project">The FreeBSD Dutch Documentation Project</a></h2><table title="Links" style="white-space: nowrap;"><tr><td>Links</td></tr><tr><td><a href="https://www.FreeBSD.org/docproj/translations.html#dutch" title="https://www.FreeBSD.org/docproj/translations.html#dutch">The Dutch Translation Project</a></td><td>
URL: <a href="https://www.FreeBSD.org/docproj/translations.html#dutch" title="The Dutch Translation Project">https://www.FreeBSD.org/docproj/translations.html#dutch</a></td></tr></table><p>
Contact:
René
Ladan
<<a href="mailto:rene@FreeBSD.org">rene@FreeBSD.org</a>>
<br />
Contact:
Remko
Lodder
<<a href="mailto:remko@FreeBSD.org">remko@FreeBSD.org</a>>
</p>
<p>Work has started on an initial translation of the FreeBSD
Handbook to the Dutch language via the "po" system. While we
have an (outdated) version of the Handbook available via the
older XML files, we are now trying to get back into shape with
the PO file.</p>
<p>Rene started working on two articles already and did some
translation of strings for the FDP-Primer, while Remko has started
working on the Handbook. If you think you can assist with either,
please send Rene and Remko an email so that
we can start coordinating work.</p>
<p>In addition, since we have a translation set already from the
XML files, it would be interesting to see whether we
can merge them easily into the PO structure. If you have ideas
on that, contact us a.s.a.p.</p>
<p>This project was sponsored by Snow B.V. (in part).</p><h3>Open tasks:</h3><ol><li>Identify a way to merge the current XML translations into
the nl_NL.po files.</li><li>Merge the translations into the .po files.</li><li>Update the remaining open items into the po files.</li><li>Remove the old/outdated translation files from the main
repo and use the <tt>po</tt> and <tt>book.xml</tt> files to generate the Dutch
handbook and other files.</li><li>Identify whether we can also translate the <tt>htdocs</tt> pages
via the PO system.</li></ol><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>
|