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



Similar documents
OS-Circular : A Framework of Internet Client with Xen

EXPLORING LINUX KERNEL: THE EASY WAY!

PARALLELS SERVER BARE METAL 5.0 README

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

II. Installing Debian Linux:

Linux Embedded devices with PicoDebian Martin Noha

System administration basics

Embedded Linux development training 4 days session

USB 2.0 Flash Drive User Manual

PARALLELS SERVER 4 BARE METAL README

Create a virtual machine at your assigned virtual server. Use the following specs

Customizing Boot Media for Linux* Direct Boot

"EZHACK" POPULAR SMART TV DONGLE REMOTE CODE EXECUTION

Kaspersky Endpoint Security 8 for Linux INSTALLATION GUIDE

LSN 10 Linux Overview

How to Install Windows on Xen TM 3.0

Remote PC Guide Series - Volume 2a

ThinkServer RD550 and RD650 Operating System Installation Guide

760 Veterans Circle, Warminster, PA Technical Proposal. Submitted by: ACT/Technico 760 Veterans Circle Warminster, PA

Parallels Cloud Server 6.0

Acronis Backup & Recovery 10 Server for Linux. Update 5. Installation Guide

ThinkServer RD540 and RD640 Operating System Installation Guide

Copyright by Parallels Holdings, Ltd. All rights reserved.

TELE 301 Lecture 7: Linux/Unix file

Red Hat Certifications: Red Hat Certified System Administrator (RHCSA)

Virtual Appliance for VMware Server. Getting Started Guide. Revision Warning and Disclaimer

Virtuozzo 7 Technical Preview - Virtual Machines Getting Started Guide

Installing Ubuntu LTS with full disk encryption

The BackTrack Successor

OS Installation Guide Red Hat Linux 9.0

Procedure to Create and Duplicate Master LiveUSB Stick

IBM WebSphere Application Server V8.5 lab Basic Liberty profile administration using the job manager

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

Rethink Package Components on De-Duplication: From Logical Sharing to Physical Sharing

Oracle VM Server Recovery Guide. Version 8.2

A+ Guide to Software: Managing, Maintaining, and Troubleshooting, 5e. Chapter 3 Installing Windows

Agenda. Enterprise Application Performance Factors. Current form of Enterprise Applications. Factors to Application Performance.

Professional Xen Visualization

Using NixOS for declarative deployment and testing

Restoring a Suse Linux Enterprise Server 9 64 Bit on Dissimilar Hardware with CBMR for Linux 1.02

Installing a Second Operating System

Understanding Backup and Recovery Methods

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

CS197U: A Hands on Introduction to Unix

An Embedded Wireless Mini-Server with Database Support

Restoring a Windows 8.1 system from complete HDD failure - drivesnapshot

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

Booting Linux from a USB Flash Device on MPC5200 Systems David Wolfe, Infotainment, Multimedia and Telematics Division

PCIe AHCI-IP Demo Instruction Rev Jul-15

Amahi Instruction Manual

Server & Client Optimization

IBM SPSS Statistics for Linux Installation Instructions (Single User)

Linux System Administration and Shell Scripting

StarWind iscsi SAN: Configuring Global Deduplication May 2012

Filesystems Performance in GNU/Linux Multi-Disk Data Storage

4.1 Introduction 4.2 Explain the purpose of an operating system Describe characteristics of modern operating systems Control Hardware Access

Linux Server (Web, FTP, File) on Vmware

How To Install Acronis Backup & Recovery 11.5 On A Linux Computer

Virtualization Technology (or how my Windows computer gave birth to a bunch of Linux computers)

Acronis Backup & Recovery 10 Server for Linux. Installation Guide

Installing Ubuntu Server 9.04

Moxa Device Manager 2.0 User s Guide

Installation Guide for Citrix XenServer 5.5

Version 1.0. File System. Network Settings

NI Real-Time Hypervisor for Windows

These application notes are intended to be a guide to implement features or extend the features of the Elastix IP PBX system.

Parallels Cloud Server 6.0 Readme

Using NetBooting on the Mac OS X Server for delivery of mass client deployment

LSI Software RAID Configuration Utility

Table of Contents. Online backup Manager User s Guide

