Debian GNU/Hurd Status update



Similar documents
The GNU/Hurd architecture, nifty features, and latest news

DTC & DTC-Xen Running a VPS business with Xen Thomas Goirand, GPLHost CEO. Xen Summit Asia at Intel 2009

LSN 10 Linux Overview

FAME Operating Systems

Microkernels, virtualization, exokernels. Tutorial 1 CSC469

HTTP-FUSE PS3 Linux: an internet boot framework with kboot

Operating System Components

Overview. Open source toolchains. Buildroot features. Development process

EXPLORING LINUX KERNEL: THE EASY WAY!

Last Class: OS and Computer Architecture. Last Class: OS and Computer Architecture

Ubuntu Linux Reza Ghaffaripour May 2008

In this chapter, we want to make sure that your computer (and you) is ready for the Red Hat Linux installation.

How do Users and Processes interact with the Operating System? Services for Processes. OS Structure with Services. Services for the OS Itself

The BackTrack Successor

CSE 120 Principles of Operating Systems. Modules, Interfaces, Structure

Last Class: OS and Computer Architecture. Last Class: OS and Computer Architecture

Windows Template Creation Guide. How to build your own Windows VM templates for deployment in Cloudturk.

PARALLELS SERVER BARE METAL 5.0 README

Version 1.0. File System. Network Settings

CS 377: Operating Systems. Outline. A review of what you ve learned, and how it applies to a real operating system. Lecture 25 - Linux Case Study

Example of Standard API

Introduction to Operating Systems

Chapter 2 System Structures

Embedded Linux Platform Developer

Using Chroot to Bring Linux Applications to Android

Virtualization. Dr. Yingwu Zhu

CS197U: A Hands on Introduction to Unix

OS Concepts and structure

TELE 301 Lecture 7: Linux/Unix file

The System Monitor Handbook. Chris Schlaeger John Tapsell Chris Schlaeger Tobias Koenig

Survey of Filesystems for Embedded Linux. Presented by Gene Sally CELF

Practical Applications of Virtualization. Mike Phillips IAP 2008 SIPB IAP Series

SheevaPlug Development Kit README Rev. 1.2

System administration basics

