-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathnews.txt
2810 lines (2155 loc) · 140 KB
/
news.txt
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
===========
Genode News
===========
Genode OS Framework release 18.11 | 2018-11-29
##############################################
| Genode 18.11 is focused on improving quality assurance on various fronts,
| including static code analysis, on-target test orchestration, and
| code-coverage measurements. Furthermore, it introduces support for Mirage-OS
| unikernels, a new health-monitoring mechanism, a Genode SDK, an SSH server,
| and a new window layouter.
On our road map for 2018, we identified software quality and resilience
as one of the major topics for this year. With the current release, we fulfil
this promise on various levels, ranging from static code analysis, over
the gathering of test-coverage metrics, a new Genode-based test-automation
framework, over to the health monitoring of components at runtime.
The second theme of the current release is the use of Genode for network
appliances and server applications. On that account, the new ability of
hosting Mirage-OS unikernels directly on top of Genode as well as a new SSH
server component clear the way to entirely new application areas.
Further highlights of the current release are the enhanced flexibility of the
GUI stack of Sculpt OS, the increased network performance on Xilinx Zynq, the
initial version of a Genode SDK, performance improvements of the base-hw
kernel on NXP i.MX platforms, and the updated language support for Ada and
Java.
These and many more topics of the new version are covered by the
[https:/documentation/release-notes/18.11 - release documentation of version 18.11...]
Dual licensing of 3rd-party Genode components | 2018-11-16
##########################################################
| To nurture a sustainable ecosystem around the Genode OS framework, we
| introduce a new approach for conducting dual-licensing businesses enabled
| by Genode.
Since founded ten years ago, Genode Labs pursues the Genode project based on a
dual-licensing business model, which allows us to fund the development of
Genode as an independent team. The licensing business is enabled by the
combination of the AGPLv3 as a strong copyleft license with the library-like
nature of Genode. Until today, this model is applicable to our framework but
impractical for 3rd-party component developers. To foster a sustainable
ecosystem around Genode, we wish to enable others to pursue a similar business
model while maintaining the spirit of open collaboration and free software.
We eventually crafted a new license called "Genode Component Public License"
(Genode CPL) specifically for components developed by 3rd parties, outside of
Genode Labs. The article
[https://genode.org/documentation/articles/component_public_license - Dual licensing of 3rd-party Genode components]
provides the rationale, license text, and FAQ of this software license.
Sculpt with Visual Composition | 2018-09-21
###########################################
| The third version of Sculpt OS introduces an interactive runtime view for
| managing components.
Sculpt with Visual Composition (VC) is the third stage of the evolution of our
Genode-based general-purpose OS. With the new version, we pursue the gradual
transition from a text-based user interface to a graphical user interface for
most administrative tasks while preserving the text-based interface for
full flexibility. The central element of the new user interface is a live view
of the current system composition and the relationships between components.
The live view is accompanied with a convenient graphical user interface for
adding and removing components.
The new version is available as a ready-to-use disk image. The updated
documentation covers everything from a quick-start guide, over a high-level
description of the architecture, to advanced topics like Sculpt's manifold
customization opportunities.
[https://genode.org/download/sculpt - Download Sculpt OS...]
Genode OS Framework release 18.08 | 2018-08-30
##############################################
| Genode 18.08 advances the framework's device drivers to accommodate modern
| PC hardware, introduces a new microcode-update mechanism for Intel CPUs, and
| enhances the networking and VFS infrastructure. With the new version,
| Sculpt OS enters the next stage by moving towards an interactive graphical
| user interface.
With Genode 18.08, we enter the third episode of our story of developing the
Sculpt general-purpose OS. The release addresses four crucial concerns of
general-purpose computing, namely the support of modern hardware, the
ability to timely respond to the discovery of new CPU-level vulnerabilities
by the means of applying microcode updates, the scalability of application
workloads, and the interactive usability of the system. The latter is
particularly exciting as Genode allows us to explore new user-interface
paradigms to lay the power of capability-based security into the hands of
the user.
The most prominent aspect of the current release is the framework's
device-driver support, which includes the update of all Linux-based drivers
to kernel version 4.16.3, a largely reworked wifi stack, the split of the
USB driver into multiple components, and improved hardware compatibility of
the PS/2 and network drivers. The release also introduces an experimental
runtime for hosting drivers of Google's Fuchsia OS as Genode components.
Among the many further improvements are an extended Ada language runtime,
added multi-processor support for our custom base-hw microkernel on x86,
the ability to route network traffic between an arbitrary number of
physical NICs, and a new way to select the networking stack of a
component between lwIP and the Linux TCP/IP by a mere configuration change.
All improvements are covered in detail by the
[https:/documentation/release-notes/18.08 - release documentation of version 18.08...]
Sculpt for The Curious | 2018-06-13
###################################
| The second incarnation of Sculpt OS comes in the form of a ready-to-use
| disk image.
Sculpt for The Curious is the second development stage of the Genode-based
general-purpose OS used at Genode Labs. Compared to the initial version, which
was targeted at early adopters only, the new version invites a broader user
base to explore the system. It comes in the form of a ready-to-use disk image
for a bootable USB thumb drive. Immediately after booting the Sculpt base
system, a graphical user interface enables the user to access and manage
storage devices, and to configure network connectivity. The actual "sculpting"
of the system is performed using a text-based interface, which is described in
the accompanied documentation. It covers everything from the configuration of
the base system up to the installation and deployment of software.
[https://genode.org/download/sculpt - Download Sculpt OS...]
Genode OS Framework release 18.05 | 2018-05-31
##############################################
| With Genode 18.05, we have reached the second stage of Sculpt OS,
| empowering the user with the automation of fundamental work flows and
| a new user interface for storage management and network access.
| Further highlights include the added support for Java, a new NVMe device
| driver, enhanced VFS infrastructure, and an updated revision of the Genode
| Foundations book.
Our [https://genode.org/about/road-map - Year of Sculpt] continues at a
rapid pace. The just released version 18.05 of the Genode OS Framework
features the second incarnation of the Sculpt general-purpose OS, targeting
the group of people who follow our project with curiosity. Sculpt for The
Curios (TC) introduces an interactive user interface for fundamental tasks
like selecting and managing storage options, or connecting to a network.
It completely streamlines the installation and deployment of additional
software by leveraging Genode's custom package-management system. The result
is an operating system with a flexibility and fun factor that strikes even us
with surprise.
The current release contains countless side products of this line work,
including the resolution-independent display of text, the dynamic adjustment
of user-level network routing, the flexible detection and management of
partitions and file systems, and the support of USB storage devices from
diverse vendors.
Beyond the immediate scope of Sculpt, the new version features the initial
support for the Java language, improves the Ada language support, enhances the
VFS infrastructure with new copy-on-write and audit plugins, and improves
the support for the NXP i.MX SoCs.
The entire picture is presented in detail by the
[https:/documentation/release-notes/18.05 - release documentation of version 18.05...]
Sculpt for Early Adopters | 2018-03-02
######################################
| A detailed step-by-step guide for installing and using the Genode-based
| Sculpt OS is available now.
Sculpt for Early Adopters (EA) is the first revision of our Genode-based
general-purpose OS. This version is targeted at enthusiasts who are already
familiar with Genode. The documentation covers everything needed to get
it running on a real machine. This includes disk preparation, input handling,
wireless networking, storage, software installation and deployment, and
virtualization.
*Printable version (pdf)* [https:/documentation/sculpt-ea.pdf]
*Online version* [https:/documentation/articles/sculpt-ea]
Genode OS Framework release 18.02 | 2018-02-28
##############################################
| Genode version 18.02 kicks off the Year of Sculpt by featuring the
| first revision of the Sculpt operating system for general-purpose
| computing. Further highlights of the new release range from
| network-stack improvements, over a new tracing utility, to the
| experimental use of the Nim programming language.
Since we announced the Year of Sculpt on our
[https://genode.org/about/road-map - roadmap], our team anticipated the
release of version 18.02 with excitement. The current release officially
presents the first revision of the Sculpt operating system, which is targeted
at the use of Genode as day-to-day OS. In fact, the system has been in
use internally at Genode Labs for several months. We feel confident in
sharing it with a broader community now.
Driven by the demands of Sculpt, the most prominent topics of this release
are Genode's new mechanisms for installing, updating, and deploying software
from within a running Genode system. Further highlights are the experimental
use of the Nim programming language for the implementation of Genode servers,
a new tracing utility that makes Genode's existing tracing infrastructure much
easier to use, improvements across the entire user-level networking stack, and
updates of many 3rd-party software packages.
These and many more topics are covered in detail by the
[https:/documentation/release-notes/18.02 - release documentation of version 18.02...]
Road Map for 2018 | 2018-01-17
##############################
| 2018 will be the year of Sculpt.
In autumn last year, a new Genode system scenario called "Sculpt" emerged.
By the end of 2017, all members of the Genode-Labs team switched to this
operating system on their laptops. The planning of 2018 revolves around the
ambition to expand the user base of Sculpt in several steps. Additionally,
the year will be focused on software quality, device-driver support for
popular ARM boards, Genode's custom kernel, and seL4.
The new road map is available at the [https:/about/road-map - road-map page].
Genode at FOSDEM 2018 | 2018-01-16
##################################
| Genode will participate in the microkernel developer room at FOSDEM with
| three presentations, covering our recent work on GPUs, user-level networking,
| and the dynamic sculpting of a Genode-based system.
The microkernel developer room at FOSDEM is the melting pot of the open-source
microkernel world where projects and users meet to present their work and
experience with microkernel-based operating systems. Like every year, we will
take the chance to present the recent developments of Genode to the audience.
If you are curious about the technology, or interested in meeting the people
behind the projects, please do not hesitate to join us at FOSDEM, which will
be held on 3rd - 4th of February in Brussels:
FOSDEM 2018: [https://fosdem.org/2018/]
This year, the following Genode-related topics will be presented:
Saturday 11:05 *GPU resource multiplexing in component based systems*
_Microkernel devroom (AW1.126)_
[https://fosdem.org/2018/schedule/event/microkernel_genode_gpu_multiplexing/ - abstract...]
Saturday 12:25 *Live sculpting a Genode-based operating system*
_Microkernel devroom (AW1.126)_
[https://fosdem.org/2018/schedule/event/microkernel_genode_live_sculpting/ - abstract...]
Saturday 17:30 *User-level networking on Genode*
_Microkernel devroom (AW1.126)_
[https://fosdem.org/2018/schedule/event/microkernel_genode_user_level_networking/ - abstract...]
The complete schedule of the developer room is available at
[https://fosdem.org/2018/schedule/track/microkernels/].
Genode OS Framework release 17.11 | 2017-11-30
##############################################
| Most of the many improvements of version 17.11 are geared towards the
| practical use of Genode as day-to-day OS. They include a reworked GUI
| stack, new user-input features, and the packaging of many components.
| The new version also revises the boot concept on x86, updates the seL4
| kernel, and enhances Genode's user-level networking facilities.
Whereas each Genode release is usually focused on one or two flagship
features, version 17.11 accumulated countless improvements made during the
practical use of Genode on a day-to-day basis. The topics range from
convenience features like scroll-wheel emulation for Lenovo trackpoints, over
the proper handling of keyboard modes (numlock and capslock), to a reworked
GUI stack that takes new usage patterns into account. Since the forthcoming
general-purpose scenario is entirely based on Genode's recently introduced
custom package-management concept, it prompted us to package all ingredients
of the scenario.
On the platform level, the new version streamlines the boot concept on x86
among all supported kernels. All x86 microkernels consistently use GRUB2 now.
Modern kernels like seL4, NOVA, or our custom kernel are able to boot via UEFI
and legacy boot. Speaking of our custom kernel, the current release wraps up a
long-term internal redesign that simplifies the kernel while improving its
performance.
Feature-wise, the new release further cultivates the use of the Nim
programming language for native Genode components, includes a port of
libretro-based emulators for game consoles, and enables the resizing of
libSDL-based applications like avplay.
The complete picture is presented in the official
[https:/documentation/release-notes/17.11 - release documentation of version 17.11...]
Genode OS Framework release 17.08 | 2017-08-30
##############################################
| Version 17.08 enables hardware-accelerated graphics on Intel-Gen8 GPUs
| and expands Genode's seL4-kernel support to the ARM and 64-bit x86
| architectures. Further topics are UEFI boot, VFS enhancements such as a
| new FatFS plugin, and the use of Genode as Xen DomU.
The new release bears the fruit of our long-term investigation of
hardware-accelerated graphics on modern Intel platforms that we conducted over
the past year. The result is a brand new low-complexity GPU multiplexer that
is designed after microkernel principles. With far less than 10K lines of
code, it paves the ground for leveraging the power of GPUs at an extremely
tiny footprint on the trusted computing base. The GPU multiplexer is
accompanied with the matching application-side library infrastructure such as
Mesa, libdrm, Qt5 bindings, SDL bindings. This allows Genode components to use
the GPU with standard APIs like OpenGL.
The seL4 microkernel is becoming more and more popular. Since about one year,
most Genode scenarios are able to use this kernel on the 32-bit x86
architecture. The growing interest in the combination of seL4 with Genode
prompted us to expand the architecture support to ARM and 64-bit x86 now.
Additionally, we enabled SMP on x86, priority support, and Genode's CPU-time
monitoring facility on this kernel.
Speaking of Genode's underlying kernels, the current release equips NOVA,
seL4, and our custom base-hw kernel with UEFI-boot support. It updates the
Muen separation kernel to a current version, and adds the ability to run
Genode as Xen DomU domains.
These and the many more topics of the new version are covered by the
[https:/documentation/release-notes/17.08 - release documentation of version 17.08...]
Genode OS Framework release 17.05 | 2017-05-31
##############################################
| With a profoundly updated framework infrastructure such as GCC 6.3,
| Qt 5.8, and VirtualBox 5.1.22 for NOVA, the just released version 17.05
| promises to be a suitable basis for longer-term maintenance and is
| accompanied with a new edition of the "Genode Foundations" book.
With the mid-year release of Genode, we hope to provide a solid basis for
long-living projects built on top of the framework. For this reason, we
updated the official tool chain as well as our ports of Qt and VirtualBox
to current versions, which are there to stay in the foreseeable future.
We also finalized the series of architectural and API-related changes that
we started one year ago. The release is accompanied with a new edition of
the "Genode Foundations" book that reflects the current state of the framework.
Feature-wise, the most visible improvement is a new approach and the
corresponding tooling for package management. While still officially declared
as experimental, it already becomes apparent that it will bring Genode to a
new level of scalability. Among the many further improvements are the support
for the Ada and Nim programming languages, a new timing API, and new tools for
monitoring network traffic and CPU load. All changes are covered in full
detail in the
[https:/documentation/release-notes/17.05 - release documentation of version 17.05...]
Google Summer of Code | 2017-03-01
##################################
| Genode will participate under the umbrella of the FOSDEM microkernel
| devroom as mentoring organization in this year's Google Summer of Code
| program.
Thanks to the initiative of Jakub Jermar and Martin Decky of the
HelenOS project, multiple prominent open-source microkernel projects submitted
a joint application to this year's Google Summer of Code (GSoC) program under
the umbrella of FOSDEM microkernel devroom.
As announced on the umbrella's [http://gsoc.microkernel.info - official GSoC page],
the involved projects are HelenOS, Redox, MINIX 3, and Genode. In anticipation
of the application, we have largely revisited our list of future technical
challenges:
*Genode-related topics:* [https://genode.org/about/challenges]
Those topics are meant as inspiration. It goes without saying that we
welcome other suggestions. If you are interested to participate in this
year's GSoC with a Genode-related topic, the following steps are best way
to get started:
Learn the basics about Genode by skimming through the
[https://genode.org/documentation/genode-foundations-16-05.pdf - Genode Foundations book],
downloading the code, and experimenting with a few simple example scenarios.
You will find the steps described in the book.
If this experience leaves a good impression on you, please continue with
making yourself known at the
[https://genode.org/community/mailing-lists - Genode mailing list] by posting
a short introduction of yourself, your primary interests, and possibly a topic
that you'd like to engage in. Please don't hesitate to consult the list with
any technical questions you might have. Note that the mailing list will be the
tool of choice for mentoring you during GSoC. Hence, you should be comfortable
in using it. Please keep in mind that friendly and concise written
communication is crucial for our project, and will thereby be an important
criterion for considering your application.
We thank Google for accepting the microkernel devroom as a mentoring
organization this year and look forward to GSoC students engaging with us!
Genode OS Framework release 17.02 | 2017-02-28
##############################################
| By introducing application binary interfaces, version 17.02 cultivates
| the cross-kernel binary compatibility of components. Furthermore, the
| new version comes with a vastly improved VFS infrastructure, new input-event
| processing capabilities, and a dynamic component-composition engine.
On the long road towards binary compatibility of Genode components across OS
kernels as different as L4, NOVA, seL4, or Linux, we reached a breakthrough by
mid of 2016. It took us another six months to fully cultivate this unique
feature and to integrate it seamlessly into our development work flows. With
the current version, we have ultimately reached the point where one can move
entire system scenarios from one kernel to another in just a few seconds.
With the improved virtual file-system (VFS) infrastructure that comes with the
new version, such system scenarios can become more and more sophisticated.
Genode takes the meaning of _virtual_ file systems to an entirely new level.
Not only does Genode virtualize the physical location of files but each
component can have its own VFS whereby the supported file-system types are
provided by VFS plugins. Those plugins can go as far as providing a TCP/IP
stack as showcased by Genode's use of the Linux TCP/IP stack as VFS plugin.
The composition of subsystems out of Genode components is another highlight of
the current release. In each Genode-based system, the init component already
plays a central role as it bootstraps the initial system components. Thanks to
Genode's recursive system structure, init can easily be nested. With the
improvements of the new version, such a nested init becomes a dynamic
system-composition engine that responds to configuration updates and applies
changes to its subsystem in a differential way.
These and many more improvements are covered in full detail in the
[https:/documentation/release-notes/17.02 - release documentation of version 17.02...]
Open-source license update | 2017-02-21
#######################################
| With the upcoming version 17.02, Genode will adopt the GNU Affero General
| Public License (AGPLv3) as its regular open-source license.
Since our first release in 2008, Genode has been available under two flavors
of licenses addressing different user bases. With Genode's regular open-source
license, we address the Free-Software community, researchers, and technology
enthusiasts. With the commercial license, Genode Labs enables product vendors
to leverage Genode's technology for their businesses.
For our open-source license, we originally picked the time-tested GNU General
Public License version 2 (GPLv2). However, the time did not stand still. After
9 years, it is time to update the license to a more recent version. After
careful review of the open-source licensing landscape, we settled on the GNU
Affero General Public License (AGPLv3), which is based on the GNU GPLv3 and
thereby rectifies several shortcomings of the GPLv2. Furthermore, it closes
loopholes of the GPLv3 license with respect to web applications. Unlike 2008
when most applications were programs executed directly on the end user's
computer, web applications have become predominant by now.
To address possible concerns about the interoperability of the AGPLv3 with
other open-source licenses, Genode's license will be accompanied with a
linking-exception clause that clarifies our consent to link Genode with all
commonly established open-source licenses.
In December, we presented our plan of the license change to the subscribers of
Genode's mailing list. The following constructive
[https://sourceforge.net/p/genode/mailman/genode-main/thread/585116C8.2020607%40genode-labs.com/#msg35550569 - discussion]
within the community helped us to refine our linking clause and to create a
common understanding of the rationale behind our licensing choice. Thanks to
everyone who participated in this discussion!
Road Map for 2017 | 2017-01-17
##############################
| The year 2017 will be overall focused on stressing the scalability and
| stability of the framework.
After wrapping up the revision of Genode's architectural underpinnings and its
API in 2016, it is time to push the scalability of the framework further.
Over the course of 2017, we plan to greatly ease the creation of Genode
systems out of packages, enable automated system updates, move our regular
work flows from GNU/Linux to the Genode world, and extend the application
scope of Genode systems to cloud-based appliances.
The new road map is available at the [https:/about/road-map - road-map page].
Genode at FOSDEM 2017 | 2017-01-11
##################################
| The microkernel developer room at this year's FOSDEM will host four
| Genode-related talks, ranging from our custom kernel, over
| kernel-independent binaries, execution replay, to Genode's VFS
| infrastructure.
To us, the microkernel developer room at FOSDEM in Brussels has become
the most anticipated joint event of the open-source microkernel world.
The developer room is part of FOSDEM, which is the world's largest
event of the Free-Software and Open-Source community. The upcoming
FOSDEM will be held on 4th - 5th of February in Brussels:
FOSDEM 2017: [https://fosdem.org/2017/]
Originally initiated by our friends of the HelenOS project, the micro-kernel
developer room is shepherded by a different project each year. In 2017, it's
our turn to host the event. The developer room is open for all open-source
projects that are related to microkernels or component-based operating
systems. It features a mix of project introductions, experience stories,
progress reports, discussions, and demos. This year, the following
Genode-related topics will be presented:
Saturday 10:45 *A kernel in a library Genode's custom kernel approach*
_Microkernel devroom (AW1.125)_
[https://fosdem.org/2017/schedule/event/microkernel_kernel_library/ - abstract...]
Saturday 12:45 *Deterministic replay support for Genode components*
_Microkernel devroom (AW1.125)_
[https://fosdem.org/2017/schedule/event/microkernel_replay_support/ - abstract...]
Saturday 14:24 *Introducing kernel-agnostic Genode executables*
_Microkernel devroom (AW1.125)_
[https://fosdem.org/2017/schedule/event/microkernel_kernel_agnostic_genode_executables/ - abstract...]
Saturday 17:10 *The VFS paradigm from the perspective of a component OS*
_Microkernel devroom (AW1.125)_
[https://fosdem.org/2017/schedule/event/microkernel_vfs_component_os/ - abstract...]
The complete schedule of the developer room is available at
[https://fosdem.org/2017/schedule/track/microkernels_and_component_based_os/].
Genode OS Framework release 16.11 | 2016-11-30
##############################################
| Version 16.11 revisits the most fundamental low-level protocols of the
| framework to further improve its scalability, refines the
| virtual networking facilities, adds support for smart cards, and
| improves the NOVA kernel.
The fundamental mechanism of Genode is the interplay between parent and
child components. This interplay remained unchanged since the very first
version more than ten years ago. With the current release, we ultimately
took the chance to revisit those low-level aspects of the framework in the
light of the design of modern components. Specifically, we replaced the
former fully synchronous model of interaction with asynchronous communication.
Even though this change is barely visible at the API level of the framework,
it greatly eases the validation of the framework's most crucial components and
facilitates the scaling-up of Genode-based systems.
As the second prominent improvement, we refined the design and configuration
interface of the recently introduced network routing facilities. Whereas
the initial version was primarily concerned with the details of network
packet processing, the new version is tailored to the most prominent use cases
and towards the ease of use.
Further highlights of the current release are the added support for using
smart cards, kernel improvements of the NOVA hypervisor, updated VirtualBox
versions, and a virtual file system for generating time-based passwords.
The topics are covered in more detail by the
[https:/documentation/release-notes/16.11 - release documentation of version 16.11...]
Genode OS Framework release 16.08 | 2016-08-31
##############################################
| Genode 16.08 makes the entirety of the framework's drivers, protocol stacks,
| and libraries available on the seL4 kernel, brings VirtualBox 4 to the Muen
| separation kernel, and hosts VirtualBox 5 on top of the NOVA kernel. Further
| highlights are virtual networking and TOR, profound Zynq board support, and
| tools for statistical profiling.
With the current release, the interoperability of Genode with different
OS kernels comes to a great effect. By completing the implementation of
the framework's base mechanisms for seL4, literally hundreds of existing Genode
components become suddenly available to the seL4 community. In a different
arena, Genode serves as enabler to run commodity OSes like Windows via
VirtualBox on top of the Muen separation kernel.
The cross-kernel portability of components is certainly a key feature of the
framework and version 16.08 pushes this idea even further by attaining binary
compatibility across the various supported kernels. In fact, compiled once,
the same component can be executed on kernels as different as seL4 and Linux.
Speaking of components, the current release extends the framework's library
of ready-to-use building blocks in several areas. Most prominently, there
are new network-related components for routing traffic, using TOR, and for
distributing Genode over the network. Other added components are concerned
with improving the use of Genode as a general-purpose OS, or to aid the
optimization of components by the means of statistical profiling.
Version 16.08 is further complemented with added board support for devices
based on Xilinx Zynq, including drivers for GPIO, video DMA, SD cards, and I2C.
These and many more topics are covered in detail by the
[https:/documentation/release-notes/16.08 - release documentation of version 16.08...]
Genode OS Framework release 16.05 | 2016-05-27
##############################################
| With version 16.05, the Genode API receives a fundamental revision.
| The list of further improvements ranges from the introduction of Rust,
| over improved GDB support, to a profound update of many device drivers
| and ACPI features.
The current release marks the most profound API revision in the project's
history. The new API is designed to reinforce the best practices
for implementing Genode components. It is the result of countless
experiments and the practical experiences made while developing over hundred
genuine components during the past ten years.
The introduction of the new API prompted us to rework our documentation.
In particular, Genode 16.05 is accompanied with a new edition of the
"Genode Foundations" book that incorporates all architectural changes and
interface modifications of the past year.
The second focus of the current release is the major update of device
drivers. All the drivers that we ported from the Linux kernel correspond
now to Linux version 4.4.3. Those drivers comprise the Intel wireless
stack, the Intel graphics driver, the USB drivers, and the TCP/IP stack.
The updated OpenBSD-based audio driver corresponds to OpenBSD 5.9.
Apart from the revision of the base framework and device drivers, Genode
gains the ability to use the Rust programming language, makes many ACPI
features accessible, and allows the use of the GNU debugger with the
64-bit version of the NOVA hypervisor.
The complete story behind these and many more changes is covered by the
[https:/documentation/release-notes/16.05 - release documentation of version 16.05...]
How Genode came to RISC-V | 2016-03-22
######################################
| Our new article provides a look behind the scenes of porting Genode to
| the RISC-V hardware architecture.
The experience report
[https:/documentation/articles/riscv - How Genode came to RISC-V] complements
our recent
[https:/documentation/release-notes/16.02#New_support_for_the_RISC-V_CPU_architecture - announcement]
about Genode's added RISC-V support with in-depth technical information.
It briefly introduces the parts of the instruction set architecture (ISA) that
were most relevant for the porting work, presents various challenges we
encountered, and explains how we overcame them.
The article is written with two target audiences in mind: People interested in
practical experiences with RISC-V, and developers who aspire to port Genode
to new CPU architectures.
[https:/documentation/articles/riscv - Read the article...]
Genode OS Framework release 16.02 | 2016-02-26
##############################################
| Genode 16.02 introduces the RISC-V hardware architecture to the framework,
| enables the secure pass-through of USB devices to virtual machines, and
| updates the Muen separation kernel and the seL4 microkernel.
In contrast to the feature-oriented previous release, the new version focuses
on diverse topics around low-level platform support. First, there is the
addition of a new hardware architecture. With the addition of RISC-V,
we anticipate future trustworthy open-source hardware platforms.
Second, as the major functional addition motivated by Genode's use as
day-to-day OS, the new version adds the ability to assign USB devices to
virtual machines in a dynamic yet secure way. This clears the way to cover
many typical desktop work-flows with a Genode-based system.
With respect to the framework's underlying kernels, we are happy to
announce the update of the Muen separation kernel to version 0.7 and the
update of the seL4 kernel to version 2.1. The new version of Muen comes with
welcome work-flow improvements. In fact, the separation kernel can now be
targeted by Genode's automation tools in the same uniform way as all the other
base platforms.
An in-depth coverage of these and many more improvements is provided by the
[https:/documentation/release-notes/16.02 - release documentation of version 16.02...]
Road Map for 2016 | 2016-01-15
##############################
| We finalized the road map for 2016, which is primarily focused on extending
| the community of users.
After having passed the point where a few enthusiasts use Genode as
their day-to-day OS, it is time to extend the user base beyond
the inner circle of developers. The road map outlines the plan to make Genode
appealing to two target audiences, namely system builders and a narrow group
of privacy-considerate end users. Hence, the overall theme of 2016 is to
help a growing community to leverage the full potential of Genode.
The new road map is available at the [https:/about/road-map - road-map page].
Genode at FOSDEM 2016 | 2016-01-12
##################################
| There are four Genode-related talks scheduled at this year's FOSDEM,
| covering the USB Armory, seL4, the Nix package manager, and Genode
| as desktop OS.
[https://fosdem.org/2016 - FOSDEM] is the worlds biggest gathering of
open-source and free-software enthusiasts. It takes place during 30 and 31 of
January in Brussels. This year, Genode will show a strong presence again. On
Saturday, Emery, Martin, and Norman will contribute to the
[https://fosdem.org/2016/schedule/track/microkernels/ - microkernel devroom].
On Sunday, we have the opportunity to present the current state of Genode as
desktop OS at the desktops devroom. The summary of the Genode-related parts of
the FOSDEM schedule is as follows.
Saturday 10:40 *An exploration of the seL4 kernel from Genode's perspective*
_Microkernel devroom (K.4.601)_
[https://fosdem.org/2016/schedule/event/microkernels_genode_sel4/ - abstract...]
Saturday 14:10 *Porting Nix to Genode - Package management without a canonical file system*
_Microkernel devroom (K.4.601)_
[https://fosdem.org/2016/schedule/event/microkernels_genode_nix/ - abstract...]
Saturday 15:55 *Genode's TrustZone demo on the USB Armory*
_Microkernel devroom (K.4.601)_
[https://fosdem.org/2016/schedule/event/microkernels_genode_usb_armory/ - abstract...]
Sunday 10:20 *Genode as Desktop OS*
_Desktops devroom (K.4.401)_
[https://fosdem.org/2016/schedule/event/genode_as_a_desktop_os/ - abstract...]
The story behind Genode's TrustZone demo on the USB Armory | 2015-12-08
#######################################################################
| Our latest article provides a look behind the scenes of the
| development of Genode's support for the USB Armory platform.
The [http://inversepath.com/usbarmory - USB Armory] is a computer in the form
of a USB stick. It normally runs Linux. But thanks to the ARM TrustZone
capabilities of the device, it is possible to run Genode behind the back of
Linux. This is useful for shielding sensitive information like cryptographic
keys from Linux by exposing it to Genode only and thereby drastically reducing
the attack surface. Even in the event Linux gets compromised, e.g., by a
vulnerability in the USB stack, the secrets remain protected.
The article "The story behind Genode's TrustZone demo on the USB Armory"
presents the adventurous story behind enabling this scenario. The biggest challenge
was splitting the hardware platform into two worlds while maintaining the
full functionality of Linux. The article goes on to explain the interplay
between the secure world (Genode) and the normal world (Linux). Furthermore,
it provides all the pointers needed to reproduce the scenario.
[http:/documentation/articles/usb_armory - Read the article...]
Genode OS Framework release 15.11 | 2015-11-30
##############################################
| The primary focus of version 15.11 is the use of Genode as a desktop
| OS. It vastly improves the GUI and audio stacks, features the port of Intel
| KMS from Linux, extends the support for the USB Armory and Xilinx Zynq-7000,
| and introduces new file-system infrastructure such as a VFS server.
Whereas the previous release marked the point where the very first user adopted
Genode as day-to-day OS, we maintained the direction to create a Genode-based
desktop OS. Most improvements of the new version are related to this goal:
The GUI and audio stacks have become much more modular, dynamic, and flexible.
With a new copy-and-paste mechanism, we added a universally expected
desktop-integration feature in a unique way that mitigates the misuse of the
clipboard as a covert communication mechanism. Those higher-level features
are complemented with profound low-level device-driver improvements, most
noteworthy the addition of the Intel KMS driver. This driver allows us to
drive multiple displays and switch screen resolutions on the fly.
What high- and low-level components have in common, is the use of Genode's
uniform configuration concept, which solves a variety of configuration
problems with a single low-complexity mechanism. It allows us to modify
all kinds of system configurations - ranging from the wireless driver
to the style of window decoration - live by merely editing and saving
text files.
Even though the majority of improvements are attributed to the use of
Genode as desktop OS, the release also covers other areas.
Xilinx Zynq-7000 has been added to the supported platforms, TrustZone on
the USB Armory received a lot of attention, and a new VFS server makes
Genode's file-system infrastructure much more flexible.
These and many more topics are covered in detail by the
[https:/documentation/release-notes/15.11 - release documentation of version 15.11...]
Genode OS Framework release 15.08 | 2015-08-31
##############################################
| Version 15.08 marks the starting point of Genode used as day-to-day
| operating system, which underlines the maturity and scalability of the
| framework. A further highlight is the ability to execute Genode on
| top of the Muen separation kernel.
Since the first release of Genode seven years ago, we dreamed of being able
to use our OS technology as the underlying platform for our day-to-day
computing needs. With the current version, the day has come: One of
Genode's core developers has made the switch and others plan to follow
soon. Hence, the use of Genode as day-to-day OS is the underlying
theme of most improvements seen in the new version. It addresses
long-standing deficiencies of the kernel-memory management of the NOVA kernel
and Genode's custom kernel platform, extends the framework's
system-monitoring and file-system abilities, and significantly improves the
integration of VirtualBox with Genode.
The second highlight of version 15.08 is the ability to execute Genode
system scenarios on top of the Muen separation kernel. Compared to
microkernels, Muen takes the ambition to reduce kernel complexity to an
extreme. Written in the safe implementation language SPARK and with a code
complexity of merely 5,000 lines, it lends itself to be high assuring about
its correct behavior. From Genode's point of view, Muen represents an
additional target architecture of the framework's custom base-hw kernel. The
component isolation enforced by base-hw and the static isolation boundaries
enforced by Muen represent two lines of defense for protecting
security-critical system functions from untrusted components.
More details about all the improvements are provided by the
[https:/documentation/release-notes/15.08 - release documentation of version 15.08...]
Genode OS Framework release 15.05 | 2015-05-26
##############################################
| For the first time, a Genode release is accompanied by a book.
| Further highlights of the current release are vast improvements of our
| base-hw kernel, preliminary support for the seL4 microkernel, new
| device-driver infrastructure, and plenty of new device drivers.
With version 15.05, we equip Genode users with comprehensive documentation
in the form of the free book "Genode Foundations". The book covers the
architecture in great detail, assists developers with the explanation of the
development environment and system configuration, and provides insights behind
the scenes of the framework. Furthermore, the book contains the specification
of the framework's programming interfaces.
Besides the documentation, the second highlight of the release is the base-hw
kernel, which enables the execution of Genode without a 3rd-party microkernel.
Our kernel, originally designed for the ARM architecture, has become able
to run on the 64-bit x86 architecture, it received support for
kernel-protected capabilities, and its scheduler got much more flexible.
Even though we invest a lot of work in our custom kernel, the biggest
strength of Genode is its ability to leverage the benefits of different
kernels. With the current release, we introduce preliminary support to run
simple system scenarios on top of the seL4 microkernel. With seL4, there
is now the prospect of running Genode on top of a formally verified kernel.
At the framework's architectural level, we took the opportunity to
redesign the infrastructure for user-level device drivers. With this
release, device drivers become subjected to rigid access control with respect
to hardware resources. Along with this architectural change, there are
massive improvements of the device driver support. There is a new AHCI
driver, new audio drivers ported from OpenBSD, new SD-card drivers,
added platform support for i.MX6, and support for message-signalled interrupts
on x86-based machines.
A detailed description of all the improvements is provided by the
[https:/documentation/release-notes/15.05 - release documentation of version 15.05...]
Genode's core running on the seL4 kernel | 2015-05-18
#####################################################
| In the third part of our seL4 article series, we describe the steps
| taken to run Genode's fundamental components on seL4.
The article "Porting the core component" builds upon the experience gained
from the first two articles to execute Genode-based systems on
top of seL4. As for the previous articles, it is full of technical insights
into both seL4 and Genode. Among the many challenges that had to be overcome
are the management of capabilities and memory, the synchronous RPC
communication between components, and the handling of page faults. As result,
simple Genode system scenarios can be readily executed on top of the seL4 kernel.
[https://genode.org/documentation/articles/sel4_part_3 - Read the article...]
All the steps described in the article can be followed in the
topic branch [https://github.com/nfeske/genode/commits/sel4] of the ongoing
development. Furthermore, the principle support for seL4 will be featured
in the upcoming Genode release 15.05.
An in-depth look into the ARM virtualization extensions | 2015-03-12
####################################################################
| Our new article explores the mechanisms of the ARM virtualization extensions
| and describes how Genode's custom base-hw kernel was turned into
| a microhypervisor.
With the recently published
[https:/documentation/release-notes/15.02 - version 15.02], Genode received
support for ARM's virtualization extensions. While conducting this line
of work during the year of 2014, we took the chance to thoroughly document
the experience. The article "An in-depth look into the ARM virtualization
extensions" presents the overall virtualization architecture and goes into
detail about the virtualization of memory, CPU, interrupts, and time.
Furthermore, it covers a series of experiments with I/O protection mechanisms.
[https:/documentation/articles/arm_virtualization - Read the article...]
Exercising the seL4 kernel interface | 2015-03-10
#################################################
| The second part of the article series about Genode on seL4 goes into
| detail about the kernel mechanisms for synchronous inter-process
| communication and the management of virtual memory.
The article "Genode on seL4 - IPC and virtual memory" examines the most
important mechanisms of the seL4 kernel.
It covers synchronous inter-process communication between threads, the
delegation of capabilities, and the management of virtual memory.
Apart from presenting hands-on experience with using the kernel, it identifies
potential challenges for using it as Genode base platform.
[https://genode.org/documentation/articles/sel4_part_2 - Read the article...]
All the steps described in the article can be followed in the
topic branch [https://github.com/nfeske/genode/commits/sel4] of the ongoing
development.
Genode OS Framework release 15.02 | 2015-02-27
##############################################
| Version 15.02 extends the base-hw kernel with ARM-virtualization support,
| introduces a highly modularized tool kit for automated testing, adds
| support for the USB Armory platform, and improves the performance and
| stability of VirtualBox on Genode/NOVA.
Most of the previous releases were motivated by our desire for features that
we deemed as fundamentally important to use Genode as a general-purpose
system. Now that we have reached most of the feature set that we longed after,
the project adjusts its focus. According to our recently published
[https://genode.org/about/road-map - roadmap], the underlying theme of the
current development shifted towards the cultivation of the existing feature
set rather than the introduction of new functionality. The current release
perfectly reflects this change. It introduces a highly modular tool kit for
scaling up the project's automated testing efforts and comes with stability
and performance improvements all over the place. In particular, we are happy
to report substantial performance gains of our version of VirtualBox running
on NOVA.
As a second focus of the version 15.02, our custom base-hw kernel platform
received a lot of attention. The most prominent news is the added support
for virtualization on ARM. This line of work has been conducted and refined over
the time span of more than a year and took much of our prior experience with
the NOVA virtualization architecture and ARM TrustZone into account. This
experience resulted in a novel microhypervisor design with an extremely
tiny foot print with respect to the added complexity on the account of
virtualization support. In fact, less than 1000 lines of code had to be added
to the root of the trusted computing base. Besides virtualization
support, our kernel's scheduler got refined to take IPC relationships into
account while additionally gaining support for the USB Armory hardware platform.
These and many more improvements are covered in more detail by the
[https:/documentation/release-notes/15.02 - release documentation of version 15.02...]
Road Map for 2015 | 2015-01-14
##############################
| After brainstorming Genode's mid-term future on our mailing list,
| we finalized our road map for this year.
The development during the past years was primarily driven by our desire for
features. With respect to the feature set, we have eventually reached a state
where Genode becomes viable as general-purpose computing platform.
That said, we are still not there yet, because apart from a list
of features, it is important how those features fit together and
how easy it is to use them. Therefore, the focus for 2015 will be
the consolidation and cultivation of the existing feature set.
Still, there will be room for new developments, i.e., the use of
Genode on the seL4 kernel.
The new road map is available at [https://genode.org/about/road-map].
Genode at FOSDEM 2015 | 2015-01-14
##################################
| With three talks, Genode will show a strong presence at this year's FOSDEM.
| The talks will cover an introduction of Genode, our line of work
| regarding VirtualBox on NOVA, and Genode's evolving GUI architecture.
Keeping up with our tradition to participate in the worlds largest
gathering of the open-source and free-software community, we are happy
to announce three talks to be held by Norman Feske at FOSDEM 2015:
Sunday 12:00 - 12:25 *Genode - OS security by design*
_Security devroom (AW1.120)_