Table of Contents. Online backup Manager User s Guide

Windows Server 2008 R2 Essentials

Linux Kernel Architecture

Remote PC Guide Series - Volume 2b

PassTest. Bessere Qualität, bessere Dienstleistungen!

Vess A2000 Series. NVR Storage Appliance. Windows Recovery Instructions. Version PROMISE Technology, Inc. All Rights Reserved.

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

Parallels Cloud Server 6.0

Getting Started with ESXi Embedded

Bitrix Site Manager. VMBitrix Virtual Machine. Quick Start And Usage Guide

Best Practices on monitoring Solaris Global/Local Zones using IBM Tivoli Monitoring

Chapter 5: Fundamental Operating Systems

HP-UX System and Network Administration for Experienced UNIX System Administrators Course Summary

Enterprise Erase LAN

Operating System Installation Guide

Migrating to ESXi: How To

Embedded Operating Systems in a Point of Sale Environment. White Paper

HARFORD COMMUNITY COLLEGE 401 Thomas Run Road Bel Air, MD Course Outline CIS INTRODUCTION TO UNIX

Net/FSE Installation Guide v1.0.1, 1/21/2008

Windows 7 and USB 3.0 driver installation for 100 Series and Braswell platform

Proposal for Virtual Private Server Provisioning

Open Network Install Environment

Week Overview. Installing Linux Linux on your Desktop Virtualization Basic Linux system administration

Getting started with ARM-Linux

Parallels Cloud Server 6.0

AMD RAID Installation Guide

Transcription:

HTTP-FUSE PS3 Linux: an internet boot framework with kboot http://openlab.jp/oscirclar/ Kuniyasu Suzaki and Toshiki Yagi National Institute of Advanced Industrial Science and Technology Embedded Linux Conference 2007 1

Background PS3Linux makes us cell programming. Installing Linux to PS3 is painful Installation time is too long! Then, how about Live-CD? Yes, but they can never upgrade itself. Embedded Linux Conference 2007 2

Network booting With network booting, it s no need to install Linux to HDD. NFS boot is the most popular network booting method. But NFS service does not match to distribute worldwide. Embedded Linux Conference 2007 3

About PS3 as Linux machine Processor: 1 PPE and 6 SPEs PPE is 64-bit Power Architecture processor core SPE is simple processor which optimized for compute-intensive workloads. Memory: 256MB 4MB Flash memory to boot loader Internal SATA 2.5inch HDD Embedded Linux Conference 2007 4

graphics HDD processor South bridge USB GbE Memory: 256MB Flash for kboot Embedded Linux Conference 2007 5

Boot sequence of PS3 Linux Initial bootloader Start mini Linux system Kboot on internal Flash Initialize disks and network Read kernel and miniroot from disk or network Execute target kernel using kexec Start target system Embedded Linux Conference 2007 6

Internet booting using HTTP We developed Internet virtual block device HTTP-FUSE LOOP. Boot loader kboot can boot from kernel and miniroot on remote HTTP server. It requires DHCP to get kernel and miniroot from HTTP server. Embedded Linux Conference 2007 7

Booting kernel via HTTP On kboot command prompt, you can download file on HTTP server, and boot from it. Example: kboot: http://www.example.org/ps3/vmlinux initrd=http://www.example.org/ps3/initrd.img video=ps3fb:mode:5 Embedded Linux Conference 2007 8

After booting kernel kboot Linux Initialize hardware Configure network Mount HTTP-FUSE LOOP as root filesystem Start init Embedded Linux Conference 2007 9

Data structure of HTTP-FUSE LOOP Original block device is split by a constant size (currently 256kB) and compressed by zlib. Each data is saved to a block file, its name is a SHA1 value of its contents. If there are same contents, they are held together one block file and reduce total file space. Block files are managed by index file. Embedded Linux Conference 2007 10

Block Device 4KB Page ext2 256KB index and block files compressed by zlib index.idx 4ad36ffe8 974daf34a 2d34ff3e1 3310012a The block files are reconstructed as a virtual disk with HTTP-FUSE LOOP Embedded Linux Conference 2007 11

