Live-sculpting a Genode-based operating system Norman Feske < - - PowerPoint PPT Presentation

live sculpting a genode based operating system
SMART_READER_LITE
LIVE PREVIEW

Live-sculpting a Genode-based operating system Norman Feske < - - PowerPoint PPT Presentation

Live-sculpting a Genode-based operating system Norman Feske < norman.feske@genode-labs.com > Outline 1. Base system 2. Storage, networking 3. Extending the system 4. Road Map for 2018 Live-sculpting a Genode-based operating system 2


slide-1
SLIDE 1

Live-sculpting a Genode-based operating system

Norman Feske <norman.feske@genode-labs.com>

slide-2
SLIDE 2

Outline

  • 1. Base system
  • 2. Storage, networking
  • 3. Extending the system
  • 4. Road Map for 2018

Live-sculpting a Genode-based operating system 2

slide-3
SLIDE 3

Outline

  • 1. Base system
  • 2. Storage, networking
  • 3. Extending the system
  • 4. Road Map for 2018

Live-sculpting a Genode-based operating system 3

slide-4
SLIDE 4

System overview

Microkernel / Core Init Init Init Init

Drivers Leitzentrale Runtime static system

Live-sculpting a Genode-based operating system 4

slide-5
SLIDE 5

Static part of the system

Microkernel / Core Init Init Init Init

Drivers Leitzentrale Runtime static system

Live-sculpting a Genode-based operating system 5

slide-6
SLIDE 6

Static part of the system

Nitpicker GUI Server Report Report FS ROM Config FS Global Policy Leitzentrale Drivers Runtime initial config

Live-sculpting a Genode-based operating system 6

slide-7
SLIDE 7

Drivers subsystem

Microkernel / Core Init Init Init Init

Drivers Leitzentrale Runtime static system

Live-sculpting a Genode-based operating system 7

slide-8
SLIDE 8

Drivers subsystem

Microkernel / Core

Drivers

Dynamic Init Driver Manager USB Driver PS2 Driver Platform Driver ACPI Discovery Framebuffer Driver Block Driver Input Filter

platform input usb framebuffer block

config config state device info I/O MEM I/O PORT IRQ Live-sculpting a Genode-based operating system 8

slide-9
SLIDE 9

Leitzentrale subsystem

Microkernel / Core Init Init Init Init

Drivers Leitzentrale Runtime static system

Live-sculpting a Genode-based operating system 9

slide-10
SLIDE 10

Leitzentrale subsystem

Init Terminal

Noux

VFS TarFS I/O channels Recompiled Unix program FreeBSD libc libc plugin Noux session

  • pen read write

select ioctrl stat readdir Terminal session ROM session

Live-sculpting a Genode-based operating system 10

slide-11
SLIDE 11

Leitzentrale subsystem

Control Noux /config /report Terminal Nit FB Fader terminal framebuffer input nitpicker Log Noux /report Terminal Nit FB Fader Init Nitpicker Report FS Config FS

Leitzentrale

global policy

static system

Live-sculpting a Genode-based operating system 11

slide-12
SLIDE 12

Tweaking and inspecting the system

Input Filter

Input Input Output Merger Char Generator Remap Remap

PS2 USB HID GUI server

Live-sculpting a Genode-based operating system 12

slide-13
SLIDE 13

Runtime subsystem

Microkernel / Core Init Init Init Init

Drivers Leitzentrale Runtime static system

Live-sculpting a Genode-based operating system 13

slide-14
SLIDE 14

Outline

  • 1. Base system
  • 2. Storage, networking
  • 3. Extending the system
  • 4. Road Map for 2018

Live-sculpting a Genode-based operating system 14

slide-15
SLIDE 15

Preparing the disk

static system

Noux /dev/block

bash coreutils e2fsprogs

Terminal Nit FB Init

Runtime Drivers

Nitpicker

framebuffer block input

Dynamic Init Framebuffer Driver Block Driver

runtime policy global policy driver-manager policy

Input Filter

Live-sculpting a Genode-based operating system 15

slide-16
SLIDE 16

File-system access

static system

Init Init Nit FB Terminal Noux /config /rw Init VFS VFS Server NetBSD Rump kernel VFS plugin

subinit/default fs.config subinit/default noux.config

