mirror of
https://github.com/genodelabs/genode.git
synced 2025-02-06 11:10:24 +00:00
sculpt: update README for version 23.10
This commit is contained in:
parent
c188f792b2
commit
49aecc20b7
@ -1,7 +1,7 @@
|
|||||||
|
|
||||||
|
|
||||||
=============================
|
=============================
|
||||||
Sculpt Operating System 23.04
|
Sculpt Operating System 23.10
|
||||||
=============================
|
=============================
|
||||||
|
|
||||||
|
|
||||||
@ -58,7 +58,7 @@ Your feedback is appreciated!
|
|||||||
[https://www.genode-labs.com]
|
[https://www.genode-labs.com]
|
||||||
|
|
||||||
A printable PDF version of this document is available at the
|
A printable PDF version of this document is available at the
|
||||||
[https://genode.org/documentation/sculpt-23-04.pdf - Genode website].
|
[https://genode.org/documentation/sculpt-23-10.pdf - Genode website].
|
||||||
|
|
||||||
|
|
||||||
Hardware requirements and preparations
|
Hardware requirements and preparations
|
||||||
@ -185,15 +185,15 @@ In the "GUI ..." sub menu, a click on the first item named "sticks blue
|
|||||||
backdrop" reveals the option to install the package
|
backdrop" reveals the option to install the package
|
||||||
(Figure [sculpt_20_08_install_backdrop]).
|
(Figure [sculpt_20_08_install_backdrop]).
|
||||||
|
|
||||||
[image sculpt_20_08_install_backdrop 48%]
|
[image sculpt_20_08_install_backdrop 42%]
|
||||||
|
|
||||||
A click on the "Install" button triggers the download of the package and its
|
A click on the "Install" button triggers the download of the package and its
|
||||||
dependencies. Once the download is complete, the menu presents a configuration
|
dependencies. Once the download is complete, the menu presents a configuration
|
||||||
dialog that allows you to define the interplay of the new component with the
|
dialog that allows you to define the interplay of the new component with the
|
||||||
system. In this particular case, you have to decide for a GUI service to be
|
system. In this particular case, you have to decide for a GUI service to be
|
||||||
used by the backdrop (Figure [sculpt_20_08_backdrop_routes]).
|
used by the backdrop (Figure [sculpt_23_10_backdrop_routes]).
|
||||||
|
|
||||||
[image sculpt_20_08_backdrop_routes 40%]
|
[image sculpt_23_10_backdrop_routes 42%]
|
||||||
|
|
||||||
The first option "system GUI server" would grant direct access to the system's
|
The first option "system GUI server" would grant direct access to the system's
|
||||||
low-level GUI server, which is normally not used by applications but by
|
low-level GUI server, which is normally not used by applications but by
|
||||||
@ -204,9 +204,9 @@ appears as a layer behind all other applications. The fourth option "keyboard
|
|||||||
focus" is preserved for a single component that controls the keyboard focus.
|
focus" is preserved for a single component that controls the keyboard focus.
|
||||||
In our case, "desktop background" is the correct choice.
|
In our case, "desktop background" is the correct choice.
|
||||||
Once the configuration is complete, a new button for adding the component to
|
Once the configuration is complete, a new button for adding the component to
|
||||||
the system appears (Figure [sculpt_20_08_add_backdrop]).
|
the system appears (Figure [sculpt_23_10_add_backdrop]).
|
||||||
|
|
||||||
[image sculpt_20_08_add_backdrop 40%]
|
[image sculpt_23_10_add_backdrop 42%]
|
||||||
|
|
||||||
After pressing the button, you should notice a slight visual change. *Press*
|
After pressing the button, you should notice a slight visual change. *Press*
|
||||||
*F12* to toggle between the Leitzentrale and the desktop. Now, the backdrop
|
*F12* to toggle between the Leitzentrale and the desktop. Now, the backdrop
|
||||||
@ -371,6 +371,16 @@ For inspiration, please follow the postings at
|
|||||||
|
|
||||||
[https://genodians.org/jschlatow/2021-07-21-mobile-network]
|
[https://genodians.org/jschlatow/2021-07-21-mobile-network]
|
||||||
|
|
||||||
|
:Interactive CPU frequency and power steering:
|
||||||
|
|
||||||
|
Modern PCs provide plenty of metering and power-management options.
|
||||||
|
The component described in the following article makes these features
|
||||||
|
available via an interactive user interface. One can watch the temperature
|
||||||
|
of each CPU core, monitor the individual CPU frequencies, switch between
|
||||||
|
power profiles, and reveal details about power draw.
|
||||||
|
|
||||||
|
[https://genodians.org/alex-ab/2023-10-23-msr]
|
||||||
|
|
||||||
|
|
||||||
Base system
|
Base system
|
||||||
###########
|
###########
|
||||||
@ -502,7 +512,7 @@ connectivity. Most importantly, however, it allows the user to access the
|
|||||||
_config_ and _report_ file systems. Both file systems are readily accessible
|
_config_ and _report_ file systems. Both file systems are readily accessible
|
||||||
under the "Files" tab of the panel. The file browser allows you to traverse
|
under the "Files" tab of the panel. The file browser allows you to traverse
|
||||||
directory hierarchies, inspect individual files, and edit files.
|
directory hierarchies, inspect individual files, and edit files.
|
||||||
Alternatively to the "Files" tab, Sculpt 23.04 features a command-line
|
Alternatively to the "Files" tab, Sculpt 23.10 features a command-line
|
||||||
interface. To spawn this command-line interface, click on the "ram fs"
|
interface. To spawn this command-line interface, click on the "ram fs"
|
||||||
component in the graph and select "Inspect". In the panel, a third tab named
|
component in the graph and select "Inspect". In the panel, a third tab named
|
||||||
"Inspect" appears, which hosts the command-line interface
|
"Inspect" appears, which hosts the command-line interface
|
||||||
@ -692,7 +702,7 @@ Whenever adding a new component via the '+' menu, one has to define how to
|
|||||||
connect the component with the rest of the system. It is important to know
|
connect the component with the rest of the system. It is important to know
|
||||||
what the presented options mean to take educated decisions.
|
what the presented options mean to take educated decisions.
|
||||||
|
|
||||||
[image sculpt_20_08_system_shell_routing 40%]
|
[image sculpt_23_10_system_shell_routing 40%]
|
||||||
|
|
||||||
Each choice represents a connection to a system resource of a particular type.
|
Each choice represents a connection to a system resource of a particular type.
|
||||||
Initially, the presented options are resources that are built-in into Sculpt's
|
Initially, the presented options are resources that are built-in into Sculpt's
|
||||||
@ -777,7 +787,7 @@ as options.
|
|||||||
----------------------------------------------------------------------------
|
----------------------------------------------------------------------------
|
||||||
| | global clipboard
|
| | global clipboard
|
||||||
----------------------------------------------------------------------------
|
----------------------------------------------------------------------------
|
||||||
Terminal | 'Terminal' |
|
Terminal | 'Terminal' | debug monitor
|
||||||
----------------------------------------------------------------------------
|
----------------------------------------------------------------------------
|
||||||
Tracing | 'TRACE' | system-global tracing
|
Tracing | 'TRACE' | system-global tracing
|
||||||
----------------------------------------------------------------------------
|
----------------------------------------------------------------------------
|
||||||
@ -1045,6 +1055,18 @@ except you know exactly what you are doing and you completely trust the
|
|||||||
provider of the component.
|
provider of the component.
|
||||||
|
|
||||||
|
|
||||||
|
Terminal
|
||||||
|
~~~~~~~~
|
||||||
|
|
||||||
|
In general, a terminal service provides a bi-directional input/output stream.
|
||||||
|
Sculpt's built-in debug-monitor speaks the GDB protocol as a terminal service.
|
||||||
|
The resource-assignment dialog for adding a new component offers a debug
|
||||||
|
option as checkbox. If enabled, the new component is exposed as a debugging
|
||||||
|
target (inferior) via the GDB protocol. A debugger can be connected as a
|
||||||
|
client to the debug monitor to inspect and control all the inferiors present
|
||||||
|
in Sculpt's runtime.
|
||||||
|
|
||||||
|
|
||||||
Tracing
|
Tracing
|
||||||
~~~~~~~
|
~~~~~~~
|
||||||
|
|
||||||
@ -1127,10 +1149,10 @@ GUI server, or specifically to the management GUI.
|
|||||||
CPU-resource assignment
|
CPU-resource assignment
|
||||||
~~~~~~~~~~~~~~~~~~~~~~~
|
~~~~~~~~~~~~~~~~~~~~~~~
|
||||||
|
|
||||||
[image sculpt_21_03_affinity 40%]
|
[image sculpt_23_10_affinity 40%]
|
||||||
|
|
||||||
You may already have noticed the additional item "Resource assignment ..."
|
You may already have noticed the additional item "Resource assignment ..."
|
||||||
in the component-configuration dialog (Figure [sculpt_21_03_affinity]).
|
in the component-configuration dialog (Figure [sculpt_23_10_affinity]).
|
||||||
It leads to a sub menu for restricting the CPU usage of the new component. The
|
It leads to a sub menu for restricting the CPU usage of the new component. The
|
||||||
configuration dialog shows a matrix of CPU cores where the x-axis denotes the
|
configuration dialog shows a matrix of CPU cores where the x-axis denotes the
|
||||||
physical cores and the y-axis the hyperthreads. By default, all available CPU
|
physical cores and the y-axis the hyperthreads. By default, all available CPU
|
||||||
@ -1173,6 +1195,11 @@ components. The dialog presents four options:
|
|||||||
such components, they won't impede the user's perception of the
|
such components, they won't impede the user's perception of the
|
||||||
responsiveness of the system.
|
responsiveness of the system.
|
||||||
|
|
||||||
|
The "System control" option allows the new component to monitor or manipulate
|
||||||
|
physical parameters like CPU frequencies, power consumption, and temperatures.
|
||||||
|
Given the broad potential side effects of those parameters, this option should
|
||||||
|
only be enabled in rare special cases. Grant it only to components you trust.
|
||||||
|
|
||||||
|
|
||||||
Service-level sandboxing
|
Service-level sandboxing
|
||||||
========================
|
========================
|
||||||
@ -1481,7 +1508,7 @@ _/config/presets/_.
|
|||||||
|
|
||||||
To keep your custom presem available after reboot, follow the pattern
|
To keep your custom presem available after reboot, follow the pattern
|
||||||
described in Section [Making customizations permanent] by copying the file to
|
described in Section [Making customizations permanent] by copying the file to
|
||||||
_/config/23.04/presets/_ at your Sculpt partition.
|
_/config/23.10/presets/_ at your Sculpt partition.
|
||||||
|
|
||||||
|
|
||||||
Building the boot image
|
Building the boot image
|
||||||
@ -1497,11 +1524,11 @@ a free download at [https://genode.org].
|
|||||||
|
|
||||||
! git clone https://github.com/genodelabs/genode.git
|
! git clone https://github.com/genodelabs/genode.git
|
||||||
! cd genode
|
! cd genode
|
||||||
! git checkout -b sculpt-23.04 sculpt-23.04
|
! git checkout -b sculpt-23.10 sculpt-23.10
|
||||||
|
|
||||||
# Download the support for the NOVA microkernel
|
# Download the support for the NOVA microkernel
|
||||||
|
|
||||||
! ./tool/depot/download genodelabs/bin/x86_64/base-nova/2023-04-25
|
! ./tool/depot/download genodelabs/bin/x86_64/base-nova/2023-10-25
|
||||||
|
|
||||||
The content is downloaded to the _public/_ directory and extracted to
|
The content is downloaded to the _public/_ directory and extracted to
|
||||||
the _depot/_ directory.
|
the _depot/_ directory.
|
||||||
@ -1509,10 +1536,10 @@ a free download at [https://genode.org].
|
|||||||
# Download all ingredients for the Sculpt boot image
|
# Download all ingredients for the Sculpt boot image
|
||||||
|
|
||||||
! ./tool/depot/download \
|
! ./tool/depot/download \
|
||||||
! genodelabs/pkg/x86_64/sculpt/2023-04-28 \
|
! genodelabs/pkg/x86_64/sculpt/2023-10-25 \
|
||||||
! genodelabs/pkg/x86_64/drivers_managed-pc/2023-04-28 \
|
! genodelabs/pkg/x86_64/drivers_managed-pc/2023-10-25 \
|
||||||
! genodelabs/pkg/x86_64/pc_wifi/2023-04-27 \
|
! genodelabs/pkg/x86_64/pc_wifi/2023-10-25 \
|
||||||
! genodelabs/bin/x86_64/ipxe_nic_drv/2023-04-25
|
! genodelabs/bin/x86_64/pc_nic_drv/2023-10-25
|
||||||
|
|
||||||
# Create a build directory
|
# Create a build directory
|
||||||
|
|
||||||
@ -1521,7 +1548,7 @@ a free download at [https://genode.org].
|
|||||||
# Configure the build directory by editing _build/x86_64/etc/build.conf_.
|
# Configure the build directory by editing _build/x86_64/etc/build.conf_.
|
||||||
Most importantly, enable the 'gems' source-code repository where the Sculpt
|
Most importantly, enable the 'gems' source-code repository where the Sculpt
|
||||||
scenario resides. In addition, the 'libports', 'ports', 'pc', 'dde_linux',
|
scenario resides. In addition, the 'libports', 'ports', 'pc', 'dde_linux',
|
||||||
'dde_rump', 'dde_bsd', and 'dde_ipxe' repositories are needed as well.
|
'dde_rump', and 'dde_bsd' repositories are needed as well.
|
||||||
Second, change the default configuration of the 'QEMU_RUN_OPT' variable to
|
Second, change the default configuration of the 'QEMU_RUN_OPT' variable to
|
||||||
'image/disk' instead of 'image/iso'. This way, the build process will
|
'image/disk' instead of 'image/iso'. This way, the build process will
|
||||||
produce a valid disk image with a GPT partition table instead of a legacy
|
produce a valid disk image with a GPT partition table instead of a legacy
|
||||||
@ -1557,14 +1584,14 @@ Before building the packages, various ports of 3rd-party software need to
|
|||||||
be prepared. The following command prepares all of them at once:
|
be prepared. The following command prepares all of them at once:
|
||||||
|
|
||||||
! <GENODE-DIR>/tool/ports/prepare_port \
|
! <GENODE-DIR>/tool/ports/prepare_port \
|
||||||
! acpica ada-runtime bash tresor coreutils curl \
|
! acpica bash coreutils curl dde_bsd dde_linux \
|
||||||
! dde_bsd dde_ipxe dde_linux dde_rump e2fsprogs-lib \
|
! dde_rump e2fsprogs-lib expat freetype gnupg grub2 \
|
||||||
! expat freetype gnupg grub2 jitterentropy jpeg \
|
! jitterentropy jpeg libarchive libc libdrm \
|
||||||
! libarchive libc libdrm libgcrypt libiconv libnl libpng \
|
! libgcrypt libiconv libnl libpng libssh libusb \
|
||||||
! libssh libusb libyuv libuvc linux \
|
! libuvc libyuv linux linux-firmware mesa ncurses \
|
||||||
! linux-firmware mesa ncurses nova openssl qemu-usb \
|
! nova openssl qemu-usb qoost qt5 stb stdcxx \
|
||||||
! qoost qt5 stb stdcxx ttf-bitstream-vera vim \
|
! ttf-bitstream-vera vim virtualbox6 wpa_supplicant \
|
||||||
! virtualbox6 wpa_supplicant x86emu xz zlib
|
! x86emu xz zlib
|
||||||
|
|
||||||
To be able to compile components that are dependent on the Qt5-library, the
|
To be able to compile components that are dependent on the Qt5-library, the
|
||||||
corresponding toolchain needs to be installed in addition to the base Genode
|
corresponding toolchain needs to be installed in addition to the base Genode
|
||||||
@ -1704,10 +1731,6 @@ Device drivers
|
|||||||
[https://w1.fi/wpa_supplicant/]
|
[https://w1.fi/wpa_supplicant/]
|
||||||
_(used by the wireless driver)_
|
_(used by the wireless driver)_
|
||||||
|
|
||||||
:iPXE:
|
|
||||||
[https://ipxe.org]
|
|
||||||
_(basis of the wired network driver)_
|
|
||||||
|
|
||||||
:xf86emu:
|
:xf86emu:
|
||||||
[https://xorg.freedesktop.org/]
|
[https://xorg.freedesktop.org/]
|
||||||
_(used by the VESA driver)_
|
_(used by the VESA driver)_
|
||||||
|
Loading…
x
Reference in New Issue
Block a user