Mounting HTTP-FUSE LOOP When mounting HTTP-FUSE LOOP, it downloads an index file and makes virtual loopback file from the qe index information. HTTP-FUSE LOOP is virtual loopback file Use mount o loop or losetup command to mount HTTP-FUSE LOOP Embedded Linux Conference 2007 12

Reading from HTTP-FUSE LOOP When reading request occurred to HTTP- FUSE LOOP, it gets relevant block file. If block file is available on cache, HTTP-FUSE LOOP use it, otherwise, downloads it from HTTP server. HTTP-FUSE LOOP driver extracts block file, and maps it to satisfy the reading request. Embedded Linux Conference 2007 13

Contents SEVER block files 4ad36ffe8 974daf34a 2d34ff3e1 3310012a block files /tmp/blocks index.idx decompress loopback file /var/tmp/fuse/ps3debian 4KB Page ext2 extract Loopback # losetup /dev/loop0 /var/tmp/fuse/ps3debian 4KB Page ext2 Access FUSE driver loopback driver Embedded Linux Conference 2007 14

Updating virtual device(1) When upgrade occurs to original storage, Block file newly created at modified location. Old block file are used at unmodified location. New index file created. Adding new block files and index file, updating virtual device is almost done. When HTTP-FUSE LOOP driver restarted with new index file, updating is completely done. Embedded Linux Conference 2007 15

Block Device block files named by SHA1 4KB Page ext2 256KB index.idx 4ad36ffe8 974daf34a 2d34ff3e1 3310012a (1) Same files Reusable for FUSE Update apt-get install 4KB Page ext2 256KB index.idx 4ad36ffe8 dd4daf34a 2d34ff3e1 3310012a FUSE driver Embedded Linux Conference 2007 16

Variable Update Index Files Partial Update New Index file Cache files at local storage Block Files Master PS3 Internet New Block Files HTTP Server On demand download Updated OS Client Embedded Linux Conference 2007 17 Client

HTTP-FUSE LOOP issue It is (currently) read-only. It uses temporary directory for cache. Its speed depends on network bandwidth and latency. Embedded Linux Conference 2007 18

Read-only issue Normal distribution needs Read-write disk access. If you have only read-only access, normal distribution falls to single-user mode. To solve read-only issue, we introduced device-mapper snapshot. Embedded Linux Conference 2007 19

Pivot-root issue Normal distribution remounts HDD partition to root directory at init starts. Root directory before init moved another directory or just deleted. HTTP-FUSE LOOP uses temporary directory for cache, remounting causes trouble. Embedded Linux Conference 2007 20

After HTTP-FUSE PS3 Linux Root directory on ramdisk boot / bin/ dev/ etc/ lib/ sbin/ tmp/ usr/ var/ MOUNTPOINT/ simlink to root directory read-only HTTP-FUSE loop bin/ etc/ lib/ sbin/ usr/ read-write snapshot Embedded Linux Conference 2007 21

Network bandwidth and latency Performance of HTTP-FUSE LOOP affected by bandwidth and latency. We solved this problem with worldwide mirror sites. Embedded Linux Conference 2007 22

World Wide Deployment of Server We utilize inexpensive Web Hosting Service. 5GB/ month from $10 Embedded Linux Conference 2007 23

DNS-Balance DNS request Resolve select.inetboot.net to shorten latency Client Web server for HTTP-FUSE Xenoppix DNS server: ns.inetboot.net Block files XXX.168.0.10 resolve(dns-balance) select.inetboot.net YYY.10.0.19 ASK the nearest server for select.inetboot.net XXX.168.0.10 YYY.10.0.19 RADB (Routing ASSET DATABASE) Embedded Linux Conference 2007 24

Current status It can boot PS3 Debian. It uses 32MB, 1/8 of total memory of PS3 as space for device-mapper snapshot. Amount of download is about 170MB From boot to finish starting gnome Embedded Linux Conference 2007 25

Future plan More distributions Fedora core, gentoo and more Add Cell/SDK and some demos For SPE Programming. Auto setup external swap device Embedded Linux Conference 2007 26

Conclusion We made HTTP-FUSE PS3 Linux, which completely boot from remote HTTP server. The current target is Debian GNU/Linux. This work is a apart of OS-Circular. http://openlab.jp/oscircular/ Embedded Linux Conference 2007 27