Runtime

Nitpicker Config FS Block

Live-sculpting a Genode-based operating system 16

slide-17
SLIDE 17

Connecting to a wireless network

Report FS nic/wlan accesspoints Config ROM wifi.config

Wifi Driver

Intel Wireless stack WPA supplicant libcrypto

Init Init

subinit/default nic.config

Runtime Drivers

platform

Platform Driver Device PD Device PD Device PD

Live-sculpting a Genode-based operating system 17

slide-18
SLIDE 18

Making customizations permanent

Noux with mounted config FS and default FS

cp /config/<customized>.config /rw/config/ cp /config/runtime/<customized>.config /rw/config/runtime/ cp /config/subinit/<customized>.config /rw/config/subinit/

Config FS Default FS

Live-sculpting a Genode-based operating system 18

slide-19
SLIDE 19

Restoring customizations after boot

Noux with mounted config FS and default FS

cp /rw/config/* /config/ cp /rw/config/runtime/*.config /config/runtime/ cp /rw/config/subinit/*.config /config/subinit/

Config FS Default FS

for convenience → config/runtime/load.config

Live-sculpting a Genode-based operating system 19

slide-20
SLIDE 20

Outline

  • 1. Base system
  • 2. Storage, networking
  • 3. Extending the system
  • 4. Road Map for 2018

Live-sculpting a Genode-based operating system 20

slide-21
SLIDE 21

Downloading files

fetchurl

TCP/IP stack libcurl libssl

chroot /download Default FS Default Noux Default NIC File system File system File system NIC Block Platform Nitpicker

Live-sculpting a Genode-based operating system 21

slide-22
SLIDE 22

Installing software

Prerequisites Storage location for downloads Storage location for installed software Download URL Public key of software producer

Live-sculpting a Genode-based operating system 22

slide-23
SLIDE 23

Installing software

Download Manager What’s missing? Get download info Fetch Verify Extract archive list download URL, public key archives, signatures good or bad archive content

Live-sculpting a Genode-based operating system 23

slide-24
SLIDE 24

Installing software

read-only config (installation) What’s missing? Get download info Fetch Verify Extract Dynamic Init Download Manager Depot Query config state missing content file system network file system /public /depot

Live-sculpting a Genode-based operating system 24

slide-25
SLIDE 25

Installing software

read-only What’s missing? Get download info Fetch Verify Extract Dynamic Init Download Manager Depot Query config state public key, URL file system network file system /public /depot

Live-sculpting a Genode-based operating system 25

slide-26
SLIDE 26

Installing software

write What’s missing? Get download info Fetch Verify Extract Dynamic Init Download Manager fetchurl

libcurl libssl TCP/IP

config state file system network file system /public /depot

Live-sculpting a Genode-based operating system 26

slide-27
SLIDE 27

Installing software

read-only What’s missing? Get download info Fetch Verify Extract Dynamic Init Download Manager verify

GnuPG libgcrypt

config state good / bad file system network file system /public /depot

Live-sculpting a Genode-based operating system 27

slide-28
SLIDE 28

Installing software

read-only write write What’s missing? Get download info Fetch Verify Extract Dynamic Init Download Manager extract chroot /<origin>

libarchive liblzma

config state file system network file system /public /depot

Live-sculpting a Genode-based operating system 28

slide-29
SLIDE 29

Deploying installed software

Live-sculpting a Genode-based operating system 29

slide-30
SLIDE 30

Outline

  • 1. Base system
  • 2. Storage, networking
  • 3. Extending the system
  • 4. Road Map for 2018

Live-sculpting a Genode-based operating system 30

slide-31
SLIDE 31

Road Map for 2018

Sculpt for Early Adopters (EA) → 18.02 (end of February) Sculpt for The Curious (TC) → 18.05 (end of May) Sculpt by Visual Composition (VC) → 18.08 (end of August) Sculpt as a Community Experience (CE) → 18.11 (end of the year) Details at https://genode.org/about/road-map

Live-sculpting a Genode-based operating system 31

slide-32
SLIDE 32

Thank you

Genode OS Framework https://genode.org Genode Labs GmbH https://www.genode-labs.com Source code at GitHub https://github.com/genodelabs/genode

Live-sculpting a Genode-based operating system 32