mirror of
https://github.com/genodelabs/genode.git
synced 2025-01-07 06:18:48 +00:00
doc: replace http by https in links where possible
This also fixes some mixed content pages on genode.org and, thus, removes the ugly browser warning, e.g., on https://genode.org/documentation/release-notes/17.05.
This commit is contained in:
parent
a90aa78c6e
commit
63048fb89f
@ -98,10 +98,10 @@ Applications and library infrastructure
|
|||||||
Thanks to the C runtime, the flexible per-component VFS, the standard
|
Thanks to the C runtime, the flexible per-component VFS, the standard
|
||||||
C++ library, and the Noux runtime (for UNIX software), porting software
|
C++ library, and the Noux runtime (for UNIX software), porting software
|
||||||
to Genode is relatively straight forward. The
|
to Genode is relatively straight forward. The
|
||||||
[http://genode.org/documentation/developer-resources/porting - porting guide]
|
[https://genode.org/documentation/developer-resources/porting - porting guide]
|
||||||
explains the typical steps. A wish list of software that we'd like to
|
explains the typical steps. A wish list of software that we'd like to
|
||||||
have available on Genode is available at
|
have available on Genode is available at
|
||||||
[http://usr.sysret.de/jws/genode/porting_wishlist.html].
|
[https://usr.sysret.de/jws/genode/porting_wishlist.html].
|
||||||
|
|
||||||
:Native Open-Street-Maps (OSM) client:
|
:Native Open-Street-Maps (OSM) client:
|
||||||
|
|
||||||
@ -121,7 +121,7 @@ Application frameworks and runtime environments
|
|||||||
|
|
||||||
:OpenJDK:
|
:OpenJDK:
|
||||||
|
|
||||||
[http://openjdk.java.net/ - OpenJDK] is the reference implementation of the
|
[https://openjdk.java.net/ - OpenJDK] is the reference implementation of the
|
||||||
Java programming language and hosts an enormous ecosystem of application
|
Java programming language and hosts an enormous ecosystem of application
|
||||||
software.
|
software.
|
||||||
|
|
||||||
@ -190,8 +190,8 @@ Application frameworks and runtime environments
|
|||||||
analyzing such components with formal methods.
|
analyzing such components with formal methods.
|
||||||
|
|
||||||
The use of Haskell for systems development was pioneered by the
|
The use of Haskell for systems development was pioneered by the
|
||||||
[http://programatica.cs.pdx.edu/House/ - House Project]. A more recent
|
[https://programatica.cs.pdx.edu/House/ - House Project]. A more recent
|
||||||
development is [http://halvm.org - HalVM] - a light-weight OS runtime for
|
development is [https://halvm.org - HalVM] - a light-weight OS runtime for
|
||||||
Xen that is based on Haskell.
|
Xen that is based on Haskell.
|
||||||
|
|
||||||
:Xlib compatibility:
|
:Xlib compatibility:
|
||||||
@ -310,7 +310,7 @@ Device drivers
|
|||||||
Genode utilizes the network device drivers of the iPXE project, which
|
Genode utilizes the network device drivers of the iPXE project, which
|
||||||
perform reasonably well for everyday use cases but are obviously not
|
perform reasonably well for everyday use cases but are obviously not
|
||||||
designated for high-performance networking.
|
designated for high-performance networking.
|
||||||
The [http://dpdk.org/ - DPDK] is a vendor-supported suite of network device
|
The [https://dpdk.org/ - DPDK] is a vendor-supported suite of network device
|
||||||
drivers that is specifically developed for high-performance applications.
|
drivers that is specifically developed for high-performance applications.
|
||||||
It presents an attractive alternative to iPXE-based drivers. This project
|
It presents an attractive alternative to iPXE-based drivers. This project
|
||||||
has the goal to make DPDK drivers available as a Genode component.
|
has the goal to make DPDK drivers available as a Genode component.
|
||||||
|
@ -140,7 +140,7 @@ permission to let Genode Labs redistribute his contributions under non-AGPLv3
|
|||||||
licenses. This permission is granted by signing the Genode Contributors
|
licenses. This permission is granted by signing the Genode Contributors
|
||||||
Agreement:
|
Agreement:
|
||||||
|
|
||||||
:[http:gca.pdf - Genode Contributor's Agreement]:
|
:[https://genode.org/community/gca.pdf - Genode Contributor's Agreement]:
|
||||||
Genode Contributor's Agreement (GCA)
|
Genode Contributor's Agreement (GCA)
|
||||||
|
|
||||||
By signing the GCA, you don't lose any rights for your contribution. However,
|
By signing the GCA, you don't lose any rights for your contribution. However,
|
||||||
|
30
doc/news.txt
30
doc/news.txt
@ -270,7 +270,7 @@ about the articles, readers are invited to the new
|
|||||||
[https://reddit.com/r/genode - /r/genode] subreddit.
|
[https://reddit.com/r/genode - /r/genode] subreddit.
|
||||||
|
|
||||||
As written in the
|
As written in the
|
||||||
[http://genodians.org/nfeske/2019-01-07-welcome - initial posting],
|
[https://genodians.org/nfeske/2019-01-07-welcome - initial posting],
|
||||||
Genode users and developers are warmly invited to join the authors at
|
Genode users and developers are warmly invited to join the authors at
|
||||||
Genodians.org!
|
Genodians.org!
|
||||||
|
|
||||||
@ -1076,7 +1076,7 @@ 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
|
| Our latest article provides a look behind the scenes of the
|
||||||
| development of Genode's support for the USB Armory platform.
|
| development of Genode's support for the USB Armory platform.
|
||||||
|
|
||||||
The [http://inversepath.com/usbarmory - USB Armory] is a computer in the form
|
The [https://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
|
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
|
capabilities of the device, it is possible to run Genode behind the back of
|
||||||
Linux. This is useful for shielding sensitive information like cryptographic
|
Linux. This is useful for shielding sensitive information like cryptographic
|
||||||
@ -1090,7 +1090,7 @@ was splitting the hardware platform into two worlds while maintaining the
|
|||||||
full functionality of Linux. The article goes on to explain the interplay
|
full functionality of Linux. The article goes on to explain the interplay
|
||||||
between the secure world (Genode) and the normal world (Linux). Furthermore,
|
between the secure world (Genode) and the normal world (Linux). Furthermore,
|
||||||
it provides all the pointers needed to reproduce the scenario.
|
it provides all the pointers needed to reproduce the scenario.
|
||||||
[http:/documentation/articles/usb_armory - Read the article...]
|
[https://genode.org/documentation/articles/usb_armory - Read the article...]
|
||||||
|
|
||||||
|
|
||||||
Genode OS Framework release 15.11 | 2015-11-30
|
Genode OS Framework release 15.11 | 2015-11-30
|
||||||
@ -2269,7 +2269,7 @@ for our dual-licensing business model. If we made Genode available under the
|
|||||||
BSD license, there would be not point in pursuing this model. However, hiding
|
BSD license, there would be not point in pursuing this model. However, hiding
|
||||||
the development process from the public is not only poor-spirited but it
|
the development process from the public is not only poor-spirited but it
|
||||||
creates an artificial barrier for people who want to participate. The book
|
creates an artificial barrier for people who want to participate. The book
|
||||||
"Producing Open Source Software" (http://producingoss.com) by Karl Fogel was an
|
"Producing Open Source Software" (https://producingoss.com) by Karl Fogel was an
|
||||||
eye opener to us.
|
eye opener to us.
|
||||||
|
|
||||||
Regarding the efficiency of collaboration, I have to admit that the statement
|
Regarding the efficiency of collaboration, I have to admit that the statement
|
||||||
@ -2367,7 +2367,7 @@ new support of L4Android on Genode, Android can be used on Genode on the
|
|||||||
Fiasco.OC kernel on the IA32 architecture. For those of you who are eager to
|
Fiasco.OC kernel on the IA32 architecture. For those of you who are eager to
|
||||||
experiment with L4Android on Genode, please find further information at the
|
experiment with L4Android on Genode, please find further information at the
|
||||||
top-level
|
top-level
|
||||||
[http://genode.svn.sourceforge.net/viewvc/genode/trunk/ports-foc/README - README]
|
[https://genode.svn.sourceforge.net/viewvc/genode/trunk/ports-foc/README - README]
|
||||||
file of the 'ports-foc' repository and share your results with us at the
|
file of the 'ports-foc' repository and share your results with us at the
|
||||||
[https:/community/mailing-lists - Genode mailing list].
|
[https:/community/mailing-lists - Genode mailing list].
|
||||||
|
|
||||||
@ -2482,17 +2482,17 @@ concepts live. The talk was recorded at the
|
|||||||
Amsterdam. Thanks to Bas the Lange for publishing the material.
|
Amsterdam. Thanks to Bas the Lange for publishing the material.
|
||||||
|
|
||||||
: <object height="385" width="480">
|
: <object height="385" width="480">
|
||||||
: <param name="movie" value="http://www.youtube.com/v/Z1IMV3FJO7Q" />
|
: <param name="movie" value="https://www.youtube.com/v/Z1IMV3FJO7Q" />
|
||||||
: <param name="allowFullScreen" value="true" />
|
: <param name="allowFullScreen" value="true" />
|
||||||
: <param name="allowscriptaccess" value="always" />
|
: <param name="allowscriptaccess" value="always" />
|
||||||
: <embed width="480" height="385" allowfullscreen="true"
|
: <embed width="480" height="385" allowfullscreen="true"
|
||||||
: allowscriptaccess="always"
|
: allowscriptaccess="always"
|
||||||
: type="application/x-shockwave-flash"
|
: type="application/x-shockwave-flash"
|
||||||
: src="http://www.youtube.com/v/Z1IMV3FJO7Q">
|
: src="https://www.youtube.com/v/Z1IMV3FJO7Q">
|
||||||
: </embed>
|
: </embed>
|
||||||
: </object>
|
: </object>
|
||||||
|
|
||||||
[http://www.youtube.com/watch?v=Z1IMV3FJO7Q - Visit the YouTube page...]
|
[https://www.youtube.com/watch?v=Z1IMV3FJO7Q - Visit the YouTube page...]
|
||||||
|
|
||||||
|
|
||||||
Genode OS Framework release 11.02 | 2011-02-24
|
Genode OS Framework release 11.02 | 2011-02-24
|
||||||
@ -2549,17 +2549,17 @@ prepared the following screencast with a guided walk-through. Enjoy!
|
|||||||
|
|
||||||
: <object height="385" width="480">
|
: <object height="385" width="480">
|
||||||
: <param name="movie"
|
: <param name="movie"
|
||||||
: value="http://www.youtube.com/v/CJdWOmajo_8?fs=1&hl=en_US" />
|
: value="https://www.youtube.com/v/CJdWOmajo_8?fs=1&hl=en_US" />
|
||||||
: <param name="allowFullScreen" value="true" />
|
: <param name="allowFullScreen" value="true" />
|
||||||
: <param name="allowscriptaccess" value="always" />
|
: <param name="allowscriptaccess" value="always" />
|
||||||
: <embed width="480" height="385"
|
: <embed width="480" height="385"
|
||||||
: src="http://www.youtube.com/v/CJdWOmajo_8?fs=1&hl=en_US"
|
: src="https://www.youtube.com/v/CJdWOmajo_8?fs=1&hl=en_US"
|
||||||
: type="application/x-shockwave-flash" allowscriptaccess="always"
|
: type="application/x-shockwave-flash" allowscriptaccess="always"
|
||||||
: allowfullscreen="true">
|
: allowfullscreen="true">
|
||||||
: </embed>
|
: </embed>
|
||||||
: </object>
|
: </object>
|
||||||
|
|
||||||
[http://www.youtube.com/watch?v=CJdWOmajo_8 - Visit the YouTube page...]
|
[https://www.youtube.com/watch?v=CJdWOmajo_8 - Visit the YouTube page...]
|
||||||
|
|
||||||
[https:/download/live-cds - Download the real thing...]
|
[https:/download/live-cds - Download the real thing...]
|
||||||
|
|
||||||
@ -2958,13 +2958,13 @@ for graphics, input devices, and sound. It is often used as back end for games,
|
|||||||
emulators, and media players. Also the Linux version of Genode relies on the
|
emulators, and media players. Also the Linux version of Genode relies on the
|
||||||
hardware abstractions provided by libSDL.
|
hardware abstractions provided by libSDL.
|
||||||
|
|
||||||
As [http://sourceforge.net/mailarchive/message.php?msg_id=21406424 - announced on the Genode mailing list],
|
As [https://sourceforge.net/mailarchive/message.php?msg_id=21406424 - announced on the Genode mailing list],
|
||||||
libSDL has been ported to Genode. At the current stage, the port supports
|
libSDL has been ported to Genode. At the current stage, the port supports
|
||||||
the video subsystem and the input handling for mouse and keyboard. With
|
the video subsystem and the input handling for mouse and keyboard. With
|
||||||
libSDL now becoming available for Genode, it becomes much easier to make the
|
libSDL now becoming available for Genode, it becomes much easier to make the
|
||||||
wealth of libSDL-based applications available on our platform.
|
wealth of libSDL-based applications available on our platform.
|
||||||
|
|
||||||
[http://sourceforge.net/mailarchive/message.php?msg_id=21406424 - Read the announcement...]
|
[https://sourceforge.net/mailarchive/message.php?msg_id=21406424 - Read the announcement...]
|
||||||
|
|
||||||
|
|
||||||
Genode on the L4ka::Pistachio kernel | 2008-12-18
|
Genode on the L4ka::Pistachio kernel | 2008-12-18
|
||||||
@ -3116,7 +3116,7 @@ Project website launched | 2008-07-29
|
|||||||
| Genode OS framework is scheduled for the 6th of August.
|
| Genode OS framework is scheduled for the 6th of August.
|
||||||
|
|
||||||
Today, we proudly launched the website of the Genode project
|
Today, we proudly launched the website of the Genode project
|
||||||
[https://www.genode.org - https://www.genode.org]. This website is the central
|
[https://genode.org - https://genode.org]. This website is the central
|
||||||
resource for people using or developing the Genode OS framework. It covers
|
resource for people using or developing the Genode OS framework. It covers
|
||||||
the latest news about our progress, architectural and technical documentation,
|
the latest news about our progress, architectural and technical documentation,
|
||||||
a community-maintained wiki, mailing lists, information on accessing the
|
a community-maintained wiki, mailing lists, information on accessing the
|
||||||
@ -3125,7 +3125,7 @@ attention of people who want bring forward the project together with us.
|
|||||||
|
|
||||||
We have scheduled the first official release of the Genode OS framework for the
|
We have scheduled the first official release of the Genode OS framework for the
|
||||||
6th August. Until then, we invite you to test-drive the beta-version of the
|
6th August. Until then, we invite you to test-drive the beta-version of the
|
||||||
framework as provided at the [https://www.genode.org/download - download].
|
framework as provided at the [https://genode.org/download - download].
|
||||||
|
|
||||||
|
|
||||||
Genode Labs founded | 2008-07-17
|
Genode Labs founded | 2008-07-17
|
||||||
|
@ -110,7 +110,7 @@ above becomes as simple as:
|
|||||||
!/* invoke remote procedure */
|
!/* invoke remote procedure */
|
||||||
!Capability ds_csp = rom.dataspace();
|
!Capability ds_csp = rom.dataspace();
|
||||||
|
|
||||||
[http://genode.org/documentation/api/base_index#Connecting_to_services - See the API documentation for the connection template...]
|
[https://genode.org/documentation/api/base_index#Connecting_to_services - See the API documentation for the connection template...]
|
||||||
|
|
||||||
|
|
||||||
Typed capabilities
|
Typed capabilities
|
||||||
@ -134,7 +134,7 @@ classes at the client side.
|
|||||||
From the application-developer's perspective, working with capabilities
|
From the application-developer's perspective, working with capabilities
|
||||||
has now become type-safe, making the produced code more readable and robust.
|
has now become type-safe, making the produced code more readable and robust.
|
||||||
|
|
||||||
[http://genode.org/documentation/api/base_index#Capability_representation - See the updated API documentation for the capability representation...]
|
[https://genode.org/documentation/api/base_index#Capability_representation - See the updated API documentation for the capability representation...]
|
||||||
|
|
||||||
|
|
||||||
Fifo data structure
|
Fifo data structure
|
||||||
@ -146,7 +146,7 @@ first-out semantics. For such use cases, we introduced a dedicated
|
|||||||
'Fifo' template. The main motivation for introducing 'Fifo' into the
|
'Fifo' template. The main motivation for introducing 'Fifo' into the
|
||||||
base API is the new semaphore described below.
|
base API is the new semaphore described below.
|
||||||
|
|
||||||
[http://genode.org/documentation/api/base_index#Structured_data_types - See the new API documentation for the fifo template...]
|
[https://genode.org/documentation/api/base_index#Structured_data_types - See the new API documentation for the fifo template...]
|
||||||
|
|
||||||
|
|
||||||
Semaphore
|
Semaphore
|
||||||
@ -163,7 +163,7 @@ and added the semaphore to Genode's official base API. We have made
|
|||||||
the wake-up policy in the presence of multiple consumers configurable
|
the wake-up policy in the presence of multiple consumers configurable
|
||||||
via a template argument. The default policy is first-in-first-out.
|
via a template argument. The default policy is first-in-first-out.
|
||||||
|
|
||||||
[http://genode.org/documentation/api/base_index#Synchronization - See the new API documentation for the semaphore...]
|
[https://genode.org/documentation/api/base_index#Synchronization - See the new API documentation for the semaphore...]
|
||||||
|
|
||||||
Thanks to Christian Prochaska for his valuable contributions to the new
|
Thanks to Christian Prochaska for his valuable contributions to the new
|
||||||
semaphore design.
|
semaphore design.
|
||||||
@ -221,7 +221,7 @@ would have to be queued at the transmitter.
|
|||||||
Image [signals] illustrates the roles of signaller thread,
|
Image [signals] illustrates the roles of signaller thread,
|
||||||
transmitter, receiver, and signal-handler thread.
|
transmitter, receiver, and signal-handler thread.
|
||||||
|
|
||||||
[http://genode.org/documentation/api/base_index#Asynchronous_notifications - See the new API documentation for asynchronous notifications...]
|
[https://genode.org/documentation/api/base_index#Asynchronous_notifications - See the new API documentation for asynchronous notifications...]
|
||||||
|
|
||||||
The current generic implementation of the signalling API employs one
|
The current generic implementation of the signalling API employs one
|
||||||
thread at each transmitter and one thread at each receiver. Because
|
thread at each transmitter and one thread at each receiver. Because
|
||||||
@ -422,27 +422,27 @@ the API.
|
|||||||
Christian Helmuth created the initial version of the Linux device-driver
|
Christian Helmuth created the initial version of the Linux device-driver
|
||||||
environment for L4. He describes his effort of reusing unmodified sound
|
environment for L4. He describes his effort of reusing unmodified sound
|
||||||
drivers on the L4 platform in his thesis
|
drivers on the L4 platform in his thesis
|
||||||
[http://os.inf.tu-dresden.de/papers_ps/helmuth-diplom.pdf - Generische Portierung von Linux-Gerätetreibern auf die DROPS-Architektur].
|
[https://os.inf.tu-dresden.de/papers_ps/helmuth-diplom.pdf - Generische Portierung von Linux-Gerätetreibern auf die DROPS-Architektur].
|
||||||
;
|
;
|
||||||
Gerd Griessbach approached the problem of re-using Linux USB drivers
|
Gerd Griessbach approached the problem of re-using Linux USB drivers
|
||||||
by following the DDE approach in his diploma thesis
|
by following the DDE approach in his diploma thesis
|
||||||
[http://os.inf.tu-dresden.de/papers_ps/griessbach-diplom.pdf - USB for DROPS].
|
[https://os.inf.tu-dresden.de/papers_ps/griessbach-diplom.pdf - USB for DROPS].
|
||||||
;
|
;
|
||||||
Marek Menzer adapted Linux DDE to Linux 2.6 and explored the DDE
|
Marek Menzer adapted Linux DDE to Linux 2.6 and explored the DDE
|
||||||
approach for block-device drivers in his student research project
|
approach for block-device drivers in his student research project
|
||||||
[http://os.inf.tu-dresden.de/papers_ps/menzer-beleg.pdf - Portierung des DROPS Device Driver Environment (DDE) für Linux 2.6 am Beispiel des IDE-Treibers ]
|
[https://os.inf.tu-dresden.de/papers_ps/menzer-beleg.pdf - Portierung des DROPS Device Driver Environment (DDE) für Linux 2.6 am Beispiel des IDE-Treibers ]
|
||||||
and his diploma thesis
|
and his diploma thesis
|
||||||
[http://os.inf.tu-dresden.de/papers_ps/menzer-diplom.pdf - Entwicklung eines Blockgeräte-Frameworks für DROPS].
|
[https://os.inf.tu-dresden.de/papers_ps/menzer-diplom.pdf - Entwicklung eines Blockgeräte-Frameworks für DROPS].
|
||||||
;
|
;
|
||||||
Thomas Friebel generalized the DDE approach and introduced the DDE kit
|
Thomas Friebel generalized the DDE approach and introduced the DDE kit
|
||||||
API to enable the re-use of device driver from other platforms than
|
API to enable the re-use of device driver from other platforms than
|
||||||
Linux. In particular, he experimented with the block-device drivers of
|
Linux. In particular, he experimented with the block-device drivers of
|
||||||
FreeBSD in his diploma thesis
|
FreeBSD in his diploma thesis
|
||||||
[http://os.inf.tu-dresden.de/papers_ps/friebel-diplom.pdf - Übertragung des Device-Driver-Environment-Ansatzes auf Subsysteme des BSD-Betriebssystemkerns].
|
[https://os.inf.tu-dresden.de/papers_ps/friebel-diplom.pdf - Übertragung des Device-Driver-Environment-Ansatzes auf Subsysteme des BSD-Betriebssystemkerns].
|
||||||
;
|
;
|
||||||
Dirk Vogt successfully re-approached the port of USB device drivers
|
Dirk Vogt successfully re-approached the port of USB device drivers
|
||||||
from the Linux kernel to L4 in his student research project
|
from the Linux kernel to L4 in his student research project
|
||||||
[http://os.inf.tu-dresden.de/papers_ps/beleg-vogt.pdf - USB for the L4 Environment].
|
[https://os.inf.tu-dresden.de/papers_ps/beleg-vogt.pdf - USB for the L4 Environment].
|
||||||
|
|
||||||
The current incarnation of the DDE kit API provides the following
|
The current incarnation of the DDE kit API provides the following
|
||||||
features:
|
features:
|
||||||
@ -556,7 +556,7 @@ source-code repository called 'libc' and is based on the code of FreeBSD.
|
|||||||
The original code is available at the official FreeBSD website.
|
The original code is available at the official FreeBSD website.
|
||||||
|
|
||||||
:FreeBSD website:
|
:FreeBSD website:
|
||||||
[http://www.freebsd.org/developers/cvs.html]
|
[https://www.freebsd.org/developers/cvs.html]
|
||||||
|
|
||||||
Our libc port comprises the libraries 'gdtoa', 'gen', 'locale', 'stdio',
|
Our libc port comprises the libraries 'gdtoa', 'gen', 'locale', 'stdio',
|
||||||
'stdlib', 'stdtime', 'string', and 'msun'. Currently, it supports the
|
'stdlib', 'stdtime', 'string', and 'msun'. Currently, it supports the
|
||||||
|
@ -28,7 +28,7 @@ supported base platforms.
|
|||||||
|
|
||||||
Our original plan for the release 9.02 also comprised the support of a
|
Our original plan for the release 9.02 also comprised the support of a
|
||||||
Linux-on-Genode (para-)virtualization solution. Initially, we intended to
|
Linux-on-Genode (para-)virtualization solution. Initially, we intended to
|
||||||
make [http://os.inf.tu-dresden.de/L4/LinuxOnL4/ - L4Linux] available on
|
make [https://os.inf.tu-dresden.de/L4/LinuxOnL4/ - L4Linux] available on
|
||||||
the L4/Fiasco version of Genode. However, we identified several downsides
|
the L4/Fiasco version of Genode. However, we identified several downsides
|
||||||
with this approach. Apparently, the development of the officially available
|
with this approach. Apparently, the development of the officially available
|
||||||
version of L4/Fiasco has become slow and long-known issues remain unfixed.
|
version of L4/Fiasco has become slow and long-known issues remain unfixed.
|
||||||
@ -41,7 +41,7 @@ and VT support) that we want to explore. Furthermore, there exists another
|
|||||||
version of L4Linux called OKLinux for the OKL4 kernel developed at
|
version of L4Linux called OKLinux for the OKL4 kernel developed at
|
||||||
[http://ok-labs.com - OK-Labs], which is very interesting as well.
|
[http://ok-labs.com - OK-Labs], which is very interesting as well.
|
||||||
Therefore, we decided against an ad-hoc solution and deferred this feature
|
Therefore, we decided against an ad-hoc solution and deferred this feature
|
||||||
to the next release. [http:/about/road-map - See our updated road map...]
|
to the next release. [https://genode.org/about/road-map - See our updated road map...]
|
||||||
|
|
||||||
|
|
||||||
Major new Features
|
Major new Features
|
||||||
@ -126,7 +126,7 @@ effort is included in this release and comes in the form of the
|
|||||||
:Further details:
|
:Further details:
|
||||||
|
|
||||||
You can find further technical details and usage instructions at this
|
You can find further technical details and usage instructions at this
|
||||||
dedicated [http://genode.org/documentation/platforms/pistachio - page].
|
dedicated [https://genode.org/documentation/platforms/pistachio - page].
|
||||||
|
|
||||||
|
|
||||||
Qt4 on Genode
|
Qt4 on Genode
|
||||||
@ -331,7 +331,7 @@ Device-Driver-Environment Kit
|
|||||||
|
|
||||||
Because of the apparent stabilization of the DDE Kit API, we have now added
|
Because of the apparent stabilization of the DDE Kit API, we have now added
|
||||||
this API to Genode's official API reference.
|
this API to Genode's official API reference.
|
||||||
[http://genode.org/documentation/api/dde_kit_index - See the documentation of the DDE Kit API...]
|
[https://genode.org/documentation/api/dde_kit_index - See the documentation of the DDE Kit API...]
|
||||||
|
|
||||||
|
|
||||||
PS/2 input driver
|
PS/2 input driver
|
||||||
@ -413,7 +413,7 @@ gcc 4.2.4.
|
|||||||
|
|
||||||
As an alternative to installing the tool chain from source, we also
|
As an alternative to installing the tool chain from source, we also
|
||||||
provide pre-compiled binaries at the download section of our website.
|
provide pre-compiled binaries at the download section of our website.
|
||||||
[http://genode.org/download/tool-chain - Visit our tool-chain download website...]
|
[https://genode.org/download/tool-chain - Visit our tool-chain download website...]
|
||||||
|
|
||||||
For the Linux version of Genode, we still use the host's default gcc
|
For the Linux version of Genode, we still use the host's default gcc
|
||||||
as tool chain. This way, we spare the hassle of downloading and installing
|
as tool chain. This way, we spare the hassle of downloading and installing
|
||||||
|
@ -19,7 +19,7 @@ The previous Genode release was accompanied by a source-code archive containing
|
|||||||
the initial version of Qt4 for Genode. Our approach is to make the Qt4
|
the initial version of Qt4 for Genode. Our approach is to make the Qt4
|
||||||
framework available for building Genode applications running natively on the
|
framework available for building Genode applications running natively on the
|
||||||
microkernel rather than within a virtualization environment. As advertised in
|
microkernel rather than within a virtualization environment. As advertised in
|
||||||
our [http://genode.org/about/road-map - road map], we have now seamlessly
|
our [https://genode.org/about/road-map - road map], we have now seamlessly
|
||||||
integrated the Qt4 framework into our mainline source tree. Furthermore, we
|
integrated the Qt4 framework into our mainline source tree. Furthermore, we
|
||||||
have adapted our port to the Qt4 version 4.5.1. Section [Integration of Qt4
|
have adapted our port to the Qt4 version 4.5.1. Section [Integration of Qt4
|
||||||
into the mainline repository] gives a rough overview of the changes and an
|
into the mainline repository] gives a rough overview of the changes and an
|
||||||
@ -152,7 +152,7 @@ L4 kernels.
|
|||||||
These differences of OKL4 compared with the microkernels already supported
|
These differences of OKL4 compared with the microkernels already supported
|
||||||
by Genode posed a number of interesting challenges and opportunities. We have
|
by Genode posed a number of interesting challenges and opportunities. We have
|
||||||
thoroughly documented the process in
|
thoroughly documented the process in
|
||||||
[http://genode.org/documentation/articles/genode-on-okl4 - Bringing Genode to OKL4].
|
[https://genode.org/documentation/articles/genode-on-okl4 - Bringing Genode to OKL4].
|
||||||
|
|
||||||
|
|
||||||
Usage
|
Usage
|
||||||
@ -160,7 +160,7 @@ Usage
|
|||||||
|
|
||||||
For using Genode with OKL4, please refer to the following dedicated page:
|
For using Genode with OKL4, please refer to the following dedicated page:
|
||||||
|
|
||||||
:[http://genode.org/documentation/platforms/okl4 - Genode on the OKL4 microkernel]:
|
:[https://genode.org/documentation/platforms/okl4 - Genode on the OKL4 microkernel]:
|
||||||
Site about building and using Genode with the OKL4 kernel.
|
Site about building and using Genode with the OKL4 kernel.
|
||||||
|
|
||||||
|
|
||||||
@ -293,7 +293,7 @@ Genode's libc. Thereby the linker will silently create references to glibc
|
|||||||
symbols, making both libraries collide. So if using Qt4, we recommend using the
|
symbols, making both libraries collide. So if using Qt4, we recommend using the
|
||||||
Genode tool chain:
|
Genode tool chain:
|
||||||
|
|
||||||
:[http://genode.org/download/tool-chain]:
|
:[https://genode.org/download/tool-chain]:
|
||||||
Information about downloading and using the Genode tool chain
|
Information about downloading and using the Genode tool chain
|
||||||
|
|
||||||
|
|
||||||
@ -308,7 +308,7 @@ we already utilized this approach for realizing basic networking on Genode.
|
|||||||
With this release, we complement DDE Linux with support required by USB
|
With this release, we complement DDE Linux with support required by USB
|
||||||
drivers. We are grateful for being able to base our implementation on the
|
drivers. We are grateful for being able to base our implementation on the
|
||||||
excellent foundation laid by Dirk Vogt. He described his work in
|
excellent foundation laid by Dirk Vogt. He described his work in
|
||||||
[http://os.inf.tu-dresden.de/papers_ps/beleg-vogt.pdf - USB for the L4 environment].
|
[https://os.inf.tu-dresden.de/papers_ps/beleg-vogt.pdf - USB for the L4 environment].
|
||||||
|
|
||||||
For USB HID support, we added the Linux USB and input subsystems to the DDE
|
For USB HID support, we added the Linux USB and input subsystems to the DDE
|
||||||
Linux 2.6 framework. Besides the 'dde_linux26/net.h' API for network drivers
|
Linux 2.6 framework. Besides the 'dde_linux26/net.h' API for network drivers
|
||||||
|
@ -194,7 +194,7 @@ Qemu is decribed at a dedicated Wiki page:
|
|||||||
|
|
||||||
:Genode/OKL4 on the GTA01 platfrom:
|
:Genode/OKL4 on the GTA01 platfrom:
|
||||||
|
|
||||||
[http://genode.org/community/wiki/GenodeOKL4OnTheGTA01Platform - Genode.org Community Wiki]
|
[https://genode.org/community/wiki/GenodeOKL4OnTheGTA01Platform - Genode.org Community Wiki]
|
||||||
|
|
||||||
Both the OKL4 version 2.1.1 and the GTA01 chip are not the most current
|
Both the OKL4 version 2.1.1 and the GTA01 chip are not the most current
|
||||||
platforms but this combination turned out to be good as starting point.
|
platforms but this combination turned out to be good as starting point.
|
||||||
@ -238,7 +238,7 @@ Usage
|
|||||||
|
|
||||||
If you haven't build Genode for OKL4 yet, please refer to the following document:
|
If you haven't build Genode for OKL4 yet, please refer to the following document:
|
||||||
|
|
||||||
:[http://genode.org/documentation/platforms/okl4 - Genode on the OKL4 microkernel]:
|
:[https://genode.org/documentation/platforms/okl4 - Genode on the OKL4 microkernel]:
|
||||||
This page contains the information on how to build and use Genode with OKL4.
|
This page contains the information on how to build and use Genode with OKL4.
|
||||||
|
|
||||||
For building OKLinux for Genode, you first need to download and patch the
|
For building OKLinux for Genode, you first need to download and patch the
|
||||||
@ -532,7 +532,7 @@ the following config file can be used:
|
|||||||
|
|
||||||
For trying out the example with Qemu, please refer to the instructions
|
For trying out the example with Qemu, please refer to the instructions
|
||||||
given in the
|
given in the
|
||||||
[http://genode.org/documentation/release-notes/9.02#section-4 - description]
|
[https://genode.org/documentation/release-notes/9.02#section-4 - description]
|
||||||
of the initial networking support added in Genode version 9.02.
|
of the initial networking support added in Genode version 9.02.
|
||||||
|
|
||||||
|
|
||||||
|
@ -63,7 +63,7 @@ In December 2009, the day we waited for a long time had come. The first version
|
|||||||
of NOVA was publicly released:
|
of NOVA was publicly released:
|
||||||
|
|
||||||
:Official website of the NOVA hypervisor:
|
:Official website of the NOVA hypervisor:
|
||||||
[http://hypervisor.org]
|
[https://hypervisor.org]
|
||||||
|
|
||||||
Besides the novel and modern kernel interface, NOVA has a list of features that
|
Besides the novel and modern kernel interface, NOVA has a list of features that
|
||||||
sets it apart from most other microkernels, in particular support for
|
sets it apart from most other microkernels, in particular support for
|
||||||
@ -221,7 +221,7 @@ The Genode release 10.02 supports the NOVA pre-release version 0.1. You can
|
|||||||
download the archive here:
|
download the archive here:
|
||||||
|
|
||||||
:Download NOVA version 0.1:
|
:Download NOVA version 0.1:
|
||||||
[http://os.inf.tu-dresden.de/~us15/nova/nova-hypervisor-0.1.tar.bz2]
|
[https://os.inf.tu-dresden.de/~us15/nova/nova-hypervisor-0.1.tar.bz2]
|
||||||
|
|
||||||
For building NOVA, please refer to the 'README' file contained in the archive.
|
For building NOVA, please refer to the 'README' file contained in the archive.
|
||||||
Normally, a simple 'make' in the 'build/' subdirectory is all you need to
|
Normally, a simple 'make' in the 'build/' subdirectory is all you need to
|
||||||
@ -236,7 +236,7 @@ following command:
|
|||||||
|
|
||||||
This tool will create a fresh build directory at the location specified
|
This tool will create a fresh build directory at the location specified
|
||||||
as 'BUILD_DIR'. Provided that you have installed the
|
as 'BUILD_DIR'. Provided that you have installed the
|
||||||
[http://genode.org/download/tool-chain - Genode tool chain], you can now build
|
[https://genode.org/download/tool-chain - Genode tool chain], you can now build
|
||||||
Genode by using 'make' from within the new build directory.
|
Genode by using 'make' from within the new build directory.
|
||||||
|
|
||||||
Note that in contrast to most other kernels, the Genode build process does not
|
Note that in contrast to most other kernels, the Genode build process does not
|
||||||
@ -908,7 +908,7 @@ request inconsistently. We have now enhanced the 'Root_component' template with
|
|||||||
a policy parameter to 'Root_component' that allows the specification of a
|
a policy parameter to 'Root_component' that allows the specification of a
|
||||||
session-creation policy. The most important policy is whether a service can
|
session-creation policy. The most important policy is whether a service can
|
||||||
have a single or multiple clients.
|
have a single or multiple clients.
|
||||||
[http://genode.org/documentation/api/inline?code/base/include/root/component.h - See the improved template...]
|
[https://genode.org/documentation/api/inline?code/base/include/root/component.h - See the improved template...]
|
||||||
|
|
||||||
Out-of-order RPC replies
|
Out-of-order RPC replies
|
||||||
========================
|
========================
|
||||||
@ -933,7 +933,7 @@ provided with the 'libports' repository. It is based on the official
|
|||||||
Python code available from the website:
|
Python code available from the website:
|
||||||
|
|
||||||
:Python website:
|
:Python website:
|
||||||
[http://www.python.org]
|
[https://www.python.org]
|
||||||
|
|
||||||
To fetch the upstream Python source code, call 'make prepare' from within the
|
To fetch the upstream Python source code, call 'make prepare' from within the
|
||||||
'libports' directory. To include Python in your build process, add 'libports'
|
'libports' directory. To include Python in your build process, add 'libports'
|
||||||
@ -1107,7 +1107,7 @@ running Genode like the following.
|
|||||||
! sudo ip address add 10.0.0.1/24 brd + dev tap0
|
! sudo ip address add 10.0.0.1/24 brd + dev tap0
|
||||||
|
|
||||||
Give it a try with the
|
Give it a try with the
|
||||||
[http://genode.org/documentation/release-notes/9.11#section-17 - lwIP example scenario].
|
[https://genode.org/documentation/release-notes/9.11#section-17 - lwIP example scenario].
|
||||||
Please note that lwIP is configured for DHCP and does not assign a
|
Please note that lwIP is configured for DHCP and does not assign a
|
||||||
static IP configuration to its end of the wire. Hence, you should run
|
static IP configuration to its end of the wire. Hence, you should run
|
||||||
a DHCP server on tap0, e.g.
|
a DHCP server on tap0, e.g.
|
||||||
|
@ -1012,7 +1012,7 @@ Arora web browser
|
|||||||
Arora has its origin as an example application for Qt4. However, it emancipated
|
Arora has its origin as an example application for Qt4. However, it emancipated
|
||||||
itself to be a separate project.
|
itself to be a separate project.
|
||||||
|
|
||||||
:[http://arora.googlecode.com]: Arora project website
|
:[https://arora.googlecode.com]: Arora project website
|
||||||
|
|
||||||
Even though compared with other browsers, its popularity is relatively small
|
Even though compared with other browsers, its popularity is relatively small
|
||||||
but for us, it is perfect to stretch the bounds of our Genode infrastructure.
|
but for us, it is perfect to stretch the bounds of our Genode infrastructure.
|
||||||
@ -1123,7 +1123,7 @@ New two-stage build system
|
|||||||
==========================
|
==========================
|
||||||
|
|
||||||
Since the thorough
|
Since the thorough
|
||||||
[http://www.genode-labs.com/publications/scons-vs-make-2008.pdf - analysis of the Genode build system]
|
[https://www.genode-labs.com/publications/scons-vs-make-2008.pdf - analysis of the Genode build system]
|
||||||
by Ludwig Hähne in 2008, we were planning to incorporate his findings into
|
by Ludwig Hähne in 2008, we were planning to incorporate his findings into
|
||||||
Genode. In his study, he reimplemented Genode's make-based build system using
|
Genode. In his study, he reimplemented Genode's make-based build system using
|
||||||
SCons and compared both implementations. For us, the two most interesting
|
SCons and compared both implementations. For us, the two most interesting
|
||||||
|
@ -17,7 +17,7 @@ networking, audio output, real-time priorities, mandatory access control,
|
|||||||
USB, ATAPI block devices, Python, hardware-accelerated 3D graphics, Qt4,
|
USB, ATAPI block devices, Python, hardware-accelerated 3D graphics, Qt4,
|
||||||
the WebKit-based Arora browser, and the paravirtualized OKLinux kernel.
|
the WebKit-based Arora browser, and the paravirtualized OKLinux kernel.
|
||||||
So many wonderful toys waiting to get played with. This is how the idea of
|
So many wonderful toys waiting to get played with. This is how the idea of
|
||||||
creating [http://genode.org/download/live-cds - the new Genode Live CD] was
|
creating [https://genode.org/download/live-cds - the new Genode Live CD] was
|
||||||
born. In the past, Genode was mostly used in settings with a relatively static
|
born. In the past, Genode was mostly used in settings with a relatively static
|
||||||
configuration consisting of several components orchestrated to fulfill
|
configuration consisting of several components orchestrated to fulfill
|
||||||
a few special-purpose functions. Now, the time has come for the next step,
|
a few special-purpose functions. Now, the time has come for the next step,
|
||||||
@ -65,7 +65,7 @@ the nifty interfaces used by the driver in our emulation framework. To
|
|||||||
achieve our short-term goal of a great live CD experience, we had to
|
achieve our short-term goal of a great live CD experience, we had to
|
||||||
walk a different path.
|
walk a different path.
|
||||||
|
|
||||||
[http://gpxe.org/ - gPXE] is a lovely network boot loader / open-source
|
[https://gpxe.org/ - gPXE] is a lovely network boot loader / open-source
|
||||||
PXE ROM project and the successor of the famous Etherboot
|
PXE ROM project and the successor of the famous Etherboot
|
||||||
implementation. Besides support for DNS, HTTP, iSCSI and AoE, gPXE
|
implementation. Besides support for DNS, HTTP, iSCSI and AoE, gPXE
|
||||||
includes dozens of NIC drivers and applies a plain driver framework.
|
includes dozens of NIC drivers and applies a plain driver framework.
|
||||||
@ -100,7 +100,7 @@ at 'bin/gpxe_nic_drv'.
|
|||||||
On-demand paging
|
On-demand paging
|
||||||
################
|
################
|
||||||
|
|
||||||
In the [http://genode.org/documentation/release-notes/8.11#section-8 - release 8.11],
|
In the [https://genode.org/documentation/release-notes/8.11#section-8 - release 8.11],
|
||||||
we laid the foundation for implementing user-level dataspace managers.
|
we laid the foundation for implementing user-level dataspace managers.
|
||||||
But so far, the facility remained largely unused except for managing thread
|
But so far, the facility remained largely unused except for managing thread
|
||||||
contexts. This changed with this release.
|
contexts. This changed with this release.
|
||||||
@ -271,7 +271,7 @@ Finished transition to new init concept
|
|||||||
=======================================
|
=======================================
|
||||||
|
|
||||||
With the release 10.05, we introduced the
|
With the release 10.05, we introduced the
|
||||||
[http://genode.org/documentation/release-notes/10.05#section-0 - current configuration concept of init].
|
[https://genode.org/documentation/release-notes/10.05#section-0 - current configuration concept of init].
|
||||||
This concept supports mandatory access control and provides flexible
|
This concept supports mandatory access control and provides flexible
|
||||||
ways for defining client-server relationships. Until now, we maintained
|
ways for defining client-server relationships. Until now, we maintained
|
||||||
the old init concept. With the current release, the transition to the
|
the old init concept. With the current release, the transition to the
|
||||||
@ -736,7 +736,7 @@ Automated coding-style checker
|
|||||||
|
|
||||||
As Genode's code base grows and new developers start to get involved,
|
As Genode's code base grows and new developers start to get involved,
|
||||||
we noticed recurring questions regarding coding style. There is a
|
we noticed recurring questions regarding coding style. There is a
|
||||||
[http://genode.org/documentation/developer-resources/coding_style - document]
|
[https://genode.org/documentation/developer-resources/coding_style - document]
|
||||||
describing our coding style but for people just starting to get involved,
|
describing our coding style but for people just starting to get involved,
|
||||||
adhering all the rules can become tedious. However, we stress the importance
|
adhering all the rules can become tedious. However, we stress the importance
|
||||||
of a consistent coding style for the project. Not only does a consistent style
|
of a consistent coding style for the project. Not only does a consistent style
|
||||||
|
@ -88,7 +88,7 @@ following packages:
|
|||||||
Moreover, you need to download and install the tool-chain used by Genode. Have
|
Moreover, you need to download and install the tool-chain used by Genode. Have
|
||||||
a look at this page:
|
a look at this page:
|
||||||
|
|
||||||
:[http://genode.org/download/tool-chain]:
|
:[https://genode.org/download/tool-chain]:
|
||||||
Genode tool-chain
|
Genode tool-chain
|
||||||
|
|
||||||
|
|
||||||
@ -98,8 +98,8 @@ Downloading and building Fiasco.OC
|
|||||||
Checkout the Fiasco.OC sources and tool-chain to an appropriated directory:
|
Checkout the Fiasco.OC sources and tool-chain to an appropriated directory:
|
||||||
|
|
||||||
! export REPOMGR_SVN_REV=27
|
! export REPOMGR_SVN_REV=27
|
||||||
! svn cat http://svn.tudos.org/repos/oc/tudos/trunk/repomgr |\
|
! svn cat https://svn.tudos.org/repos/oc/tudos/trunk/repomgr |\
|
||||||
! perl - init http://svn.tudos.org/repos/oc/tudos fiasco l4re
|
! perl - init https://svn.tudos.org/repos/oc/tudos fiasco l4re
|
||||||
|
|
||||||
|
|
||||||
Building the kernel
|
Building the kernel
|
||||||
@ -154,7 +154,7 @@ Building the Fiasco.OC version of Genode
|
|||||||
|
|
||||||
The Fiasco.OC version of Genode is available at the Genode public subversion repository:
|
The Fiasco.OC version of Genode is available at the Genode public subversion repository:
|
||||||
|
|
||||||
:http://genode.org/download/subversion-repository:
|
:https://genode.org/download/subversion-repository:
|
||||||
Information about accessing the Genode public subversion repository
|
Information about accessing the Genode public subversion repository
|
||||||
|
|
||||||
Go to a directory where you want the Genode/Fiasco.OC build directory to remain. Use
|
Go to a directory where you want the Genode/Fiasco.OC build directory to remain. Use
|
||||||
@ -273,7 +273,7 @@ Further Information
|
|||||||
:genode/tool/builddir/README:
|
:genode/tool/builddir/README:
|
||||||
Reference manual for the 'create_builddir' script
|
Reference manual for the 'create_builddir' script
|
||||||
|
|
||||||
:[http://os.inf.tu-dresden.de/fiasco]:
|
:[https://os.inf.tu-dresden.de/fiasco]:
|
||||||
Official website for the Fiasco.OC microkernel.
|
Official website for the Fiasco.OC microkernel.
|
||||||
|
|
||||||
|
|
||||||
@ -453,7 +453,7 @@ and a set of IP cores for implementing fully-fledged windowed GUIs on FPGAs:
|
|||||||
|
|
||||||
:Website of the Genode FPGA Graphics Project:
|
:Website of the Genode FPGA Graphics Project:
|
||||||
|
|
||||||
[http://genode-labs.com/products/fpga-graphics]
|
[https://genode-labs.com/products/fpga-graphics]
|
||||||
|
|
||||||
Ever since we first released the Genode FPGA project, we envisioned to combine
|
Ever since we first released the Genode FPGA project, we envisioned to combine
|
||||||
it with the Genode OS Framework. In Spring 2010, Martin Stein joined our team
|
it with the Genode OS Framework. In Spring 2010, Martin Stein joined our team
|
||||||
|
@ -96,7 +96,7 @@ C++-based alternative, fostering the use of the C++ streaming operators
|
|||||||
combined with templates. The following paper provides a detailed discussion
|
combined with templates. The following paper provides a detailed discussion
|
||||||
on the subject:
|
on the subject:
|
||||||
|
|
||||||
:[http://genode-labs.com/publications/dynrpc-2007.pdf - A Case Study on the Cost and Benefit of Dynamic RPC Marshalling for Low-Level System Components]:
|
:[https://genode-labs.com/publications/dynrpc-2007.pdf - A Case Study on the Cost and Benefit of Dynamic RPC Marshalling for Low-Level System Components]:
|
||||||
_SIGOPS OSR Special Issue on Secure Small-Kernel Systems, 2007_
|
_SIGOPS OSR Special Issue on Secure Small-Kernel Systems, 2007_
|
||||||
|
|
||||||
In hindsight, leaving behind the IDL approach was the right decision. From a
|
In hindsight, leaving behind the IDL approach was the right decision. From a
|
||||||
@ -120,7 +120,7 @@ function call to a remote process running on the same machine (contrarily to
|
|||||||
the term RPC being used in the context of systems distributed over a network).
|
the term RPC being used in the context of systems distributed over a network).
|
||||||
|
|
||||||
The state of the art is best explained by the example interface discussed
|
The state of the art is best explained by the example interface discussed
|
||||||
in the [http://genode.org/documentation/developer-resources/client_server_tutorial - Hello Tutorial].
|
in the [https://genode.org/documentation/developer-resources/client_server_tutorial - Hello Tutorial].
|
||||||
On Genode, each RPC interface is represented by an abstract C++ class,
|
On Genode, each RPC interface is represented by an abstract C++ class,
|
||||||
enriched by some bits of information shared by the caller and the callee.
|
enriched by some bits of information shared by the caller and the callee.
|
||||||
|
|
||||||
|
@ -251,27 +251,27 @@ The new way of dealing with different kernels motivated us to revisit and
|
|||||||
complement our exiting documentation. The following documents are new or
|
complement our exiting documentation. The following documents are new or
|
||||||
have received considerable attention:
|
have received considerable attention:
|
||||||
|
|
||||||
:[http://genode.org/documentation/developer-resources/getting_started - Getting started]:
|
:[https://genode.org/documentation/developer-resources/getting_started - Getting started]:
|
||||||
The revised guide of how to explore Genode provides a quick way to
|
The revised guide of how to explore Genode provides a quick way to
|
||||||
test drive Genode's graphical demo scenario with a kernel of your
|
test drive Genode's graphical demo scenario with a kernel of your
|
||||||
choice and gives pointers to documents needed to proceed your
|
choice and gives pointers to documents needed to proceed your
|
||||||
exploration.
|
exploration.
|
||||||
|
|
||||||
:[http://genode.org/documentation/developer-resources/build_system - Build system manual]:
|
:[https://genode.org/documentation/developer-resources/build_system - Build system manual]:
|
||||||
The new build-system manual explains the concepts behind Genode's
|
The new build-system manual explains the concepts behind Genode's
|
||||||
build system, provides guidance with creating custom programs and
|
build system, provides guidance with creating custom programs and
|
||||||
libraries, and covers the tool support for the automated integration
|
libraries, and covers the tool support for the automated integration
|
||||||
and testing of application scenarios.
|
and testing of application scenarios.
|
||||||
|
|
||||||
:[http://genode.org/documentation/components - Components overview]:
|
:[https://genode.org/documentation/components - Components overview]:
|
||||||
The new components-overview document explains the categorization of
|
The new components-overview document explains the categorization of
|
||||||
Genode's components and lists all components that come with the framework.
|
Genode's components and lists all components that come with the framework.
|
||||||
|
|
||||||
:[http://genode.org/documentation/developer-resources/init - Configuration of the init process]:
|
:[https://genode.org/documentation/developer-resources/init - Configuration of the init process]:
|
||||||
The document describes Genode's configuration concept, the routing of
|
The document describes Genode's configuration concept, the routing of
|
||||||
service requests, and the expression of mandatory access-control policies.
|
service requests, and the expression of mandatory access-control policies.
|
||||||
|
|
||||||
:[http://genode.org/community/wiki - Wiki]:
|
:[https://genode.org/community/wiki - Wiki]:
|
||||||
The platform-specific Wiki pages for L4/Fiasco, L4ka::Pistachio, NOVA,
|
The platform-specific Wiki pages for L4/Fiasco, L4ka::Pistachio, NOVA,
|
||||||
Codezero, Fiasco.OC, and OKL4 have been updated to reflect the new flows of
|
Codezero, Fiasco.OC, and OKL4 have been updated to reflect the new flows of
|
||||||
working with the respective base platforms.
|
working with the respective base platforms.
|
||||||
|
@ -76,7 +76,7 @@ traditional hypervisors. Hence, the authors of NOVA coined the term
|
|||||||
microhypervisor.
|
microhypervisor.
|
||||||
|
|
||||||
The NOVA virtualization architecture is detailed in the paper
|
The NOVA virtualization architecture is detailed in the paper
|
||||||
[http://os.inf.tu-dresden.de/papers_ps/steinberg_eurosys2010.pdf - NOVA: A Microhypervisor-Based Secure Virtualization Architecture]
|
[https://os.inf.tu-dresden.de/papers_ps/steinberg_eurosys2010.pdf - NOVA: A Microhypervisor-Based Secure Virtualization Architecture]
|
||||||
by Udo Steinberg and Bernhard Kauer.
|
by Udo Steinberg and Bernhard Kauer.
|
||||||
|
|
||||||
Since February 2010, NOVA is one of the supported base platforms of Genode. But
|
Since February 2010, NOVA is one of the supported base platforms of Genode. But
|
||||||
@ -123,7 +123,7 @@ L4Linux is the base of L4Android, a project that combines the Android software
|
|||||||
stack with L4Linux. With the current release, we have integrated L4Android with
|
stack with L4Linux. With the current release, we have integrated L4Android with
|
||||||
Genode.
|
Genode.
|
||||||
|
|
||||||
:[http://l4android.org]:
|
:[https://l4android.org]:
|
||||||
L4Android project website
|
L4Android project website
|
||||||
|
|
||||||
[image l4android]
|
[image l4android]
|
||||||
@ -396,7 +396,7 @@ Vancouver is a virtual machine monitor specifically developed for the use with
|
|||||||
the NOVA hypervisor. It virtualizes a 32-bit x86 PC hardware including various
|
the NOVA hypervisor. It virtualizes a 32-bit x86 PC hardware including various
|
||||||
peripherals.
|
peripherals.
|
||||||
|
|
||||||
The official project website is [http://hypervisor.org]. Vancouver relies
|
The official project website is [https://hypervisor.org]. Vancouver relies
|
||||||
on hardware virtualization support such as VMX (Intel) or SVM (AMD).
|
on hardware virtualization support such as VMX (Intel) or SVM (AMD).
|
||||||
With the current release, we have added the first version of our port of
|
With the current release, we have added the first version of our port of
|
||||||
Vancouver to Genode to the 'ports' repository. To download the Vancouver
|
Vancouver to Genode to the 'ports' repository. To download the Vancouver
|
||||||
@ -575,7 +575,7 @@ bidirectional communication (terminal session), and creating the actual GDB
|
|||||||
support in the form of the GDB monitor component. To paint a complete picture
|
support in the form of the GDB monitor component. To paint a complete picture
|
||||||
of the scene, we have added the following documentation:
|
of the scene, we have added the following documentation:
|
||||||
|
|
||||||
:[http://genode.org/documentation/developer-resources/gdb]:
|
:[https://genode.org/documentation/developer-resources/gdb]:
|
||||||
User-level debugging on Genode
|
User-level debugging on Genode
|
||||||
|
|
||||||
|
|
||||||
@ -680,7 +680,7 @@ the official successor of gPXE, for our NIC drivers. Currently, drivers for
|
|||||||
Intel E1000/E1000e and PCnet32 cards are enabled in the new 'nic_drv'. The
|
Intel E1000/E1000e and PCnet32 cards are enabled in the new 'nic_drv'. The
|
||||||
Linux based driver was removed.
|
Linux based driver was removed.
|
||||||
|
|
||||||
:[http://ipxe.org]:
|
:[https://ipxe.org]:
|
||||||
iPXE open source boot firmware
|
iPXE open source boot firmware
|
||||||
|
|
||||||
|
|
||||||
|
@ -28,7 +28,7 @@ with new device-driver infrastructure such as the first version of a device
|
|||||||
driver manager and a new ACPI parser.
|
driver manager and a new ACPI parser.
|
||||||
|
|
||||||
Feature-wise, the current release takes the first steps towards the goal of the
|
Feature-wise, the current release takes the first steps towards the goal of the
|
||||||
[http://genode.org/about/road-map - Roadmap for 2012], turning Genode into a
|
[https://genode.org/about/road-map - Roadmap for 2012], turning Genode into a
|
||||||
general-purpose OS ready for everyday use by its developers. According to the
|
general-purpose OS ready for everyday use by its developers. According to the
|
||||||
roadmap, we enhanced the Noux runtime with fork semantics so that we can run
|
roadmap, we enhanced the Noux runtime with fork semantics so that we can run
|
||||||
command-line based GNU programs such as the bash shell and coreutils unmodified
|
command-line based GNU programs such as the bash shell and coreutils unmodified
|
||||||
@ -48,7 +48,7 @@ releases. This way of development seemed to work quite well for us, we were
|
|||||||
satisfied about the pace of development, and with each release, our project got
|
satisfied about the pace of development, and with each release, our project got
|
||||||
more recognition.
|
more recognition.
|
||||||
|
|
||||||
However, the excellent book [http://producingoss.com/ - Producing Open Source Software]
|
However, the excellent book [https://producingoss.com/ - Producing Open Source Software]
|
||||||
made us realize that even though we released our work under an Open-Source
|
made us realize that even though we released our work under an Open-Source
|
||||||
license, our development process was actually far from being open and may have
|
license, our development process was actually far from being open and may have
|
||||||
discouraged participation of people outside the inner circle of developers.
|
discouraged participation of people outside the inner circle of developers.
|
||||||
@ -58,14 +58,14 @@ to liberate the project from its closed fashion of development.
|
|||||||
|
|
||||||
In the beginning of December, the vague idea has become a plan. So we finally
|
In the beginning of December, the vague idea has become a plan. So we finally
|
||||||
brought the topic to our mailing list
|
brought the topic to our mailing list
|
||||||
([http://genode.org/news/steps-towards-an-open-development-process - Steps towards an open development process]).
|
([https://genode.org/news/steps-towards-an-open-development-process - Steps towards an open development process]).
|
||||||
We decided to take the release cycle for Genode 12.02 as the opportunity to put
|
We decided to take the release cycle for Genode 12.02 as the opportunity to put
|
||||||
our plan to practice. The central element of this endeavour was moving the
|
our plan to practice. The central element of this endeavour was moving the
|
||||||
project over to GitHub and adapt our workflows and tooling support accordingly.
|
project over to GitHub and adapt our workflows and tooling support accordingly.
|
||||||
First, we started to embrace GitHub's issue tracker for the management of
|
First, we started to embrace GitHub's issue tracker for the management of
|
||||||
working topics:
|
working topics:
|
||||||
|
|
||||||
:[http://github.com/genodelabs/genode/issues]: Issue Tracker
|
:[https://github.com/genodelabs/genode/issues]: Issue Tracker
|
||||||
|
|
||||||
The most significant step was leaving our Genode-Labs-internal code
|
The most significant step was leaving our Genode-Labs-internal code
|
||||||
repositories behind and starting a completely public Git repository instead:
|
repositories behind and starting a completely public Git repository instead:
|
||||||
@ -86,7 +86,7 @@ comes directly from the project's Git repository. So maintaining website
|
|||||||
content is done in the same coherent and transparent way as working on Genode's
|
content is done in the same coherent and transparent way as working on Genode's
|
||||||
code base. So we could finally put the old Wiki to rest. In the process, we
|
code base. So we could finally put the old Wiki to rest. In the process, we
|
||||||
largely revisited the existing content. For example, we rewrote the
|
largely revisited the existing content. For example, we rewrote the
|
||||||
[http://genode.org/community/contributions - contributions] document in a
|
[https://genode.org/community/contributions - contributions] document in a
|
||||||
tutorial-like style and incorporated several practical hints, in particular
|
tutorial-like style and incorporated several practical hints, in particular
|
||||||
related to the recommended use of Git.
|
related to the recommended use of Git.
|
||||||
|
|
||||||
@ -419,9 +419,9 @@ New and updated libraries
|
|||||||
|
|
||||||
We updated Qt4 from version 4.7.1 to version 4.7.4. For the most part, the
|
We updated Qt4 from version 4.7.1 to version 4.7.4. For the most part, the
|
||||||
update contains bug fixes as detailed in the release notes for the versions
|
update contains bug fixes as detailed in the release notes for the versions
|
||||||
[http://qt.nokia.com/products/changes/changes-4.7.2 - 4.7.2],
|
[https://qt.nokia.com/products/changes/changes-4.7.2 - 4.7.2],
|
||||||
[http://qt.nokia.com/products/changes/changes-4.7.3 - 4.7.3], and
|
[https://qt.nokia.com/products/changes/changes-4.7.3 - 4.7.3], and
|
||||||
[http://labs.qt.nokia.com/2011/09/01/qt-4-7-4-released - 4.7.4].
|
[https://labs.qt.nokia.com/2011/09/01/qt-4-7-4-released - 4.7.4].
|
||||||
|
|
||||||
:Update of zlib to version 1.2.6:
|
:Update of zlib to version 1.2.6:
|
||||||
|
|
||||||
@ -469,7 +469,7 @@ PDF viewer
|
|||||||
According to our road map for 2012, we pursued the port of an existing PDF
|
According to our road map for 2012, we pursued the port of an existing PDF
|
||||||
viewer as native application to Genode.
|
viewer as native application to Genode.
|
||||||
|
|
||||||
We first looked at the [http://poppler.freedesktop.org - libpoppler],
|
We first looked at the [https://poppler.freedesktop.org - libpoppler],
|
||||||
which seems to be the most popular PDF rendering engine in the world of
|
which seems to be the most popular PDF rendering engine in the world of
|
||||||
freedesktop.org. To get a grasp on what the porting effort of this engine may
|
freedesktop.org. To get a grasp on what the porting effort of this engine may
|
||||||
be, we looked at projects using this library as well as the library source
|
be, we looked at projects using this library as well as the library source
|
||||||
@ -678,7 +678,7 @@ employing a full-blown ACPI interpreter, the ACPI driver uses an ingenious
|
|||||||
technique invented by Bernhard Kauer, which is described in the following
|
technique invented by Bernhard Kauer, which is described in the following
|
||||||
paper:
|
paper:
|
||||||
|
|
||||||
:[http://os.inf.tu-dresden.de/papers_ps/tr-atare-2009.pdf - ATARE - ACPI Tables and Regular Expressions]:
|
:[https://os.inf.tu-dresden.de/papers_ps/tr-atare-2009.pdf - ATARE - ACPI Tables and Regular Expressions]:
|
||||||
_TU Dresden technical report TUD-FI09-09, Dresden, Germany, August 2009_
|
_TU Dresden technical report TUD-FI09-09, Dresden, Germany, August 2009_
|
||||||
|
|
||||||
:Usage:
|
:Usage:
|
||||||
|
@ -17,7 +17,7 @@ The highlights are the introduction of Genode's file-system infrastructure and
|
|||||||
a new concept for the dynamic adjustment of the system's behaviour at runtime.
|
a new concept for the dynamic adjustment of the system's behaviour at runtime.
|
||||||
|
|
||||||
The release follows the rough plan we laid out in our
|
The release follows the rough plan we laid out in our
|
||||||
[http://genode.org/about/road-map - road map]. One planned road-map item was
|
[https://genode.org/about/road-map - road map]. One planned road-map item was
|
||||||
revisiting our base of device drivers as we realized that some important
|
revisiting our base of device drivers as we realized that some important
|
||||||
drivers were not on par with our requirements, the USB stack being the most
|
drivers were not on par with our requirements, the USB stack being the most
|
||||||
important example. Our prior existing solution was originally ported from Linux
|
important example. Our prior existing solution was originally ported from Linux
|
||||||
@ -619,8 +619,8 @@ from the official zlib mirrors.
|
|||||||
|
|
||||||
:Video codecs via libav:
|
:Video codecs via libav:
|
||||||
|
|
||||||
The [http://libav.org - libav project] is one successor of the popular
|
The [https://libav.org - libav project] is one successor of the popular
|
||||||
[http://ffmpeg.org/ - FFmpeg] library, which is a comprehensive solution
|
[https://ffmpeg.org/ - FFmpeg] library, which is a comprehensive solution
|
||||||
for video and audio decoding, conversion, and streaming. The version
|
for video and audio decoding, conversion, and streaming. The version
|
||||||
0.8.2 of libav has been incorporated into the libports repository.
|
0.8.2 of libav has been incorporated into the libports repository.
|
||||||
|
|
||||||
@ -645,7 +645,7 @@ versatile test tool, which loads and runs test scripts configured with
|
|||||||
Genode's config mechanism. Test results can be aggregated, printed, and
|
Genode's config mechanism. Test results can be aggregated, printed, and
|
||||||
analyzed at runtime by scripts.
|
analyzed at runtime by scripts.
|
||||||
|
|
||||||
:[http://lua.org/]: Lua programming language
|
:[https://lua.org/]: Lua programming language
|
||||||
|
|
||||||
|
|
||||||
libSDL
|
libSDL
|
||||||
@ -743,7 +743,7 @@ player. It consists of the following pieces.
|
|||||||
[image media_player]
|
[image media_player]
|
||||||
The unmodified 'avplay' embedded in Qt4-based GUI.
|
The unmodified 'avplay' embedded in Qt4-based GUI.
|
||||||
The media file was downloaded from
|
The media file was downloaded from
|
||||||
http://www.youtube.com/watch?v=CbtAP3kUCxs.
|
https://www.youtube.com/watch?v=CbtAP3kUCxs.
|
||||||
|
|
||||||
The latter part is particularly interesting because it makes creative use of
|
The latter part is particularly interesting because it makes creative use of
|
||||||
Genode's unique service virtualization facilities. The 'qt_avplay' program
|
Genode's unique service virtualization facilities. The 'qt_avplay' program
|
||||||
|
@ -48,7 +48,7 @@ the genode.org website via the lighttpd web server,
|
|||||||
|
|
||||||
:What about the road map?:
|
:What about the road map?:
|
||||||
|
|
||||||
Those of you who track the milestones laid out in our [http:/about/road-map - road map]
|
Those of you who track the milestones laid out in our [https://genode.org/about/road-map - road map]
|
||||||
may wonder how Genode 12.08 relates to the stated goals. In fact, several
|
may wonder how Genode 12.08 relates to the stated goals. In fact, several
|
||||||
points of the road map haven't received the attention as originally planned.
|
points of the road map haven't received the attention as originally planned.
|
||||||
As an explanation, let us quote the paragraph right atop of the road-map page:
|
As an explanation, let us quote the paragraph right atop of the road-map page:
|
||||||
@ -152,10 +152,10 @@ you will see the new 'hw_panda_a2', 'hw_vea9x4', 'hw_pbxa9' choices of
|
|||||||
build-directory templates. The latter platform enables you to run a
|
build-directory templates. The latter platform enables you to run a
|
||||||
'base-hw' Genode system on Qemu.
|
'base-hw' Genode system on Qemu.
|
||||||
|
|
||||||
[http://genode.org/documentation/platforms/hw - Learn more about using the new base-hw platform...]
|
[https://genode.org/documentation/platforms/hw - Learn more about using the new base-hw platform...]
|
||||||
|
|
||||||
For running Genode directly on the Pandaboard, please refer to the
|
For running Genode directly on the Pandaboard, please refer to the
|
||||||
[http://genode.org/documentation/platforms/hw_panda_a2 - Pandaboard-specific documentation...]
|
[https://genode.org/documentation/platforms/hw_panda_a2 - Pandaboard-specific documentation...]
|
||||||
|
|
||||||
|
|
||||||
Embracing the NOVA Hypervisor
|
Embracing the NOVA Hypervisor
|
||||||
@ -406,14 +406,14 @@ New and updated 3rd-party libraries
|
|||||||
|
|
||||||
:Expat:
|
:Expat:
|
||||||
|
|
||||||
[http://expat.sourceforge.net - Expat] is an XML parsing library. The port of
|
[https://expat.sourceforge.net - Expat] is an XML parsing library. The port of
|
||||||
this library was motivated by our goal to use the GNU debugger for on-target
|
this library was motivated by our goal to use the GNU debugger for on-target
|
||||||
debugging. GDB depends on this library.
|
debugging. GDB depends on this library.
|
||||||
|
|
||||||
:MPC and GMP:
|
:MPC and GMP:
|
||||||
|
|
||||||
We complemented our existing port of the
|
We complemented our existing port of the
|
||||||
[http://gmplib.org - GNU multiple precision arithmetic library (libgmp)] with
|
[https://gmplib.org - GNU multiple precision arithmetic library (libgmp)] with
|
||||||
support for the x86_64 and ARM architectures. This change combined with the
|
support for the x86_64 and ARM architectures. This change combined with the
|
||||||
port of the [http://www.multiprecision.org/index.php?prog=mpc - MPC library]
|
port of the [http://www.multiprecision.org/index.php?prog=mpc - MPC library]
|
||||||
enables us to build the Genode tool chain for these architectures.
|
enables us to build the Genode tool chain for these architectures.
|
||||||
@ -437,14 +437,14 @@ on it.
|
|||||||
|
|
||||||
:PCRE:
|
:PCRE:
|
||||||
|
|
||||||
[http://www.pcre.org/ - PCRE] is a library for parsing regular rexpressions. We
|
[https://www.pcre.org/ - PCRE] is a library for parsing regular rexpressions. We
|
||||||
require this library for our ongoing work on porting the lighttpd webserver.
|
require this library for our ongoing work on porting the lighttpd webserver.
|
||||||
|
|
||||||
|
|
||||||
Lighttpd web server
|
Lighttpd web server
|
||||||
===================
|
===================
|
||||||
|
|
||||||
The [http://www.lighttpd.net/ - Lighttpd] web server has been added to the
|
The [https://www.lighttpd.net/ - Lighttpd] web server has been added to the
|
||||||
'ports' repository. The port runs as a native Genode application and ultimately
|
'ports' repository. The port runs as a native Genode application and ultimately
|
||||||
clears the way to hosting the genode.org website on Genode. To test drive this
|
clears the way to hosting the genode.org website on Genode. To test drive this
|
||||||
scenario, please give the 'ports/run/genode_org.run' script a try.
|
scenario, please give the 'ports/run/genode_org.run' script a try.
|
||||||
|
@ -328,7 +328,7 @@ To prevent the TCP/IP stack from artificially throttling TCP throughput,
|
|||||||
we adjusted lwIP's TCP_SND_BUF size.
|
we adjusted lwIP's TCP_SND_BUF size.
|
||||||
|
|
||||||
From our work on optimizing the NIC stub-code performance of L4Linux as
|
From our work on optimizing the NIC stub-code performance of L4Linux as
|
||||||
described [http://genode.org/documentation/articles/pandaboard - here],
|
described [https://genode.org/documentation/articles/pandaboard - here],
|
||||||
we learned that the use of a NIC-specific packet allocator for the
|
we learned that the use of a NIC-specific packet allocator for the
|
||||||
packet-stream interface is beneficial. At the lwIP back end, we still relied on
|
packet-stream interface is beneficial. At the lwIP back end, we still relied on
|
||||||
the original general-purpose allocator. Hence, we improved the lwIP back-end
|
the original general-purpose allocator. Hence, we improved the lwIP back-end
|
||||||
@ -368,7 +368,7 @@ device-driver environment for the audio drivers of the Open Sound System (OSS).
|
|||||||
|
|
||||||
:Website of the Open Sound System:
|
:Website of the Open Sound System:
|
||||||
|
|
||||||
[http://http://www.4front-tech.com]
|
[http://www.4front-tech.com]
|
||||||
|
|
||||||
The new 'dde_oss' contains all the pieces needed to use Intel HDA, AC97, and
|
The new 'dde_oss' contains all the pieces needed to use Intel HDA, AC97, and
|
||||||
ES1370 audio cards on Genode. On first use, the 3rd-party code can be
|
ES1370 audio cards on Genode. On first use, the 3rd-party code can be
|
||||||
@ -732,4 +732,4 @@ refer to the tool-chain website:
|
|||||||
|
|
||||||
:Genode tool chain:
|
:Genode tool chain:
|
||||||
|
|
||||||
[http://genode.org/download/tool-chain]
|
[https://genode.org/download/tool-chain]
|
||||||
|
@ -172,7 +172,7 @@ Full virtualization on NOVA/x86
|
|||||||
|
|
||||||
Vancouver is a x86 virtual machine monitor that is designed to run as
|
Vancouver is a x86 virtual machine monitor that is designed to run as
|
||||||
user-level process on top of the NOVA hypervisor. In
|
user-level process on top of the NOVA hypervisor. In
|
||||||
[http://genode.org/documentation/release-notes/11.11#Faithful_x86_PC_Virtualization_enabled_by_the_Vancouver_VMM - Genode version 11.11],
|
[https://genode.org/documentation/release-notes/11.11#Faithful_x86_PC_Virtualization_enabled_by_the_Vancouver_VMM - Genode version 11.11],
|
||||||
we introduced the preliminary adaptation of Vancouver to Genode. This version
|
we introduced the preliminary adaptation of Vancouver to Genode. This version
|
||||||
was meant as a mere proof of concept, which allowed the bootup of small Guest
|
was meant as a mere proof of concept, which allowed the bootup of small Guest
|
||||||
OSes (such as Fiasco.OC or Pistachio) inside the VMM. However, it did not
|
OSes (such as Fiasco.OC or Pistachio) inside the VMM. However, it did not
|
||||||
@ -379,7 +379,7 @@ Trimmed and unified framework API
|
|||||||
=================================
|
=================================
|
||||||
|
|
||||||
A though-provoking
|
A though-provoking
|
||||||
[http://sourceforge.net/mailarchive/forum.php?thread_name=CAGQ-%3Dq27%2B_UooBiJmz9RdTE1gDmVcg9v0w-8TNgEH5fzHYiA%2BQ%40mail.gmail.com&forum_name=genode-main - posting]
|
[https://sourceforge.net/mailarchive/forum.php?thread_name=CAGQ-%3Dq27%2B_UooBiJmz9RdTE1gDmVcg9v0w-8TNgEH5fzHYiA%2BQ%40mail.gmail.com&forum_name=genode-main - posting]
|
||||||
on our mailing list prompted us to explore the idea to make shared libraries
|
on our mailing list prompted us to explore the idea to make shared libraries
|
||||||
and dynamically linked executables binary compatible among different kernels.
|
and dynamically linked executables binary compatible among different kernels.
|
||||||
This sounds a bit crazy at first but it is not downright infeasible.
|
This sounds a bit crazy at first but it is not downright infeasible.
|
||||||
|
@ -9,7 +9,7 @@
|
|||||||
|
|
||||||
|
|
||||||
With Genode 13.05, we have diverged quite a bit from the feature-laden plans
|
With Genode 13.05, we have diverged quite a bit from the feature-laden plans
|
||||||
laid out in our [http://genode.org/about/road-map road map] as we realized
|
laid out in our [https://genode.org/about/road-map road map] as we realized
|
||||||
that consolidating and optimizing the current feature set will have a more
|
that consolidating and optimizing the current feature set will have a more
|
||||||
sustainable effect than functional enhancements at this point. In particular,
|
sustainable effect than functional enhancements at this point. In particular,
|
||||||
we addressed the problem that the ever growing diversity of platforms imposes
|
we addressed the problem that the ever growing diversity of platforms imposes
|
||||||
@ -110,7 +110,7 @@ TFTP boot x86
|
|||||||
The following description uses NOVA as an example to illustrate the usage.
|
The following description uses NOVA as an example to illustrate the usage.
|
||||||
Other base platforms are supported as well and can be configured analogously.
|
Other base platforms are supported as well and can be configured analogously.
|
||||||
|
|
||||||
[http://os.inf.tu-dresden.de/~us15/pulsar/ - Pulsar] is a tiny boot loader
|
[https://os.inf.tu-dresden.de/~us15/pulsar/ - Pulsar] is a tiny boot loader
|
||||||
that uses PXE to fetch boot images via TFTP over the network. On the x86
|
that uses PXE to fetch boot images via TFTP over the network. On the x86
|
||||||
architecture, Genode supports the automatic generation of Pulsar configuration
|
architecture, Genode supports the automatic generation of Pulsar configuration
|
||||||
files, which can be placed directly onto a TFTP server. Genode can be booted
|
files, which can be placed directly onto a TFTP server. Genode can be booted
|
||||||
@ -345,7 +345,7 @@ each requiring a dedicated 'Terminal::Session'. Hence, we need a way to
|
|||||||
multiplex the 'Terminal::Session' interface between those clients. Our
|
multiplex the 'Terminal::Session' interface between those clients. Our
|
||||||
multiplexing solution comes in the form of a component called terminal_mux,
|
multiplexing solution comes in the form of a component called terminal_mux,
|
||||||
which we just introduced in the
|
which we just introduced in the
|
||||||
[http://genode.org/documentation/release-notes/13.02#New_terminal_multiplexer - previous release].
|
[https://genode.org/documentation/release-notes/13.02#New_terminal_multiplexer - previous release].
|
||||||
It uses a single terminal connection to implement a text-based user interface
|
It uses a single terminal connection to implement a text-based user interface
|
||||||
to multiple virtual terminal consoles.
|
to multiple virtual terminal consoles.
|
||||||
|
|
||||||
@ -400,7 +400,7 @@ unsynchronized class interfaces.
|
|||||||
:MMIO framework improvements:
|
:MMIO framework improvements:
|
||||||
|
|
||||||
For native Genode device drivers, we consistently use our
|
For native Genode device drivers, we consistently use our
|
||||||
[http://genode.org/documentation/release-notes/12.02#MMIO_access_framework - MMIO framework API].
|
[https://genode.org/documentation/release-notes/12.02#MMIO_access_framework - MMIO framework API].
|
||||||
These utilities help us to safeguard the access to individual bit fields of
|
These utilities help us to safeguard the access to individual bit fields of
|
||||||
memory-mapped device registers and cleanly separate the declaration of device
|
memory-mapped device registers and cleanly separate the declaration of device
|
||||||
registers from the driver logic. During the increased use of the API, we
|
registers from the driver logic. During the increased use of the API, we
|
||||||
@ -669,7 +669,7 @@ particular, we addressed USB networking, XHCI (USB-3), Gigabit networking over
|
|||||||
USB-3, eMMC, and SATA.
|
USB-3, eMMC, and SATA.
|
||||||
|
|
||||||
The development of those device drivers follows our rationale that guided our
|
The development of those device drivers follows our rationale that guided our
|
||||||
[http://genode.org/documentation/articles/pandaboard - previous work on the OMAP4 platform].
|
[https://genode.org/documentation/articles/pandaboard - previous work on the OMAP4 platform].
|
||||||
For the USB driver, we employed the device-driver-environment (DDE) approach
|
For the USB driver, we employed the device-driver-environment (DDE) approach
|
||||||
for reusing the Linux USB stack and the host controller drivers. In contrast,
|
for reusing the Linux USB stack and the host controller drivers. In contrast,
|
||||||
the eMMC and SATA drivers are built as genuine Genode drivers with no
|
the eMMC and SATA drivers are built as genuine Genode drivers with no
|
||||||
@ -747,7 +747,7 @@ The OMAP4 framebuffer driver used to support HDMI only, which was used
|
|||||||
for connecting a display to the Pandaboard. To make the driver usable on
|
for connecting a display to the Pandaboard. To make the driver usable on
|
||||||
phones and tablets, the driver has been enhanced to support LCD output. Thanks
|
phones and tablets, the driver has been enhanced to support LCD output. Thanks
|
||||||
to Alexander Tarasikov for the patch and the insightful story about
|
to Alexander Tarasikov for the patch and the insightful story about
|
||||||
[http://allsoftwaresucks.blogspot.com/2013/05/porting-genode-to-commercial-hardware.html - porting Genode to the B&N Nook HD+ tablet]!
|
[https://allsoftwaresucks.blogspot.com/2013/05/porting-genode-to-commercial-hardware.html - porting Genode to the B&N Nook HD+ tablet]!
|
||||||
|
|
||||||
|
|
||||||
USB
|
USB
|
||||||
|
@ -533,7 +533,7 @@ Management of CPU affinities
|
|||||||
============================
|
============================
|
||||||
|
|
||||||
In line with our experience of supporting
|
In line with our experience of supporting
|
||||||
[http://www.genode.org/documentation/release-notes/10.02#Real-time_priorities - real-time priorities]
|
[https://genode.org/documentation/release-notes/10.02#Real-time_priorities - real-time priorities]
|
||||||
in version 10.02, we were seeking a way to express CPU affinities such that
|
in version 10.02, we were seeking a way to express CPU affinities such that
|
||||||
Genode's recursive nature gets preserved and facilitated. Dealing with
|
Genode's recursive nature gets preserved and facilitated. Dealing with
|
||||||
physical CPU numbers would contradict with this mission. Our solution
|
physical CPU numbers would contradict with this mission. Our solution
|
||||||
|
@ -203,7 +203,7 @@ but less so with file systems that are well supported by the Linux kernel.
|
|||||||
Coincidentally, when we came to this realization, we stumbled upon the
|
Coincidentally, when we came to this realization, we stumbled upon the
|
||||||
wonderful work of Antti Kantee on so-called rump kernels:
|
wonderful work of Antti Kantee on so-called rump kernels:
|
||||||
|
|
||||||
:[http://wiki.netbsd.org/rumpkernel/]:
|
:[https://wiki.netbsd.org/rumpkernel/]:
|
||||||
Rump kernel Wiki
|
Rump kernel Wiki
|
||||||
|
|
||||||
The motivation behind the rump kernels was the development of
|
The motivation behind the rump kernels was the development of
|
||||||
@ -394,7 +394,7 @@ Block cache
|
|||||||
===========
|
===========
|
||||||
|
|
||||||
The provisioning of a block cache was one of the primary motivations behind the
|
The provisioning of a block cache was one of the primary motivations behind the
|
||||||
[http://www.genode.org/documentation/release-notes/13.11#Dynamic_resource_balancing - dynamic resource balancing]
|
[https://genode.org/documentation/release-notes/13.11#Dynamic_resource_balancing - dynamic resource balancing]
|
||||||
concept that was introduced in Genode 13.11. We are now introducing the first
|
concept that was introduced in Genode 13.11. We are now introducing the first
|
||||||
version of such a cache.
|
version of such a cache.
|
||||||
|
|
||||||
|
@ -214,7 +214,7 @@ Unification of the ports management
|
|||||||
With the new source-tree layout in place, we could pursue a new take on
|
With the new source-tree layout in place, we could pursue a new take on
|
||||||
unifying the management of ported 3rd-party source code. The new solution,
|
unifying the management of ported 3rd-party source code. The new solution,
|
||||||
which is very much inspired by the fabulous
|
which is very much inspired by the fabulous
|
||||||
[http://nixos.org/nix - Nix package manager] comes in the form of new tools to
|
[https://nixos.org/nix - Nix package manager] comes in the form of new tools to
|
||||||
be found at 'tool/ports/'.
|
be found at 'tool/ports/'.
|
||||||
|
|
||||||
Note that even though the port mechanism described herein looks a bit like
|
Note that even though the port mechanism described herein looks a bit like
|
||||||
@ -268,7 +268,7 @@ please refer to the updated porting guide:
|
|||||||
|
|
||||||
:Genode Porting Guide:
|
:Genode Porting Guide:
|
||||||
|
|
||||||
[http://genode.org/documentation/developer-resources/porting]
|
[https://genode.org/documentation/developer-resources/porting]
|
||||||
|
|
||||||
|
|
||||||
:Known limitations:
|
:Known limitations:
|
||||||
|
@ -415,7 +415,7 @@ ROM session interface
|
|||||||
|
|
||||||
Originally, the ROM session interface had been designed for providing boot
|
Originally, the ROM session interface had been designed for providing boot
|
||||||
modules to the user land. Later, in version
|
modules to the user land. Later, in version
|
||||||
[http://genode.org/documentation/release-notes/12.05#System_reconfiguration_at_runtime - 12.05],
|
[https://genode.org/documentation/release-notes/12.05#System_reconfiguration_at_runtime - 12.05],
|
||||||
we enhanced the interface to support dynamic updates of ROM modules to
|
we enhanced the interface to support dynamic updates of ROM modules to
|
||||||
facilitate the reconfiguration of components at runtime. In the meanwhile,
|
facilitate the reconfiguration of components at runtime. In the meanwhile,
|
||||||
the dynamic updating of ROM modules has become commonplace within Genode,
|
the dynamic updating of ROM modules has become commonplace within Genode,
|
||||||
@ -479,7 +479,7 @@ Pluggable VFS file systems
|
|||||||
==========================
|
==========================
|
||||||
|
|
||||||
The virtual file system (VFS) infrastructure introduced with version
|
The virtual file system (VFS) infrastructure introduced with version
|
||||||
[http://genode.org/documentation/release-notes/14.05#Per-process_virtual_file_systems - 14.05],
|
[https://genode.org/documentation/release-notes/14.05#Per-process_virtual_file_systems - 14.05],
|
||||||
supports a number of built-in file-system types such as the TAR, ROM, FS,
|
supports a number of built-in file-system types such as the TAR, ROM, FS,
|
||||||
block, terminal, or LOG file systems. It allows the tailoring of the
|
block, terminal, or LOG file systems. It allows the tailoring of the
|
||||||
file-system environment specifically for each individual program.
|
file-system environment specifically for each individual program.
|
||||||
@ -1030,7 +1030,7 @@ Finished transition to new ports mechanism
|
|||||||
==========================================
|
==========================================
|
||||||
|
|
||||||
In version 14.05, we introduced
|
In version 14.05, we introduced
|
||||||
[http://genode.org/documentation/release-notes/14.05#Management_of_ported_3rd-party_source_code - new tools]
|
[https://genode.org/documentation/release-notes/14.05#Management_of_ported_3rd-party_source_code - new tools]
|
||||||
for integrating 3rd-party software with Genode and migrated the majority of
|
for integrating 3rd-party software with Genode and migrated the majority of
|
||||||
our ports to the new mechanism. With the current version, we have finished the
|
our ports to the new mechanism. With the current version, we have finished the
|
||||||
transition by migrating the remaining ports, namely Qt5, GCC, and GDB.
|
transition by migrating the remaining ports, namely Qt5, GCC, and GDB.
|
||||||
|
@ -402,7 +402,7 @@ modules:
|
|||||||
|
|
||||||
Furthermore all Intel wireless cards supported by the 'iwlwifi' driver need a
|
Furthermore all Intel wireless cards supported by the 'iwlwifi' driver need a
|
||||||
specific firmware to work. You can download the archives containing the
|
specific firmware to work. You can download the archives containing the
|
||||||
firmware from [http://wireless.kernel.org/en/users/Drivers/iwlwifi]. The
|
firmware from [https://wireless.kernel.org/en/users/Drivers/iwlwifi]. The
|
||||||
firmware image also has to be added to the boot module list. If the firmware
|
firmware image also has to be added to the boot module list. If the firmware
|
||||||
is missing, the driver will complain and print an error message:
|
is missing, the driver will complain and print an error message:
|
||||||
|
|
||||||
@ -556,7 +556,7 @@ For realizing graphical applications that are security critical, we wish to
|
|||||||
avoid the complexity of sophisticated tool kits like Qt5. To ease the
|
avoid the complexity of sophisticated tool kits like Qt5. To ease the
|
||||||
development of such Genode-specific graphical applications, we introduced a
|
development of such Genode-specific graphical applications, we introduced a
|
||||||
few common low-level interfaces and utilities for graphics in
|
few common low-level interfaces and utilities for graphics in
|
||||||
[http://genode.org/documentation/release-notes/14.02#Unified_interfaces_for_graphics - version 14.02].
|
[https://genode.org/documentation/release-notes/14.02#Unified_interfaces_for_graphics - version 14.02].
|
||||||
|
|
||||||
The current version refines those utilities with added support for layering
|
The current version refines those utilities with added support for layering
|
||||||
graphics using alpha channels. There is a new ALPHA8 pixel format that can be
|
graphics using alpha channels. There is a new ALPHA8 pixel format that can be
|
||||||
@ -637,7 +637,7 @@ Growing tool kit for low-complexity GUI applications
|
|||||||
====================================================
|
====================================================
|
||||||
|
|
||||||
With the current release, we continue our line of GUI-related work started in
|
With the current release, we continue our line of GUI-related work started in
|
||||||
[http://genode.org/documentation/release-notes/14.08#New_GUI_architecture - version 14.08].
|
[https://genode.org/documentation/release-notes/14.08#New_GUI_architecture - version 14.08].
|
||||||
As a side product of implementing low-complexity GUI components directly on
|
As a side product of implementing low-complexity GUI components directly on
|
||||||
Genode instead of using existing GUI tool kits, a library of common utilities
|
Genode instead of using existing GUI tool kits, a library of common utilities
|
||||||
is evolving. The utilities are not strictly GUI-related but also cover the
|
is evolving. The utilities are not strictly GUI-related but also cover the
|
||||||
@ -935,7 +935,7 @@ Raspberry Pi
|
|||||||
============
|
============
|
||||||
|
|
||||||
Genode added principle support for the Raspberry Pi one year ago in
|
Genode added principle support for the Raspberry Pi one year ago in
|
||||||
[http://genode.org/documentation/release-notes/13.11#Raspberry_Pi - version 13.11].
|
[https://genode.org/documentation/release-notes/13.11#Raspberry_Pi - version 13.11].
|
||||||
Back then, the driver support covered the interrupt controller, timer, UART,
|
Back then, the driver support covered the interrupt controller, timer, UART,
|
||||||
display, and USB. The latter was particularly challenging because the DWC-OTG
|
display, and USB. The latter was particularly challenging because the DWC-OTG
|
||||||
USB host controller lacked public documentation. Hence, we ported the driver
|
USB host controller lacked public documentation. Hence, we ported the driver
|
||||||
@ -1035,7 +1035,7 @@ amttool, which uses a SOAP EOI protocol for communication. Newer hardware with
|
|||||||
AMT version 9 or higher dropped the support for SOAP EOI - read
|
AMT version 9 or higher dropped the support for SOAP EOI - read
|
||||||
[https://software.intel.com/en-us/blogs/2012/12/01/intel-amt-wsman-interface-is-replacing-the-soapeoi-interface - a blog entry by Intel]
|
[https://software.intel.com/en-us/blogs/2012/12/01/intel-amt-wsman-interface-is-replacing-the-soapeoi-interface - a blog entry by Intel]
|
||||||
for more details - switched to the
|
for more details - switched to the
|
||||||
[http://www.dmtf.org/standards/wsman - WSMAN interface]. The tool wsman on
|
[https://www.dmtf.org/standards/wsman - WSMAN interface]. The tool wsman on
|
||||||
Linux speaks the protocol and can be used as a replacement. We integrated the
|
Linux speaks the protocol and can be used as a replacement. We integrated the
|
||||||
support of wsman into our run tool infrastructure and use it by default if
|
support of wsman into our run tool infrastructure and use it by default if
|
||||||
installed - otherwise amttool will be used. Of course, you can enforce your
|
installed - otherwise amttool will be used. Of course, you can enforce your
|
||||||
|
@ -8,7 +8,7 @@
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
Genode's [http://genode.org/about/road-map - roadmap] for this year puts a
|
Genode's [https://genode.org/about/road-map - roadmap] for this year puts a
|
||||||
strong emphasis on the consolidation and cultivation of the existing feature
|
strong emphasis on the consolidation and cultivation of the existing feature
|
||||||
set. With the first release of the year, version 15.02 pays tribute to this
|
set. With the first release of the year, version 15.02 pays tribute to this
|
||||||
mission by stepping up to extensive and systematic automated testing. As
|
mission by stepping up to extensive and systematic automated testing. As
|
||||||
@ -46,7 +46,7 @@ Cortex-A15-based Arndale board.
|
|||||||
|
|
||||||
While integrating ARM's virtualization extension, we aimed to strictly follow
|
While integrating ARM's virtualization extension, we aimed to strictly follow
|
||||||
microkernel-construction principles. The primary design is inspired by the
|
microkernel-construction principles. The primary design is inspired by the
|
||||||
[http://hypervisor.org/ - NOVA OS Virtualization Architecture]. It is based on a
|
[https://hypervisor.org/ - NOVA OS Virtualization Architecture]. It is based on a
|
||||||
microhypervisor that provides essential microkernel mechanisms along with
|
microhypervisor that provides essential microkernel mechanisms along with
|
||||||
basic primitives to switch between virtual machines (VMs). On top of the
|
basic primitives to switch between virtual machines (VMs). On top of the
|
||||||
microhypervisor, classical OS services are implemented as
|
microhypervisor, classical OS services are implemented as
|
||||||
@ -71,7 +71,7 @@ Design
|
|||||||
|
|
||||||
The ARM virtualization extensions are based on the so-called security
|
The ARM virtualization extensions are based on the so-called security
|
||||||
extensions, commonly known as
|
extensions, commonly known as
|
||||||
[http://genode.org/documentation/articles/trustzone - TrustZone].
|
[https://genode.org/documentation/articles/trustzone - TrustZone].
|
||||||
The ARM designers did not follow the
|
The ARM designers did not follow the
|
||||||
Intel approach to split the CPU into a "root" and a "guest" world while having all prior
|
Intel approach to split the CPU into a "root" and a "guest" world while having all prior
|
||||||
existing CPU modes available in both worlds. Instead, ARM added a new privilege level
|
existing CPU modes available in both worlds. Instead, ARM added a new privilege level
|
||||||
@ -206,7 +206,7 @@ Modular tool kit for automated testing
|
|||||||
######################################
|
######################################
|
||||||
|
|
||||||
In
|
In
|
||||||
[http://genode.org/documentation/release-notes/13.05#Automated_quality-assurance_testing - Genode version 13.05],
|
[https://genode.org/documentation/release-notes/13.05#Automated_quality-assurance_testing - Genode version 13.05],
|
||||||
we already introduced comprehensive support for the automated testing of
|
we already introduced comprehensive support for the automated testing of
|
||||||
Genode scenarios. Since then, Genode Labs has significantly widened the scope
|
Genode scenarios. Since then, Genode Labs has significantly widened the scope
|
||||||
of its internal test infrastructure, both in terms of the coverage of the test
|
of its internal test infrastructure, both in terms of the coverage of the test
|
||||||
@ -391,7 +391,7 @@ the physical address ranges of memory:
|
|||||||
|
|
||||||
* When using an IOMMU on NOVA, Genode represents the address space
|
* When using an IOMMU on NOVA, Genode represents the address space
|
||||||
accessible by devices (by the means of DMA) using a so-called device PD
|
accessible by devices (by the means of DMA) using a so-called device PD
|
||||||
([http://genode.org/documentation/release-notes/13.02#DMA_protection_via_IOMMU]).
|
([https://genode.org/documentation/release-notes/13.02#DMA_protection_via_IOMMU]).
|
||||||
DMA transactions originating from PCI devices are subjected to the virtual
|
DMA transactions originating from PCI devices are subjected to the virtual
|
||||||
address space of the device PD.
|
address space of the device PD.
|
||||||
All DMA buffers are identity-mapped with their physical addresses within
|
All DMA buffers are identity-mapped with their physical addresses within
|
||||||
@ -739,7 +739,7 @@ includes hardware, software, and firmware. This motivated us to
|
|||||||
bring Genode to this platform.
|
bring Genode to this platform.
|
||||||
|
|
||||||
The underlying idea is to facilitate
|
The underlying idea is to facilitate
|
||||||
[http://genode.org/documentation/articles/trustzone - ARM TrustZone] to
|
[https://genode.org/documentation/articles/trustzone - ARM TrustZone] to
|
||||||
use Genode as a companion to a Linux-based OS on the platform.
|
use Genode as a companion to a Linux-based OS on the platform.
|
||||||
Whereas Linux would run in the normal world of TrustZone, Genode runs
|
Whereas Linux would run in the normal world of TrustZone, Genode runs
|
||||||
in the secure world. With Linux, the normal world will control the
|
in the secure world. With Linux, the normal world will control the
|
||||||
|
@ -66,7 +66,7 @@ completely written from scratch:
|
|||||||
|
|
||||||
The book is published under the Creative Commons Attribution + ShareAlike
|
The book is published under the Creative Commons Attribution + ShareAlike
|
||||||
License (CC-BY-SA) and can be downloaded as
|
License (CC-BY-SA) and can be downloaded as
|
||||||
[http://genode.org/documentation/genode-foundations-15-05.pdf - PDF document].
|
[https://genode.org/documentation/genode-foundations-15-05.pdf - PDF document].
|
||||||
|
|
||||||
It first presents the motivation behind our project, followed by a thorough
|
It first presents the motivation behind our project, followed by a thorough
|
||||||
description of the Genode OS architecture. The conceptual material is
|
description of the Genode OS architecture. The conceptual material is
|
||||||
@ -74,7 +74,7 @@ complemented with practical information for developers and a discussion of
|
|||||||
framework internals. The second part of the book serves as a reference of
|
framework internals. The second part of the book serves as a reference of
|
||||||
Genode's programming interfaces.
|
Genode's programming interfaces.
|
||||||
|
|
||||||
[http://genode.org/documentation/genode-foundations-15-05.pdf - Download the book (PDF)...]
|
[https://genode.org/documentation/genode-foundations-15-05.pdf - Download the book (PDF)...]
|
||||||
|
|
||||||
In the upcoming weeks, we plan to update the documentation section of the
|
In the upcoming weeks, we plan to update the documentation section of the
|
||||||
genode.org website with the new material. Until then, we hope you find the
|
genode.org website with the new material. Until then, we hope you find the
|
||||||
@ -135,8 +135,8 @@ Principal support for the 64-bit x86 architecture
|
|||||||
_This section was written by Adrian-Ken Rueegsegger and Reto Buerki who_
|
_This section was written by Adrian-Ken Rueegsegger and Reto Buerki who_
|
||||||
_conducted the described line of work independent from Genode Labs._
|
_conducted the described line of work independent from Genode Labs._
|
||||||
|
|
||||||
The [http://muen.sk - Muen Separation Kernel (SK) project] is an Open-Source
|
The [https://muen.sk - Muen Separation Kernel (SK) project] is an Open-Source
|
||||||
microkernel, which uses the [http://spark-2014.org/ - SPARK] programming
|
microkernel, which uses the [https://spark-2014.org/ - SPARK] programming
|
||||||
language to enable light-weight formal methods for high assurance. The 64-bit
|
language to enable light-weight formal methods for high assurance. The 64-bit
|
||||||
x86 kernel, currently consisting of a little over 5'000 LOC, makes extensive
|
x86 kernel, currently consisting of a little over 5'000 LOC, makes extensive
|
||||||
use of the latest Intel virtualization features and has been formally proven
|
use of the latest Intel virtualization features and has been formally proven
|
||||||
@ -337,7 +337,7 @@ Dynamic thread weights
|
|||||||
======================
|
======================
|
||||||
|
|
||||||
With the Genode release 14.11, we introduced an entirely
|
With the Genode release 14.11, we introduced an entirely
|
||||||
[http://genode.org/documentation/release-notes/14.11#Trading_CPU_time_between_components_using_the_HW_kernel - new scheduler]
|
[https://genode.org/documentation/release-notes/14.11#Trading_CPU_time_between_components_using_the_HW_kernel - new scheduler]
|
||||||
in the base-hw kernel that allows for the trading of CPU time between Genode
|
in the base-hw kernel that allows for the trading of CPU time between Genode
|
||||||
components. This scheduler knows two parameters for each scheduling context: A
|
components. This scheduler knows two parameters for each scheduling context: A
|
||||||
priority that models the urgency for low-latency execution and a quota that
|
priority that models the urgency for low-latency execution and a quota that
|
||||||
@ -688,7 +688,7 @@ File-system utilities
|
|||||||
=====================
|
=====================
|
||||||
|
|
||||||
When we introduced Genode's file-system session interface in
|
When we introduced Genode's file-system session interface in
|
||||||
[http://genode.org/documentation/release-notes/12.05#New_file-system_infrastructure - version 12.05],
|
[https://genode.org/documentation/release-notes/12.05#New_file-system_infrastructure - version 12.05],
|
||||||
it was accompanied with a RAM file system as the first implementation. Since
|
it was accompanied with a RAM file system as the first implementation. Since
|
||||||
then, a growing number of file-system services were developed, which took the
|
then, a growing number of file-system services were developed, which took the
|
||||||
RAM file system as blue print. Over the years, this practice resulted in the
|
RAM file system as blue print. Over the years, this practice resulted in the
|
||||||
@ -902,7 +902,7 @@ Board support for i.MX6-based Wandboard
|
|||||||
The increasing interest in the combination of Genode and the Freescale i.MX6
|
The increasing interest in the combination of Genode and the Freescale i.MX6
|
||||||
SoC motivated us to add official support for a board based on this SoC
|
SoC motivated us to add official support for a board based on this SoC
|
||||||
to our custom kernel. We settled on the
|
to our custom kernel. We settled on the
|
||||||
[http://www.wandboard.org/ - Wandboard Quad] that was developed on a volunteer
|
[https://www.wandboard.org/ - Wandboard Quad] that was developed on a volunteer
|
||||||
basis. Thanks to Praveen Srinivas (IIT Madras, India) and Nikolay Golikov
|
basis. Thanks to Praveen Srinivas (IIT Madras, India) and Nikolay Golikov
|
||||||
(Ksys Labs LLC, Russia) who contributed their work on i.MX6. The Wandboard
|
(Ksys Labs LLC, Russia) who contributed their work on i.MX6. The Wandboard
|
||||||
Quad features 2 GiB of DDR3 RAM and a quad-core Cortex-A9 CPU. So, unlike when
|
Quad features 2 GiB of DDR3 RAM and a quad-core Cortex-A9 CPU. So, unlike when
|
||||||
@ -984,7 +984,7 @@ USB-device pass-through support
|
|||||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||||
|
|
||||||
With the availability of the
|
With the availability of the
|
||||||
[http://www.genode.org/documentation/release-notes/15.02#USB_session_interface - USB session interface]
|
[https://genode.org/documentation/release-notes/15.02#USB_session_interface - USB session interface]
|
||||||
and the new [USB device-list report] feature of the USB driver, it is now
|
and the new [USB device-list report] feature of the USB driver, it is now
|
||||||
possible to pass a selection of raw USB devices directly to VirtualBox guests.
|
possible to pass a selection of raw USB devices directly to VirtualBox guests.
|
||||||
|
|
||||||
@ -1024,7 +1024,7 @@ Platforms
|
|||||||
Proof-of-concept support for the seL4 kernel
|
Proof-of-concept support for the seL4 kernel
|
||||||
============================================
|
============================================
|
||||||
|
|
||||||
Since last summer when the [http://sel4.systems - seL4 kernel] was released
|
Since last summer when the [https://sel4.systems - seL4 kernel] was released
|
||||||
under the General Public License, we entertained the idea to run Genode on
|
under the General Public License, we entertained the idea to run Genode on
|
||||||
this kernel. As the name suggests, the seL4 kernel is a member of the L4
|
this kernel. As the name suggests, the seL4 kernel is a member of the L4
|
||||||
family of kernels. But there are two things that set this kernel apart from
|
family of kernels. But there are two things that set this kernel apart from
|
||||||
@ -1040,7 +1040,7 @@ Since last autumn, we conducted the port of Genode to the seL4 kernel as
|
|||||||
background activity. We took the chance to thoroughly document our experience
|
background activity. We took the chance to thoroughly document our experience
|
||||||
by the following series of articles:
|
by the following series of articles:
|
||||||
|
|
||||||
:[http://genode.org/documentation/articles/sel4_part_1 - Building a simple root task from scratch]:
|
:[https://genode.org/documentation/articles/sel4_part_1 - Building a simple root task from scratch]:
|
||||||
The first article describes the integration of the kernel code with Genode's
|
The first article describes the integration of the kernel code with Genode's
|
||||||
source tree and the steps taken to create a minimalistic root task that runs
|
source tree and the steps taken to create a minimalistic root task that runs
|
||||||
on the kernel. It is full of hands-on information about the methodology of
|
on the kernel. It is full of hands-on information about the methodology of
|
||||||
@ -1048,12 +1048,12 @@ by the following series of articles:
|
|||||||
from the perspective of someone with no prior association with the seL4
|
from the perspective of someone with no prior association with the seL4
|
||||||
project.
|
project.
|
||||||
|
|
||||||
:[http://genode.org/documentation/articles/sel4_part_2 - IPC and virtual memory]:
|
:[https://genode.org/documentation/articles/sel4_part_2 - IPC and virtual memory]:
|
||||||
The second part of the article series examines the seL4 kernel interface
|
The second part of the article series examines the seL4 kernel interface
|
||||||
with respect to synchronous inter-process communication and the management
|
with respect to synchronous inter-process communication and the management
|
||||||
of virtual memory.
|
of virtual memory.
|
||||||
|
|
||||||
:[http://genode.org/documentation/articles/sel4_part_3 - Porting the core component]:
|
:[https://genode.org/documentation/articles/sel4_part_3 - Porting the core component]:
|
||||||
The third article presents the steps taken to bring Genode's core and init
|
The third article presents the steps taken to bring Genode's core and init
|
||||||
components to life. Among the covered topics are the memory and capability
|
components to life. Among the covered topics are the memory and capability
|
||||||
management, inter-component communication, and page-fault handling. The
|
management, inter-component communication, and page-fault handling. The
|
||||||
@ -1167,7 +1167,7 @@ development environment and the tool chain running within Genode's Noux
|
|||||||
runtime environment.
|
runtime environment.
|
||||||
|
|
||||||
To use Genode 15.05, please obtain and install the new binary version of the
|
To use Genode 15.05, please obtain and install the new binary version of the
|
||||||
tool chain available at [http://genode.org/download/tool-chain] or build it
|
tool chain available at [https://genode.org/download/tool-chain] or build it
|
||||||
manually via the _tool/tool_chain_ script.
|
manually via the _tool/tool_chain_ script.
|
||||||
|
|
||||||
|
|
||||||
@ -1205,7 +1205,7 @@ The following parts have been pruned from the Genode source tree:
|
|||||||
|
|
||||||
* The _linux_drivers_ repository hosted device drivers ported via the
|
* The _linux_drivers_ repository hosted device drivers ported via the
|
||||||
original DDE-Linux approach. We
|
original DDE-Linux approach. We
|
||||||
[http://genode.org/documentation/release-notes/12.05#Re-approaching_the_Linux_device-driver_environment - disregarded this approach]
|
[https://genode.org/documentation/release-notes/12.05#Re-approaching_the_Linux_device-driver_environment - disregarded this approach]
|
||||||
in 2012. The only remaining code worth keeping is the i915 GPU driver, which
|
in 2012. The only remaining code worth keeping is the i915 GPU driver, which
|
||||||
will potentially re-appear in our modern _repos/dde_linux_ repository.
|
will potentially re-appear in our modern _repos/dde_linux_ repository.
|
||||||
|
|
||||||
|
@ -47,13 +47,13 @@ _conducted the described line of work independent from Genode Labs._
|
|||||||
|
|
||||||
After completing our x86_64 port of the Genode base-hw kernel, which was
|
After completing our x86_64 port of the Genode base-hw kernel, which was
|
||||||
featured in the
|
featured in the
|
||||||
[http://genode.org/documentation/release-notes/15.05#Principal_support_for_the_64-bit_x86_architecture - previous release (15.05)],
|
[https://genode.org/documentation/release-notes/15.05#Principal_support_for_the_64-bit_x86_architecture - previous release (15.05)],
|
||||||
we immediately started working on our main goal: running a Genode system as
|
we immediately started working on our main goal: running a Genode system as
|
||||||
guest on the Muen Separation Kernel (SK). This would enable the Muen platform
|
guest on the Muen Separation Kernel (SK). This would enable the Muen platform
|
||||||
to benefit from the rich ecosystem of Genode.
|
to benefit from the rich ecosystem of Genode.
|
||||||
|
|
||||||
For those who have not read the 15.05 Genode release notes, [http://muen.sk - Muen]
|
For those who have not read the 15.05 Genode release notes, [https://muen.sk - Muen]
|
||||||
is an Open-Source microkernel, which uses the [http://spark-2014.org/ - SPARK]
|
is an Open-Source microkernel, which uses the [https://spark-2014.org/ - SPARK]
|
||||||
programming language to enable light-weight formal methods for high assurance.
|
programming language to enable light-weight formal methods for high assurance.
|
||||||
The 64-bit x86 kernel, currently consisting of a little over 5'000 LOC, makes
|
The 64-bit x86 kernel, currently consisting of a little over 5'000 LOC, makes
|
||||||
extensive use of the latest Intel virtualization features and has been formally
|
extensive use of the latest Intel virtualization features and has been formally
|
||||||
@ -194,18 +194,18 @@ Our modified version of the NOVA microhypervisor is the used kernel.
|
|||||||
The user interface is based on our custom GUI stack including the nitpicker
|
The user interface is based on our custom GUI stack including the nitpicker
|
||||||
GUI server as well as the window manager and its companion components
|
GUI server as well as the window manager and its companion components
|
||||||
(decorator, layouter, pointer) we introduced in
|
(decorator, layouter, pointer) we introduced in
|
||||||
[http://genode.org/documentation/release-notes/14.08#New_GUI_architecture - version 14.08].
|
[https://genode.org/documentation/release-notes/14.08#New_GUI_architecture - version 14.08].
|
||||||
The display is driven by the VESA driver. User input is handled by the PS/2
|
The display is driven by the VESA driver. User input is handled by the PS/2
|
||||||
driver for handling the laptop keyboard and trackpoint, and the USB driver for
|
driver for handling the laptop keyboard and trackpoint, and the USB driver for
|
||||||
handling an externally connected keyboard and mouse.
|
handling an externally connected keyboard and mouse.
|
||||||
|
|
||||||
Network connectivity is provided by our port of the Intel Wireless stack that
|
Network connectivity is provided by our port of the Intel Wireless stack that
|
||||||
we introduced with the version
|
we introduced with the version
|
||||||
[http://genode.org/documentation/release-notes/14.11#Intel_wireless_stack - 14.11].
|
[https://genode.org/documentation/release-notes/14.11#Intel_wireless_stack - 14.11].
|
||||||
|
|
||||||
Our custom AHCI driver provides access to the physical hard disk. File-system
|
Our custom AHCI driver provides access to the physical hard disk. File-system
|
||||||
access is provided by our
|
access is provided by our
|
||||||
[http://genode.org/documentation/release-notes/14.02#NetBSD_file_systems_using_rump_kernels - Rump-kernel-based file-system server].
|
[https://genode.org/documentation/release-notes/14.02#NetBSD_file_systems_using_rump_kernels - Rump-kernel-based file-system server].
|
||||||
|
|
||||||
A simple Genode shell called CLI monitor allows the user to start and kill
|
A simple Genode shell called CLI monitor allows the user to start and kill
|
||||||
subsystems dynamically. Initially, the two most important subsystems are
|
subsystems dynamically. Initially, the two most important subsystems are
|
||||||
@ -383,9 +383,9 @@ systems rely on a virtual file system (VFS) implemented in the OS kernel,
|
|||||||
Genode's VFS has the form of a library that can optionally be linked to a
|
Genode's VFS has the form of a library that can optionally be linked to a
|
||||||
component. The implementation of this library originated from the noux runtime
|
component. The implementation of this library originated from the noux runtime
|
||||||
introduced in version
|
introduced in version
|
||||||
[http://genode.org/documentation/release-notes/11.02#Noux_-_an_execution_environment_for_the_GNU_userland - 11.02],
|
[https://genode.org/documentation/release-notes/11.02#Noux_-_an_execution_environment_for_the_GNU_userland - 11.02],
|
||||||
and was later integrated into our C runtime in version
|
and was later integrated into our C runtime in version
|
||||||
[http://genode.org/documentation/release-notes/14.05#Per-process_virtual_file_systems - 14.05].
|
[https://genode.org/documentation/release-notes/14.05#Per-process_virtual_file_systems - 14.05].
|
||||||
With the current release, we take the VFS a step further by making it
|
With the current release, we take the VFS a step further by making it
|
||||||
available to components without a C runtime. Thereby, low-complexity
|
available to components without a C runtime. Thereby, low-complexity
|
||||||
security-sensitive components such as CLI monitor become able to benefit from
|
security-sensitive components such as CLI monitor become able to benefit from
|
||||||
@ -435,7 +435,7 @@ and identifying effective optimization vectors, tools for gathering a holistic
|
|||||||
view of the system are highly desired.
|
view of the system are highly desired.
|
||||||
|
|
||||||
With the introduction of our light-weight
|
With the introduction of our light-weight
|
||||||
[http://genode.org/documentation/release-notes/13.08#Light-weight_event_tracing - event-tracing facility]
|
[https://genode.org/documentation/release-notes/13.08#Light-weight_event_tracing - event-tracing facility]
|
||||||
in version 13.08, we laid the foundation for such tools. The current release
|
in version 13.08, we laid the foundation for such tools. The current release
|
||||||
extends core's TRACE service with the ability to obtain statistics about CPU
|
extends core's TRACE service with the ability to obtain statistics about CPU
|
||||||
utilization. More specifically, it enables clients of core's TRACE service to
|
utilization. More specifically, it enables clients of core's TRACE service to
|
||||||
@ -513,7 +513,7 @@ and PCI drivers. The ACPI driver originally executed the PCI driver as a slave
|
|||||||
(child) service. The ACPI driver parsed the ACPI tables and provided the
|
(child) service. The ACPI driver parsed the ACPI tables and provided the
|
||||||
relevant information as configuration during the PCI-driver startup. We
|
relevant information as configuration during the PCI-driver startup. We
|
||||||
changed this close coupling to the more modern and commonly used
|
changed this close coupling to the more modern and commonly used
|
||||||
[http://genode.org/documentation/release-notes/14.02#New_session_interface_for_status_reporting - report_rom mechanism].
|
[https://genode.org/documentation/release-notes/14.02#New_session_interface_for_status_reporting - report_rom mechanism].
|
||||||
|
|
||||||
When the new ACPI driver finishes the ACPI table parsing, it provides the
|
When the new ACPI driver finishes the ACPI table parsing, it provides the
|
||||||
information via a report to any interested and registered components. The
|
information via a report to any interested and registered components. The
|
||||||
@ -784,8 +784,8 @@ common API among the execution environments of ported user-level device
|
|||||||
drivers. However, over the course of the past years, we found that this
|
drivers. However, over the course of the past years, we found that this
|
||||||
approach could not fulfill its promise while introducing a number of new
|
approach could not fulfill its promise while introducing a number of new
|
||||||
problems. We reported our experiences in the release notes of versions
|
problems. We reported our experiences in the release notes of versions
|
||||||
[http://genode.org/documentation/release-notes/12.05#Re-approaching_the_Linux_device-driver_environment - 12.05] and
|
[https://genode.org/documentation/release-notes/12.05#Re-approaching_the_Linux_device-driver_environment - 12.05] and
|
||||||
[http://genode.org/documentation/release-notes/14.11#Roundup - 14.11].
|
[https://genode.org/documentation/release-notes/14.11#Roundup - 14.11].
|
||||||
To be able to remove the DDE-Kit API, we reworked the USB driver, our port of
|
To be able to remove the DDE-Kit API, we reworked the USB driver, our port of
|
||||||
the Linux TCP/IP stack, and the wireless driver accordingly.
|
the Linux TCP/IP stack, and the wireless driver accordingly.
|
||||||
|
|
||||||
|
@ -9,7 +9,7 @@
|
|||||||
|
|
||||||
|
|
||||||
In the
|
In the
|
||||||
[http://genode.org/documentation/release-notes/15.08 - previous release],
|
[https://genode.org/documentation/release-notes/15.08 - previous release],
|
||||||
we proudly reported the initial use of Genode as day-to-day OS. With the
|
we proudly reported the initial use of Genode as day-to-day OS. With the
|
||||||
current release, we maintained the strong focus on making Genode viable as the
|
current release, we maintained the strong focus on making Genode viable as the
|
||||||
foundation of a desktop OS. There are many aspects to be considered, ranging
|
foundation of a desktop OS. There are many aspects to be considered, ranging
|
||||||
@ -30,7 +30,7 @@ Armory (a dedicated article about this work will follow soon), added support
|
|||||||
for Xilinx Zynq-7000, and optimized our version of VirtualBox for NOVA.
|
for Xilinx Zynq-7000, and optimized our version of VirtualBox for NOVA.
|
||||||
|
|
||||||
According to our
|
According to our
|
||||||
[http://genode.org/about/road-map - road map], we planned to address package
|
[https://genode.org/about/road-map - road map], we planned to address package
|
||||||
management, a modern web browser, and cross-kernel binary compatibility with
|
management, a modern web browser, and cross-kernel binary compatibility with
|
||||||
the version 15.11. However, we decided to put emphasis on the general
|
the version 15.11. However, we decided to put emphasis on the general
|
||||||
usability, robustness, and scalability first, before entering new
|
usability, robustness, and scalability first, before entering new
|
||||||
@ -106,7 +106,7 @@ as well as high-level applications:
|
|||||||
without the need to restart it?
|
without the need to restart it?
|
||||||
|
|
||||||
We attempted to answer these questions with a single mechanism in version
|
We attempted to answer these questions with a single mechanism in version
|
||||||
[http://genode.org/documentation/release-notes/12.05#System_reconfiguration_at_runtime - 12.05].
|
[https://genode.org/documentation/release-notes/12.05#System_reconfiguration_at_runtime - 12.05].
|
||||||
But the scalability of the approach remained unproven until now.
|
But the scalability of the approach remained unproven until now.
|
||||||
|
|
||||||
In short, configuration information is supplied to a component by its
|
In short, configuration information is supplied to a component by its
|
||||||
@ -201,7 +201,7 @@ similar common GUI elements. These parts of the GUI must be implemented at the
|
|||||||
client side.
|
client side.
|
||||||
|
|
||||||
In
|
In
|
||||||
[http://genode.org/documentation/release-notes/14.08#New_GUI_architecture - version 14.08],
|
[https://genode.org/documentation/release-notes/14.08#New_GUI_architecture - version 14.08],
|
||||||
we laid the foundation for a scalable GUI architecture that further reduced
|
we laid the foundation for a scalable GUI architecture that further reduced
|
||||||
the functional scope of nitpicker and complements nitpicker with higher-level
|
the functional scope of nitpicker and complements nitpicker with higher-level
|
||||||
components for managing windows. Thanks to this architecture, most of
|
components for managing windows. Thanks to this architecture, most of
|
||||||
@ -1067,11 +1067,11 @@ from Linux kernel 3.14.5 to Genode. We successfully tested it on machines
|
|||||||
containing Intel GPUs from generation five up to generation eight. With the
|
containing Intel GPUs from generation five up to generation eight. With the
|
||||||
port of the Intel driver to Genode, we followed the approach that we already
|
port of the Intel driver to Genode, we followed the approach that we already
|
||||||
used to enable the USB stack on Genode described in
|
used to enable the USB stack on Genode described in
|
||||||
[http://genode.org/documentation/release-notes/12.05#Re-approaching_the_Linux_device-driver_environment - release 12.05],
|
[https://genode.org/documentation/release-notes/12.05#Re-approaching_the_Linux_device-driver_environment - release 12.05],
|
||||||
to enable the Linux TCP/IP stack in
|
to enable the Linux TCP/IP stack in
|
||||||
[http://genode.org/documentation/release-notes/13.11#Gigabit_networking_using_the_Linux_TCP_IP_stack - release 13.11],
|
[https://genode.org/documentation/release-notes/13.11#Gigabit_networking_using_the_Linux_TCP_IP_stack - release 13.11],
|
||||||
and more recently to enable the Intel wireless stack in
|
and more recently to enable the Intel wireless stack in
|
||||||
[http://genode.org/documentation/release-notes/14.11#Intel_wireless_stack - release 14.11].
|
[https://genode.org/documentation/release-notes/14.11#Intel_wireless_stack - release 14.11].
|
||||||
|
|
||||||
The driver can be configured dynamically at run-time via the config
|
The driver can be configured dynamically at run-time via the config
|
||||||
ROM-mechanism. Each connector of the graphics card can be configured
|
ROM-mechanism. Each connector of the graphics card can be configured
|
||||||
@ -1303,14 +1303,14 @@ You can build the demo by executing
|
|||||||
A tutorial on how to create a bootable SD card can be found in the
|
A tutorial on how to create a bootable SD card can be found in the
|
||||||
corresponding run script _os/tz_vmm.run_. A tutorial on how to reproduce the
|
corresponding run script _os/tz_vmm.run_. A tutorial on how to reproduce the
|
||||||
pre-built Linux image, Rootfs and DTB - used by the run script - can be found
|
pre-built Linux image, Rootfs and DTB - used by the run script - can be found
|
||||||
at [http://genode.org/files/release-15.11/usb_armory_tz_vmm/README].
|
at [https://genode.org/files/release-15.11/usb_armory_tz_vmm/README].
|
||||||
|
|
||||||
|
|
||||||
NOVA
|
NOVA
|
||||||
====
|
====
|
||||||
|
|
||||||
With the release 15.08, we
|
With the release 15.08, we
|
||||||
[http://genode.org/documentation/release-notes/15.08#NOVA_kernel-resource_management - extended the kernel]
|
[https://genode.org/documentation/release-notes/15.08#NOVA_kernel-resource_management - extended the kernel]
|
||||||
to handle memory quota per Genode component. The line of work for the current
|
to handle memory quota per Genode component. The line of work for the current
|
||||||
release built upon those new mechanisms and simplifies the memory management
|
release built upon those new mechanisms and simplifies the memory management
|
||||||
within Genode's core component.
|
within Genode's core component.
|
||||||
@ -1345,9 +1345,9 @@ Tools and build system
|
|||||||
Run-tool support for booting via the iPXE boot loader
|
Run-tool support for booting via the iPXE boot loader
|
||||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||||
|
|
||||||
[http://ipxe.org - iPXE] is an open source network boot firmware, which
|
[https://ipxe.org - iPXE] is an open source network boot firmware, which
|
||||||
supports booting from a web server
|
supports booting from a web server
|
||||||
[http://ipxe.org/howto/chainloading#breaking_the_loop_with_an_embedded_script - via HTTP].
|
[https://ipxe.org/howto/chainloading#breaking_the_loop_with_an_embedded_script - via HTTP].
|
||||||
|
|
||||||
With the new load module at _tool/run/load/ipxe_, Genode's run tool has become
|
With the new load module at _tool/run/load/ipxe_, Genode's run tool has become
|
||||||
able to load images via iPXE/HTTP to the test hardware. The following two
|
able to load images via iPXE/HTTP to the test hardware. The following two
|
||||||
@ -1375,7 +1375,7 @@ This can be achieved by building iPXE with the following embedded script:
|
|||||||
In addition to loading an image, an iPXE boot configuration is required to
|
In addition to loading an image, an iPXE boot configuration is required to
|
||||||
boot the loaded image on the target machine. The run-tool back ends for NOVA,
|
boot the loaded image on the target machine. The run-tool back ends for NOVA,
|
||||||
Fiasco.OC, and L4/Fiasco have been enhanced to automatically generate such
|
Fiasco.OC, and L4/Fiasco have been enhanced to automatically generate such
|
||||||
configurations, which use the [http://ipxe.org/cmd/sanboot - sanboot command]
|
configurations, which use the [https://ipxe.org/cmd/sanboot - sanboot command]
|
||||||
to download and boot an ISO image via HTTP. To use this boot method, your
|
to download and boot an ISO image via HTTP. To use this boot method, your
|
||||||
RUN_OPT configuration must specify both the ISO-image and the iPXE-load
|
RUN_OPT configuration must specify both the ISO-image and the iPXE-load
|
||||||
modules:
|
modules:
|
||||||
@ -1383,7 +1383,7 @@ modules:
|
|||||||
! RUN_OPT += --include image/iso --include load/ipxe
|
! RUN_OPT += --include image/iso --include load/ipxe
|
||||||
|
|
||||||
Note that the webserver serving the ISO image must support
|
Note that the webserver serving the ISO image must support
|
||||||
[http://forum.ipxe.org/showthread.php?tid=7295&pid=10482#pid10482 - ranged requests].
|
[https://forum.ipxe.org/showthread.php?tid=7295&pid=10482#pid10482 - ranged requests].
|
||||||
|
|
||||||
Thanks to Adrian-Ken Rueegsegger for these improvements!
|
Thanks to Adrian-Ken Rueegsegger for these improvements!
|
||||||
|
|
||||||
|
@ -48,7 +48,7 @@ version 2.1, which prompted us to fundamentally revisit the low-level resource
|
|||||||
management of Genode on this kernel. A summary of this undertaking is presented
|
management of Genode on this kernel. A summary of this undertaking is presented
|
||||||
in Section [seL4 version 2.1].
|
in Section [seL4 version 2.1].
|
||||||
|
|
||||||
According to the [http:/about/road-map - road map], we originally planned to
|
According to the [https://genode.org/about/road-map - road map], we originally planned to
|
||||||
revise the framework API in this release. Even though this topic is
|
revise the framework API in this release. Even though this topic is
|
||||||
[https://github.com/genodelabs/genode/issues/1832 - very actively pursued], we
|
[https://github.com/genodelabs/genode/issues/1832 - very actively pursued], we
|
||||||
decided to not rush it. We find it important to provide a smooth migration path
|
decided to not rush it. We find it important to provide a smooth migration path
|
||||||
@ -62,7 +62,7 @@ Assignment of USB devices to virtual machines
|
|||||||
|
|
||||||
As a migration strategy for running Genode on a daily basis, using VirtualBox
|
As a migration strategy for running Genode on a daily basis, using VirtualBox
|
||||||
to execute a feature-rich OS is vital. In release
|
to execute a feature-rich OS is vital. In release
|
||||||
[http://genode.org/documentation/release-notes/15.05#USB-device_pass-through_support - 15.05],
|
[https://genode.org/documentation/release-notes/15.05#USB-device_pass-through_support - 15.05],
|
||||||
we added USB pass-through support to VirtualBox by enabling its integrated USB
|
we added USB pass-through support to VirtualBox by enabling its integrated USB
|
||||||
proxy service. Since we use the open-source edition of VirtualBox, we were
|
proxy service. Since we use the open-source edition of VirtualBox, we were
|
||||||
merely able to use the OHCI device model and were therefore limited to using
|
merely able to use the OHCI device model and were therefore limited to using
|
||||||
@ -181,11 +181,11 @@ The consumer, in this case a VMM, then accesses the USB device (4).
|
|||||||
New support for the RISC-V CPU architecture
|
New support for the RISC-V CPU architecture
|
||||||
###########################################
|
###########################################
|
||||||
|
|
||||||
We became aware of [http://riscv.org - RISC-V] when attending several talks
|
We became aware of [https://riscv.org - RISC-V] when attending several talks
|
||||||
about the project at [https://fosdem.org - FOSDEM] in 2015. RISC-V aims to be
|
about the project at [https://fosdem.org - FOSDEM] in 2015. RISC-V aims to be
|
||||||
an open-source hardware architecture and is now complemented by many projects
|
an open-source hardware architecture and is now complemented by many projects
|
||||||
that target the release of real hardware or ASICs (for example,
|
that target the release of real hardware or ASICs (for example,
|
||||||
[http://lowrisc.org - the LowRISC project]). We have experience with various
|
[https://www.lowrisc.org - the LowRISC project]). We have experience with various
|
||||||
major CPU architectures and many systems on a chip and, therefore, embrace a
|
major CPU architectures and many systems on a chip and, therefore, embrace a
|
||||||
sharp eye on certain platform properties. Intel's ME and ARM's Trustzone
|
sharp eye on certain platform properties. Intel's ME and ARM's Trustzone
|
||||||
practically lock out operating systems of certain hardware and firmware
|
practically lock out operating systems of certain hardware and firmware
|
||||||
@ -195,7 +195,7 @@ AMT technology for instance comes with a complete TCP/IP stack that intercepts
|
|||||||
packets from the integrated NIC and a VNC server that can magically expose a
|
packets from the integrated NIC and a VNC server that can magically expose a
|
||||||
mouse and a keyboard at the USB controller. If you are interested in more
|
mouse and a keyboard at the USB controller. If you are interested in more
|
||||||
details about this topic
|
details about this topic
|
||||||
[http://blog.invisiblethings.org/papers/2015/x86_harmful.pdf - Intel x86 considered harmful]
|
[https://blog.invisiblethings.org/papers/2015/x86_harmful.pdf - Intel x86 considered harmful]
|
||||||
by Joanna Rutkowska is a very good read. We decided to have a deeper look at
|
by Joanna Rutkowska is a very good read. We decided to have a deeper look at
|
||||||
the RISC-V architecture as an alternative open hardware platform. Especially,
|
the RISC-V architecture as an alternative open hardware platform. Especially,
|
||||||
since the LowRISC project promises a completely open system on chip, including
|
since the LowRISC project promises a completely open system on chip, including
|
||||||
@ -281,7 +281,7 @@ GUI stack usability improvements
|
|||||||
|
|
||||||
Motivated by the daily use of Genode as desktop OS by an increasingly number
|
Motivated by the daily use of Genode as desktop OS by an increasingly number
|
||||||
of developers, the window-layouter component of the
|
of developers, the window-layouter component of the
|
||||||
[http://genode.org/documentation/release-notes/15.11#GUI_stack - GUI stack]
|
[https://genode.org/documentation/release-notes/15.11#GUI_stack - GUI stack]
|
||||||
received welcomed usability improvements.
|
received welcomed usability improvements.
|
||||||
|
|
||||||
|
|
||||||
@ -451,7 +451,7 @@ components within the _world_ repository are not subjected to the regular
|
|||||||
quality-assurance measures of Genode Labs. Hence, problems are to be expected.
|
quality-assurance measures of Genode Labs. Hence, problems are to be expected.
|
||||||
If you encounter bugs, build problems, or stability issues, please report them
|
If you encounter bugs, build problems, or stability issues, please report them
|
||||||
to the [https://github.com/genodelabs/genode-world/issues - issue tracker] or
|
to the [https://github.com/genodelabs/genode-world/issues - issue tracker] or
|
||||||
the [http://genode.org/community/mailing-lists - mailing list].
|
the [https://genode.org/community/mailing-lists - mailing list].
|
||||||
|
|
||||||
|
|
||||||
Updated 3rd-party software
|
Updated 3rd-party software
|
||||||
@ -499,10 +499,10 @@ Build integration
|
|||||||
-----------------
|
-----------------
|
||||||
|
|
||||||
Building Genode scenarios running on top of the
|
Building Genode scenarios running on top of the
|
||||||
[http://muen.sk - Muen separation kernel] has been greatly simplified by
|
[https://muen.sk - Muen separation kernel] has been greatly simplified by
|
||||||
properly integrating the Muen system build process into the Genode build system.
|
properly integrating the Muen system build process into the Genode build system.
|
||||||
As described in the
|
As described in the
|
||||||
[http://genode.org/documentation/release-notes/15.08#Genode_on_top_of_the_Muen_Separation_Kernel - 15.08 release notes],
|
[https://genode.org/documentation/release-notes/15.08#Genode_on_top_of_the_Muen_Separation_Kernel - 15.08 release notes],
|
||||||
the architecture with Muen is different since the entire hw_x86_64_muen Genode
|
the architecture with Muen is different since the entire hw_x86_64_muen Genode
|
||||||
system runs as a guest VM on top of the separation kernel. This means that the
|
system runs as a guest VM on top of the separation kernel. This means that the
|
||||||
Genode base-hw image must itself be packaged into the final Muen system image
|
Genode base-hw image must itself be packaged into the final Muen system image
|
||||||
@ -531,7 +531,7 @@ _image/muen_ run-tool plugin, which processes the following RUN_OPT parameters.
|
|||||||
|
|
||||||
The options are automatically added to the _etc/build.conf_ file for the
|
The options are automatically added to the _etc/build.conf_ file for the
|
||||||
hw_x86_64_muen base-hw platform. The
|
hw_x86_64_muen base-hw platform. The
|
||||||
[http://genode.org/documentation/platforms/muen - documentation] has been
|
[https://genode.org/documentation/platforms/muen - documentation] has been
|
||||||
updated to reflect the new, simplified build process.
|
updated to reflect the new, simplified build process.
|
||||||
|
|
||||||
A port file was added to facilitate the download of the Muen sources v0.7 and
|
A port file was added to facilitate the download of the Muen sources v0.7 and
|
||||||
@ -562,7 +562,7 @@ drivers to transparently use MSIs for passed-through PCI devices.
|
|||||||
seL4 version 2.1
|
seL4 version 2.1
|
||||||
================
|
================
|
||||||
|
|
||||||
By the end of 2015, the [http://sel4.systems/ - seL4 kernel] version 2.0 was
|
By the end of 2015, the [https://sel4.systems/ - seL4 kernel] version 2.0 was
|
||||||
published. With the current release, we update Genode's preliminary support
|
published. With the current release, we update Genode's preliminary support
|
||||||
for this kernel from the experimental branch of one year ago to the master
|
for this kernel from the experimental branch of one year ago to the master
|
||||||
branch of version 2.1. Note that this line of work is still considered as an
|
branch of version 2.1. Note that this line of work is still considered as an
|
||||||
|
@ -190,7 +190,7 @@ The changes between the last year's edition and the current revision are:
|
|||||||
: <p>
|
: <p>
|
||||||
: <div style="clear: both; float: left; margin-right:20px;">
|
: <div style="clear: both; float: left; margin-right:20px;">
|
||||||
: <a class="internal-link" href="https://genode.org">
|
: <a class="internal-link" href="https://genode.org">
|
||||||
: <img class="image-inline" src="http://genode.org/documentation/genode-foundations-title.png">
|
: <img class="image-inline" src="https://genode.org/documentation/genode-foundations-title.png">
|
||||||
: </a>
|
: </a>
|
||||||
: </div>
|
: </div>
|
||||||
: </p>
|
: </p>
|
||||||
|
@ -412,7 +412,7 @@ to prepare your system for Muen.
|
|||||||
|
|
||||||
As a next step, create a VirtualBox VM with a 32-bit guest OS of your choice
|
As a next step, create a VirtualBox VM with a 32-bit guest OS of your choice
|
||||||
and install the guest additions
|
and install the guest additions
|
||||||
[http://download.virtualbox.org/virtualbox/4.3.36/VBoxGuestAdditions_4.3.36.iso].
|
[https://download.virtualbox.org/virtualbox/4.3.36/VBoxGuestAdditions_4.3.36.iso].
|
||||||
In this tutorial, we chose Windows 7.
|
In this tutorial, we chose Windows 7.
|
||||||
|
|
||||||
Note: use guest additions close to the VirtualBox version of Genode. We have
|
Note: use guest additions close to the VirtualBox version of Genode. We have
|
||||||
@ -858,7 +858,7 @@ Init configuration changes
|
|||||||
==========================
|
==========================
|
||||||
|
|
||||||
We refined the label-based server-side policy-selection mechanism introduced in
|
We refined the label-based server-side policy-selection mechanism introduced in
|
||||||
[http://genode.org/documentation/release-notes/15.11#Label-dependent_session_routing - version 15.11]
|
[https://genode.org/documentation/release-notes/15.11#Label-dependent_session_routing - version 15.11]
|
||||||
to limit the damage of spelling mistakes in manually crafted configurations.
|
to limit the damage of spelling mistakes in manually crafted configurations.
|
||||||
I.e., consider the following policy of a file-system server with a misspelled
|
I.e., consider the following policy of a file-system server with a misspelled
|
||||||
'label_prefix' attribute:
|
'label_prefix' attribute:
|
||||||
@ -1015,7 +1015,7 @@ RISC-V front-end server
|
|||||||
=======================
|
=======================
|
||||||
|
|
||||||
In version
|
In version
|
||||||
[http://genode.org/documentation/release-notes/16.02#New_support_for_the_RISC-V_CPU_architecture - 16.02],
|
[https://genode.org/documentation/release-notes/16.02#New_support_for_the_RISC-V_CPU_architecture - 16.02],
|
||||||
Genode gained support for the RISC-V CPU architecture. Genode can be executed
|
Genode gained support for the RISC-V CPU architecture. Genode can be executed
|
||||||
on either a simulator or a synthesized FPGA softcore, e.g., on Xilinx Zynq
|
on either a simulator or a synthesized FPGA softcore, e.g., on Xilinx Zynq
|
||||||
FPGAs. On the latter platform, the RISC-V core is a secondary CPU that
|
FPGAs. On the latter platform, the RISC-V core is a secondary CPU that
|
||||||
|
@ -141,7 +141,7 @@ Third, even though not inherent to synchronous RPC, Genode's original design
|
|||||||
facilitated the use of a session capability as argument for requesting the
|
facilitated the use of a session capability as argument for requesting the
|
||||||
parent to close a specific session. However, the use of capabilities as
|
parent to close a specific session. However, the use of capabilities as
|
||||||
re-identifiable tokens is not well supported by most kernels, including seL4
|
re-identifiable tokens is not well supported by most kernels, including seL4
|
||||||
([http://sel4.systems/pipermail/devel/2014-November/000114.html - discussion]
|
([https://sel4.systems/pipermail/devel/2014-November/000114.html - discussion]
|
||||||
on the seL4 mailing list).
|
on the seL4 mailing list).
|
||||||
|
|
||||||
|
|
||||||
@ -534,7 +534,7 @@ Transition to new framework API
|
|||||||
===============================
|
===============================
|
||||||
|
|
||||||
Since we fundamentally revised Genode's API in
|
Since we fundamentally revised Genode's API in
|
||||||
[http://genode.org/documentation/release-notes/16.05#The_great_API_renovation - version 16.05],
|
[https://genode.org/documentation/release-notes/16.05#The_great_API_renovation - version 16.05],
|
||||||
we gradually adapt our existing components. Given that Genode comes with
|
we gradually adapt our existing components. Given that Genode comes with
|
||||||
over 300 components, this is no small feat. But with 30 percent of the
|
over 300 components, this is no small feat. But with 30 percent of the
|
||||||
components converted, we already made substantial progress.
|
components converted, we already made substantial progress.
|
||||||
@ -603,11 +603,11 @@ your own time source, you can find an example at _os/include/os/timer.h_ .
|
|||||||
Support for smart cards
|
Support for smart cards
|
||||||
=======================
|
=======================
|
||||||
|
|
||||||
We ported the [http://pcsclite.alioth.debian.org/pcsclite.html - PC/SC Lite]
|
We ported the [https://pcsclite.alioth.debian.org/pcsclite.html - PC/SC Lite]
|
||||||
library to Genode, which provides a commonly used API for communicating with
|
library to Genode, which provides a commonly used API for communicating with
|
||||||
smart cards. It supports USB smart card readers, using the
|
smart cards. It supports USB smart card readers, using the
|
||||||
[http://pcsclite.alioth.debian.org/ccid.html - CCID] library as driver.
|
[https://pcsclite.alioth.debian.org/ccid.html - CCID] library as driver.
|
||||||
The CCID driver itself requires [http://libusb.info - libusb] to access the
|
The CCID driver itself requires [https://libusb.info - libusb] to access the
|
||||||
USB device.
|
USB device.
|
||||||
|
|
||||||
Vanilla PC/SC Lite is structured as a client-server architecture, consisting
|
Vanilla PC/SC Lite is structured as a client-server architecture, consisting
|
||||||
|
@ -154,7 +154,7 @@ edition are:
|
|||||||
: <p>
|
: <p>
|
||||||
: <div style="clear: both; float: left; margin-right:20px;">
|
: <div style="clear: both; float: left; margin-right:20px;">
|
||||||
: <a class="internal-link" href="https://genode.org">
|
: <a class="internal-link" href="https://genode.org">
|
||||||
: <img class="image-inline" src="http://genode.org/documentation/genode-foundations-title.png">
|
: <img class="image-inline" src="https://genode.org/documentation/genode-foundations-title.png">
|
||||||
: </a>
|
: </a>
|
||||||
: </div>
|
: </div>
|
||||||
: </p>
|
: </p>
|
||||||
@ -834,7 +834,7 @@ Nim programming language
|
|||||||
========================
|
========================
|
||||||
|
|
||||||
In the previous release, we were proud to debut a
|
In the previous release, we were proud to debut a
|
||||||
[http://genode.org/documentation/release-notes/17.02#Linux_TCP_IP_stack_as_VFS_plugin - pluggable TCP/IP stack]
|
[https://genode.org/documentation/release-notes/17.02#Linux_TCP_IP_stack_as_VFS_plugin - pluggable TCP/IP stack]
|
||||||
for the VFS library. This required an overhaul of the Berkley sockets and
|
for the VFS library. This required an overhaul of the Berkley sockets and
|
||||||
'select' implementation within the POSIX runtime, but scrutiny of the POSIX
|
'select' implementation within the POSIX runtime, but scrutiny of the POSIX
|
||||||
standard leaves us reluctant to endorse it as a network API.
|
standard leaves us reluctant to endorse it as a network API.
|
||||||
|
@ -643,7 +643,7 @@ system partition in a GUID partition table (GPT). The image is equipped by the
|
|||||||
new 'image/uefi' module with the GRUB2 boot loader, a GRUB2 configuration, and
|
new 'image/uefi' module with the GRUB2 boot loader, a GRUB2 configuration, and
|
||||||
the corresponding Genode run scenario. The final image can be copied with 'dd'
|
the corresponding Genode run scenario. The final image can be copied with 'dd'
|
||||||
to a bootable USB stick. Additionally, we added support to boot such an image
|
to a bootable USB stick. Additionally, we added support to boot such an image
|
||||||
on Qemu leveraging [http://www.tianocore.org - TianoCore's] UEFI firmware.
|
on Qemu leveraging [https://www.tianocore.org - TianoCore's] UEFI firmware.
|
||||||
|
|
||||||
As a side project, minor virtualization support for AMD has been added to
|
As a side project, minor virtualization support for AMD has been added to
|
||||||
Virtualbox 4 and to the NOVA kernel on Genode. This enables us to run a 32-bit
|
Virtualbox 4 and to the NOVA kernel on Genode. This enables us to run a 32-bit
|
||||||
|
@ -728,7 +728,7 @@ on Genode:
|
|||||||
noux package. Note, however, that this port comprises solely the
|
noux package. Note, however, that this port comprises solely the
|
||||||
functionality needed for simple scripting.
|
functionality needed for simple scripting.
|
||||||
|
|
||||||
:[http://flif.info/ - FLIF]: is a library for the Free Lossless Image
|
:[https://flif.info/ - FLIF]: is a library for the Free Lossless Image
|
||||||
Format. Thanks to Emery Hemingway for making it available in the
|
Format. Thanks to Emery Hemingway for making it available in the
|
||||||
genode-world repository.
|
genode-world repository.
|
||||||
|
|
||||||
|
@ -95,7 +95,7 @@ since the last year's edition are:
|
|||||||
: <p>
|
: <p>
|
||||||
: <div style="clear: both; float: left; margin-right:20px;">
|
: <div style="clear: both; float: left; margin-right:20px;">
|
||||||
: <a class="internal-link" href="https://genode.org">
|
: <a class="internal-link" href="https://genode.org">
|
||||||
: <img class="image-inline" src="http://genode.org/documentation/genode-foundations-title.png">
|
: <img class="image-inline" src="https://genode.org/documentation/genode-foundations-title.png">
|
||||||
: </a>
|
: </a>
|
||||||
: </div>
|
: </div>
|
||||||
: </p>
|
: </p>
|
||||||
@ -603,7 +603,7 @@ Over the course of the past year, we started to look into Java support for
|
|||||||
Genode with the ultimate goal of porting an existing Java Virtual Machine
|
Genode with the ultimate goal of porting an existing Java Virtual Machine
|
||||||
(JVM), which translates and executes Java byte code, to Genode. After
|
(JVM), which translates and executes Java byte code, to Genode. After
|
||||||
investigating possible JVM candidates, it became obvious that
|
investigating possible JVM candidates, it became obvious that
|
||||||
[http://openjdk.java.net - OpenJDK] is the only viable option when looking for
|
[https://openjdk.java.net - OpenJDK] is the only viable option when looking for
|
||||||
a functional, maintained, feature complete, and open-source Java SDK.
|
a functional, maintained, feature complete, and open-source Java SDK.
|
||||||
Therefore, we decided upon OpenJDK version 9 and started to port OpenJDK's
|
Therefore, we decided upon OpenJDK version 9 and started to port OpenJDK's
|
||||||
HotSpot virtual machine.
|
HotSpot virtual machine.
|
||||||
|
@ -979,7 +979,7 @@ NOVA microhypervisor
|
|||||||
====================
|
====================
|
||||||
|
|
||||||
The NOVA kernel branch in use has been switched to revision r10, which is an
|
The NOVA kernel branch in use has been switched to revision r10, which is an
|
||||||
intermediate result of [http://cyberus-technology.de/ - Cyberus Technology]
|
intermediate result of [https://cyberus-technology.de/ - Cyberus Technology]
|
||||||
and of [https://www.genode-labs.com/ - Genode Labs] to harmonize their
|
and of [https://www.genode-labs.com/ - Genode Labs] to harmonize their
|
||||||
independently developed NOVA kernel branches. We hope to mutually benefit from
|
independently developed NOVA kernel branches. We hope to mutually benefit from
|
||||||
the evolution of NOVA over the long run by having a common NOVA trunk and
|
the evolution of NOVA over the long run by having a common NOVA trunk and
|
||||||
|
@ -620,7 +620,7 @@ system.
|
|||||||
|
|
||||||
Now, one could use the Firefox appliance VM of Sculpt (see the
|
Now, one could use the Firefox appliance VM of Sculpt (see the
|
||||||
[https://genode.org/documentation/release-notes/18.05 - release notes] or the
|
[https://genode.org/documentation/release-notes/18.05 - release notes] or the
|
||||||
[http://genodians.org/alex-ab/2019-03-06-disposal-browser-vm - Genodians article])
|
[https://genodians.org/alex-ab/2019-03-06-disposal-browser-vm - Genodians article])
|
||||||
for this. But this VM aims for a long-term browsing experience which, in the
|
for this. But this VM aims for a long-term browsing experience which, in the
|
||||||
context of mere captive-portal handling, brings some drawbacks like a much
|
context of mere captive-portal handling, brings some drawbacks like a much
|
||||||
higher RAM consumption or the required sessions for USB detection and shared
|
higher RAM consumption or the required sessions for USB detection and shared
|
||||||
|
@ -588,7 +588,7 @@ implementations of a window-layouter, and decorator. The interplay of the
|
|||||||
latter three allows a window management that scales from simple to rich and
|
latter three allows a window management that scales from simple to rich and
|
||||||
sophisticated without lowering its security properties. For a brief description
|
sophisticated without lowering its security properties. For a brief description
|
||||||
of its architecture, please refer to the release notes of
|
of its architecture, please refer to the release notes of
|
||||||
[http://genode.org/documentation/release-notes/14.08 - 14.08].
|
[https://genode.org/documentation/release-notes/14.08 - 14.08].
|
||||||
|
|
||||||
In this architecture, the window layouter is responsible for the arrangement
|
In this architecture, the window layouter is responsible for the arrangement
|
||||||
of the different windows. It exports a data model of the window layout.
|
of the different windows. It exports a data model of the window layout.
|
||||||
|
@ -7,7 +7,7 @@
|
|||||||
Herein, we lay out our plans for evolving Genode. Progress in addition to this
|
Herein, we lay out our plans for evolving Genode. Progress in addition to this
|
||||||
planning will very much depend on the degree of community support the project
|
planning will very much depend on the degree of community support the project
|
||||||
will receive. The
|
will receive. The
|
||||||
[http:/about/challenges - Challenges] page collects some of our ideas to
|
[https://genode.org/about/challenges - Challenges] page collects some of our ideas to
|
||||||
advance Genode in various further directions.
|
advance Genode in various further directions.
|
||||||
|
|
||||||
The road map is not fixed. If there is commercial interest of pushing the
|
The road map is not fixed. If there is commercial interest of pushing the
|
||||||
|
Loading…
Reference in New Issue
Block a user