How To Write A Windows Operating System (Windows) (For Linux) (Windows 2) (Programming) (Operating System) (Permanent) (Powerbook) (Unix) (Amd64) (Win2) (X

CS161: Operating Systems

A+ Guide to Managing and Maintaining Your PC, 7e. Chapter 2 Introducing Operating Systems

Chapter 3: Operating-System Structures. Common System Components

Kernel Types System Calls. Operating Systems. Autumn 2013 CS4023

Configuring Virtual Blades

Linux Kernel Architecture

IT6204 Systems & Network Administration. (Optional)

Abstract. Microsoft Corporation Published: August 2009

Using the AVR microcontroller based web server

Chapter 3 Operating-System Structures

Operating Systems OS Architecture Models

CSE 265: System and Network Administration

Operating System Structures

RH033 Red Hat Linux Essentials or equivalent experience with Red Hat Linux..

Virtualization and Other Tricks.

Windows Server 2008 Essentials. Installation, Deployment and Management

Linux System Administration on Red Hat

Operating System Structure

Linux Virtualization. Kir Kolyshkin OpenVZ project manager

Encryption Wrapper. on OSX

Getting started with ARM-Linux

What this document covers: Physical to Virtual Migration with Portlock Storage Manager

Linux Software Raid. Aug Mark A. Davis

Block Level Backups with EMC NetWorker

PARALLELS SERVER 4 BARE METAL README

Linux Template Creation Guide. How to build your own Linux VM templates for deployment in Cloudturk.

Preparing Your Computer for LFS101x. July 11, 2014 A Linux Foundation Training Publication

Basic Installation of the Cisco Collection Manager

Chapter 1 Hardware and Software Introductions of pcduino

CSE 265: System and Network Administration. CSE 265: System and Network Administration

Buildroot for Vortex86EX (2016/04/20)

LOCKSS on LINUX. CentOS6 Installation Manual 08/22/2013

Operating Systems. Design and Implementation. Andrew S. Tanenbaum Melanie Rieback Arno Bakker. Vrije Universiteit Amsterdam

Outline. Operating Systems Design and Implementation. Chap 1 - Overview. What is an OS? 28/10/2014. Introduction

Android: How To. Thanks. Aman Nijhawan

Full and Para Virtualization

Chapter 14 Virtual Machines

Developing Embedded Linux Devices Using the Yocto Project

Advanced Linux System Administration on Red Hat

Virtualization and Performance NSRC

Virtualization for Cloud Computing

Week Overview. Running Live Linux Sending from command line scp and sftp utilities

Backup of ESXi Virtual Machines using Affa

Objectives. Chapter 2: Operating-System Structures. Operating System Services (Cont.) Operating System Services. Operating System Services (Cont.

VIA Fedora Linux Core 8 (x86&x86_64) VT8237R/VT8237A/VT8237S/VT8251/CX700/VX800 V-RAID V3.10 Driver Installation Guide

Converting Linux and Windows Physical and Virtual Machines to Oracle VM Virtual Machines. An Oracle Technical White Paper December 2008

OroTimesheet 7 Installation Guide

ELEC 377. Operating Systems. Week 1 Class 3

Linux Overview. The Senator Patrick Leahy Center for Digital Investigation. Champlain College. Written by: Josh Lowery

The Microsoft Windows Hypervisor High Level Architecture

Review from last time. CS 537 Lecture 3 OS Structure. OS structure. What you should learn from this lecture

Virtualization in Linux

Virtualization of Linux based computers: the Linux-VServer project

Frysk The Systems Monitoring and Debugging Tool. Andrew Cagney

Windows Server 2008 R2 Essentials

The Virtual Environment

Running Debian on Inexpensive Network Attached Storage Device

After three years of hanging around on the sidelines, Udev has finally ousted the legacy Dev-FS system. We

Lecture 25 Symbian OS

Building Embedded Systems

Virtual Hosting & Virtual Machines

ReactOS is (not) Windows. Windows internals and why ReactOS couldn t just use a Linux kernel

Chapter 3: Operating-System Structures. System Components Operating System Services System Calls System Programs System Structure Virtual Machines

Transcription:

Debian GNU/Hurd Status update Samuel Thibault 2015 August 17th 1

It's all about freedom #0 The freedom to run the program, for any purpose I.e.: Freedom from sysadmin! WTH is fdisk/mke2fs/... hidden in /sbin? I should be able to just work with my disk/network access Freedom to innovate Experimental filesystem, personal work-flow, new kind of process combination,... Also provide freedom from misbehaving programs and drivers 2

Micro-kernel layering ext2fs pfinet root auth proc user sh cp Kernel Tasks, memory, IPC 15

Micro-kernel layering Server crash? Not a problem Computer bought the farm is just an error, not something-of-the-death Easier to debug/tune Just run gdb, gprof, Can dare crazy things The Hurd console has dynamic font support See chinese support in pseudo-graphical mode (actually pure VGA textmode!) of Debian installer. Kernel only handles Tasks, memory, IPC 17

Hurd possibilities ext2fs pfinet root auth proc ftpfs user sh isofs cp Kernel 18

Hurd possibilities settrans c ~/ftp: /hurd/hostmux /hurd/ftpfs / (just once for good) settrans a ~/mnt /hurd/iso9660fs ~/ftp://ftp.gnu.org/old gnu/gnu f2/hurd F2 main.iso ls ~/mnt README or FAIL Only downloads what is needed. Can be permanently stored in ext2fs settrans ~/.signature /hurd/run /usr/games/fortune 19

Example: interpose TCP/IP stack settrans ca $HOME/servers/socket/2 /hurd/pfinet i $HOME/servers/tun0 openvpn $HOME/servers/tun0 & remap /servers/socket/2 $HOME/servers/socket/2 wget www.gnu.org My own translator Can plug my own VPN software Only wget accesses it (well, the shell too :) ) 20

But also remap /bin/sh $HOME/bin/sh remap /bin $HOME/unionbin Check out Stow/Nix/Guix! 21

How does it work? ext2fs pfinet root auth proc ftpfs user sh libc isofs cp libc Kernel 22

Rationale - Everything is an (interposable) RPC - Translators exposed in the FS The user gets to decide what/how to interpose Without need for costly ptrace or fragile libc symbols interposition. Native fakeroot/chroot Fully virtualized and fine-grained interface Just need to use what's provided by the admin, e.g. $HOME/ TCP/IP stack and pile over it 23

Hurd possibilities (cont'ed) ext2fs pfinet root auth proc open vpn ftpfs pfinet user part ext2fs sh isofs cp Kernel 24

Hurd possibilities (cont'ed) ext2fs pfinet root auth proc open vpn ftpfs pfinet user part ext2fs sh isofs cp Kernel i.e. ISO image inside a partitioned disk image on ftp over a VPN 25

Porting packages to hurd-i386 This is essentially a POSIX system So portable portable programs should just work fine Top dumb issues Not linux or BSD? #include <windows.h> Have mach.h? Must be MacOS make -j $(grep /proc/cpuinfo) make -j #include <linux/limits.h> hardcoded errno values Missing -lpthread, -ldl, -lx11,... See Hurd porter page's developer corner And PATH_MAX not defined, as allowed by POSIX...

PATH_MAX is evil for you Fragile semantic in POSIX Never meant to mean reasonable size for a buffer containing a file name Linux' 4096 : a whole page, a whole TLB entry! Paths can actually be longer hidden, protected files?! Does that include the trailing \0? (not so clear in POSIX...) Does your code actually properly handle that? A can of worms that nobody really tests...

Current State Hardware support i686 start of 64bit support Kernel boots completely, now missing RPC 32/64bit translation DDE Linux 2.6.32 drivers layer for network boards In userland netdde translator! IDE, Xorg, AHCI driver for SATA Xen PV domu Required GNU Mach changes only Preliminary sound support through userland Rump No USB yet 82

Current State Software support Quite stable Have not reinstalled boxes for a decade. Debian buildds keep building packages, no hang after weeks! ~81% of Debian archive builds out of tree XFCE, almost gnome, almost KDE Firefox (aka iceweasel), gnumeric, Standard native Debian Installer 83

Recent work Special thanks to Justus Winter!! Init system decoupled Allows to use standard Debian sysvinit scripts! Using dmd for Guix & such Distributed mtab translator Various optimizations Protected payloads Lockless implementations Paging management Message dispatch Valgrind start-of-port 84

Releases Nice 0.401 release on April 2011. Arch Hurd LiveCD release on August 2011. Released Debian-unofficial wheezy/sid snapshot CDs on May 2013 \o/ jessie/sid snapshot CDs on May 2015 \o/ 85

Removal from ftp-master Due since many years Not really useful to mirror all over the world anyway But beware of consequences buildd.debian.org able to get fed from debian-ports? Scheduled binnmus for transitions Losing this would be very tedious for ports maintainers Exposure in e.g. http://buildd.debian.org/yourpackage Toolchain version upgrades (gcc, perl) Give $WHOEVER_DOES_IT accounts just to be able to check those? In short, managing to get most support without extra load? Conversely, those would help ports currently on debian-ports Real status for Second-Class Citizens BoF? 86

Future work Xen PVH support, X86_64 support Language bindings for translators (ADA?) Read-ahead {hdd,sound,usb}dde? Rump drivers? GNU system: Guix/Hurd? Startup in scheme? Your own pet project? 87

Thanks! http://hurd.gnu.org/ http://www.debian.org/ports/hurd/ http://people.debian.org/~mbanck/debian-hurd.pdf The increasing irrelevance of IPC performance for microkernel-based Operating Systems http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.37.9653&rep=rep1&type=pdf 90