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
Outline 1. Base system 2. Storage, networking 3. Extending the system 4. Road Map for 2018 Live-sculpting a Genode-based operating system 3
System overview Drivers Leitzentrale Runtime Init Init Init static system Init Microkernel / Core Live-sculpting a Genode-based operating system 4
Static part of the system Drivers Leitzentrale Runtime Init Init Init static system Init Microkernel / Core Live-sculpting a Genode-based operating system 5
Static part of the system Drivers Leitzentrale Runtime Global Nitpicker Report ROM Policy GUI Server Report FS Config FS initial config Live-sculpting a Genode-based operating system 6
Drivers subsystem Drivers Leitzentrale Runtime Init Init Init static system Init Microkernel / Core Live-sculpting a Genode-based operating system 7
Drivers subsystem Drivers Framebuffer Block Driver Driver state device info ACPI Driver Platform USB Dynamic Discovery Driver Driver Manager Init PS2 Driver config config Input Filter platform input usb framebuffer block I/O I/O Microkernel / Core IRQ MEM PORT Live-sculpting a Genode-based operating system 8
Leitzentrale subsystem Drivers Leitzentrale Runtime Init Init Init static system Init Microkernel / Core Live-sculpting a Genode-based operating system 9
Leitzentrale subsystem Recompiled Unix program FreeBSD libc libc plugin open read write Noux session select ioctrl stat readdir Noux VFS I/O channels Terminal TarFS Terminal session ROM session Init Live-sculpting a Genode-based operating system 10
Leitzentrale subsystem Leitzentrale Control Noux Log Noux /config /report /report terminal Terminal Terminal input framebuffer Nit FB Nit FB nitpicker Fader Fader Init Nitpicker global Report FS policy static system Config FS Live-sculpting a Genode-based operating system 11
Tweaking and inspecting the system Input Filter Input Input PS2 USB HID Remap Remap Char Generator Merger GUI server Output Live-sculpting a Genode-based operating system 12
Runtime subsystem Drivers Leitzentrale Runtime Init Init Init static system Init Microkernel / Core Live-sculpting a Genode-based operating system 13
Outline 1. Base system 2. Storage, networking 3. Extending the system 4. Road Map for 2018 Live-sculpting a Genode-based operating system 14
Preparing the disk Drivers Runtime Noux bash Framebuffer Block coreutils /dev/block e2fsprogs Driver Driver driver-manager Terminal Input Dynamic policy Filter Init Nit FB runtime policy Init input framebuffer block global policy static system Nitpicker Live-sculpting a Genode-based operating system 15
File-system access Runtime subinit/default fs.config subinit/default noux.config NetBSD Rump kernel Noux /rw VFS plugin /config Terminal VFS VFS Server Nit FB Init Init Init Nitpicker Config FS static system Block Live-sculpting a Genode-based operating system 16
Connecting to a wireless network Drivers Runtime subinit/default nic.config Device Device Device PD PD PD Wifi Driver Intel Wireless stack WPA supplicant libcrypto Platform Driver Init Init platform Config ROM Report FS wifi.config nic/wlan accesspoints Live-sculpting a Genode-based operating system 17
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
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/ Default FS Config FS for convenience → config/runtime/load.config Live-sculpting a Genode-based operating system 19
Outline 1. Base system 2. Storage, networking 3. Extending the system 4. Road Map for 2018 Live-sculpting a Genode-based operating system 20
Downloading files fetchurl File File File system system system NIC chroot Default Default Default TCP/IP stack Noux FS /download libcurl NIC libssl Nitpicker Block Platform Live-sculpting a Genode-based operating system 21
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
Installing software archive list Get download info What’s missing? download URL, public key archive content Download Manager Fetch Extract archives, signatures Verify good or bad Live-sculpting a Genode-based operating system 23
Installing software Get What’s download Fetch Verify Extract missing? info Depot missing Query content state Download Dynamic Manager Init config config read-only (installation) network file system file system /public /depot Live-sculpting a Genode-based operating system 24
Installing software Get What’s download Fetch Verify Extract missing? info Depot public key, Query URL state Download Dynamic Manager Init config read-only network file system file system /public /depot Live-sculpting a Genode-based operating system 25
Installing software Get What’s download Fetch Verify Extract missing? info fetchurl libcurl libssl TCP/IP state Download Dynamic Manager Init config write network file system file system /public /depot Live-sculpting a Genode-based operating system 26
Installing software Get What’s download Fetch Verify Extract missing? info verify GnuPG good / libgcrypt bad state Download Dynamic Manager Init config read-only network file system file system /public /depot Live-sculpting a Genode-based operating system 27
Installing software Get What’s download Fetch Verify Extract missing? info extract chroot libarchive /<origin> liblzma write state Download Dynamic Manager Init config read-only write network file system file system /public /depot Live-sculpting a Genode-based operating system 28
Deploying installed software Live-sculpting a Genode-based operating system 29
Outline 1. Base system 2. Storage, networking 3. Extending the system 4. Road Map for 2018 Live-sculpting a Genode-based operating system 30
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
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
Recommend
More recommend