Erstellen eines Boot-Mediums

Ähnliche Dokumente
Booten eines Linux-PCs

Knoppix-Remastering Workshop

Knoppix-Remastering Knoppix-Remastering. Christian Perle, secunet Security Networks AG, NL Dresden 1

Linux booten. Jörg Ahrens

Linux Tutorium. Linux Tutorium Systemkonfiguration. Linux Tutorium Systemkonfiguration Seite: 1

Design und Organisation einer Linux-Distribution

Design und Organisation einer Linux-Distribution

Auf dem Weg: Certified Linux Professional Installation von Linux und Paketmanagement

Initramfs - The initial RAM filesystem

Konsolidierung von bootfähigen Disketten auf

Multiboot USB Stick. Alle wichtigen ISOs immer auf einem Stick dabei. Emanuel Duss Emanuel Duss Multiboot USB Stick / 14

HOWTO: Multi Boot USB Stick erstellen

Dateisysteme Linux-Kurs der Unix-AG

Allgemeines Bootvorgang Umsetzung Sonstiges. Thin Clients. Michael Hartmann Augsburger Linux Infotag

Hardware. Heimo Schön 4/2002 Seite 1/22

Dich krieg ich klein!

Fehlerbehebung Linux-Kurs der Unix-AG

KNOPPIX GNU/Linux ohne Installation

FP&S. Linux-basierter Zugangsrouter und Firewall

Live-USB-Stick erstellen mit Trick 17

Hauptseminar DVP - Projekt

Treiber Kernel und Module bauen

1 Bitte beachten Kurzanleitung imgPTN-Dateien Portable machen Links & Quellen... 11

Kali Linux. Hax0r. Kali USB (Persistenz + NTFS) Windows Benutzer freischalten

Fehlerbehebung. Andreas Teuchert. 2. Februar 2015

Grub 2. A GRUB logo by Karol Krenski

Was muß ich tun, damit Embedded-Linux in einer Sekunde bootet?!

GNU/Linux ohne Installation

4 Linux einsatzbereit konfigurieren

Linux Grundlagen. Wolfgang Scheicher 20. Mai Allgemeines Bootvorgang Verzeichnisstruktur... 2

Laufwerke unter Linux - Festplatten - - USB Sticks - September 2010 Oliver Werner Linuxgrundlagen 1

PXE-Installation für EISFAIR

10 Jahre KNOPPIX KNOPPIX. Live GNU/Linux System. Schwarz: Transparent, CD Hintergrundfarbe (silber) bei Zweifarbdruck, sonst schwarz.

Backdoors mit Bordmitteln Vol.c3d2

Migration Physischer Linux-Server auf VMware ESX 3.0

Linux Grundlagen. Wolfgang Scheicher. 20. Mai 2006

KNOPPIX GNU/Linux ohne Installation

Ursachen und Lösungen Ursache (1): Defektes/beschädigtes Dateisystem

Installation von Freenas auf einem Thin Client

RAM-Dateisysteme. Proseminar Speicher- und Dateisysteme SoSe Christoffer Kassens

Hardware & Kernel-Module

1.102 Installation von Linux und Paketmanagement. Auf dem Weg: Certified Linux Professional

NETWAYS Nagios Konferenz Wolfgang Barth

BOOTSTRAPPING. Konzepte von Betriebssystem-Komponenten

PHYTEC USB-CAM Serie unter Linux

Installationsanleitungen

SLT Schwabacher Linuxtage 2009 Herzlich willkommen. Peter Botschafter / sudo

PPS - Linux-basierter Zugangsrouter und Firewall USB und lrp-pakete

Linux Kurs Vorlesung 2 - Terminal

Dateisystem 1, Suchpfad, Befehlstypen

Neben diesen Schwerpunkten werden einige weitere Themen eher knapp angerissen:

Dateisystem 1, Suchpfad, Befehlstypen

Die Shell - Das Vorspiel

Dateisystem 1, Suchpfad, Befehlstypen

bs8280a, bs8280b, bs8280c, bs8280d, bs8280e, bs8280f, bs8280g bs8300a, bs8300b, bs8300c, bs8300d, bs8300e, bs8300f, bs8300g,

Betriebssysteme. Der Linux-Kernel und der Boot-Prozess. Linux Kernel / Boot-Prozess

Dokumentation Einrichten von XEN mit etch Gast und Samba PDC

Linux booten leicht gemacht: Barebox

Migration von physischen Servern auf Xen

Linux Mint auf zusätzlicher Partition einrichten

Linux Prinzipien und Programmierung

2 Installation. jungfräulichen PC installieren, der noch kein anderes System gesehen hatte.

Mein Oracle Linux System bootet nicht mehr - was nun?

Automatisierte Installation der ESXi Hosts (z.b. für Disaster Recovery).

1 LINUX-CHEATSHEET (symbolischer Name localhost ) ist der jeweils aktuelle

Ein Vortrag von Martin 'Ventilator' Ebnöther. gopher: //ventilator.netswarm.

Mein Oracle Linux System bootet nicht mehr - was nun? Roman Gächter Trivadis AG CH-8152 Glattbrugg

Installation Debian `sarge` GNU/Linux

Verschlüsselung von Partitionen und regulären Dateien unter Linux

Xen mit virtueller Maschine auf Debian installieren

Mein Oracle Linux System bootet nicht mehr - was nun? Roman Gächter Trivadis AG CH-8152 Glattbrugg

Selbst heilende Arbeitsstation

Erstellung und Installation einer Windows Unattended CD

Embedded Linux Portierung auf mobiles Datenerfassungsterminal. Ole Reinhardt

Installation von Debian Linux auf IBM PSeries Cross Compiler

Funktionsweise Live-CD /Dateisysteme

WinXP Consoliero Teil 1: Mac OS X Emulation unter Windows XP

Creative Commons License Attribution-Noncommercial-Share Alike 3.0 Germany

1. Notfallbehandlung. 1.1 Starten und Beenden des Fedora Rettungssystem. 1.2 Paßwort für root unbekannt (ohne Fedora Rettungssystem).

GNU/Hurd. ... ein Mach basiertes Multi Server Betriebssystem. Manuel Gorius. . p.1/33

UEFI. Unified Extensible Firmware Interface UEFI. OSP 2015 UEFI Rene Brothuhn Seite: 1

ExamPC - Prüfungsumgebung für Linux Essentials. ExamPC - Prüfungsumgebung für Linux Essentials

Raid auf einem neuem System erstellen

Terminal Was ist ein Terminal?:

Swappen über Netzwerk

Freier Linux Kernel für den Virtex4 FX12

PXE-Server unter CentOS 6.x einrichten

Computer & GNU/Linux Einführung Teil 1. Simon Haller iis.uibk.ac.at

Knoppix Micro-Remastering

Linux Installation. im Rahmen von inf.misc am 12. Dezember 2001

Der Bootprozess unter Linux

Multi-Boot-DVD selbst gemacht. Die vielen Zuschriften auf den Artikel. Vorbereitungen COMPUTER. Multi-Boot-DVD. 1. Ultimate Boot-CD auspacken

Booten von festplattenlosen Linux-Systemen

Systemdateien finden und Dateien am richtigen Ort platzieren

SelfLinux Der Linux-Kernel

Netzboot im Pool Mark Heisterkamp 21. Juni 2007

Inhaltsverzeichnis Erste Schritte Grundprinzipien in Linux

Embedded Linux. Dipl.-Ing. Thomas Brinker Dipl.-Ing. Heiko Degenhardt Dr.-Ing. Gerald Kupris. Praktische Umsetzung mit uclinux.

BOOTSTRAPPING. Lehrstuhl für Informatik 4 Verteilte Systeme und Betriebssysteme Universität Erlangen-Nürnberg

Howto: Erstellen einer Windows PE Boot-CD

Transkript:

Erstellen eines Boot-Mediums Dr.-Ing. Matthias Sand Lehrstuhl für Informatik 3 (Rechnerarchitektur) Friedrich-Alexander-Universität Erlangen-Nürnberg SS 2009 Erstellen eines Boot-Mediums 1/21 2009-05-06

Inhalt Bootloader Kernel Initiale RAM-Disk Boot-Medium Booten von CD Erstellen eines Boot-Mediums 2/21 2009-05-06

Bootloader Schritte Auswahl eines Bootloaders, abhängig von: Plattform, gewünschtem Boot-Medium, gewünschtem Komfort ;) ggf. bauen aus den Sourcen, erstellen einer Boot-Konfiguration. Erstellen eines Boot-Mediums 3/21 2009-05-06

GRUB-Konfiguration Beispiel: menu.lst # Erster Eintrag ist Standard default 0 # bootet nach 30 Sekunden timeout 30 # Booteintrag fuer Linux title Install Linux root (fd0) kernel /boot/vmlinuz vga=normal initrd /boot/initrd.gz Erstellen eines Boot-Mediums 4/21 2009-05-06

Kernel Schritte Entweder vorgebauten Kernel (der Boot-Strapping- oder eigenen Distribution) verwenden oder: Auswahl der Kernel-Version, Holen der Sourcen (http://ftp.linux.org/pub/linux/kernel/v2.6/), ggf. Patchen des Kernels, Konfiguration des Kernels minimalistisch full blown, monolithisch modular, Kernel und Module bauen. Erstellen eines Boot-Mediums 5/21 2009-05-06

Initiale RAM-Disk Inhalt /init bzw. /linuxrc, Kernelmodule (passend zum gebooteten Kernel), elementare Programme: zum Laden von Modulen, ggf. zum Mounten von Dateisystemen, Shell, Geräteknoten für elementare Pseudo-Geräte (z.b. /dev/null), Konsole und Terminals, Platten und optische Laufwerke, Mount-Punkte für weitere Dateisysteme (/proc, /mnt,...). Erstellen eines Boot-Mediums 6/21 2009-05-06

Initiale RAM-Disk (2) BusyBox Multi-Call-Binary : ein Binary enthält Code für viele Programme, diverse Dienstprogramme aus der Single-Unix-Specification und der Linux-Welt, meist mit eingeschränkter Funktionalität, Auswahl kann zur Build-Zeit konfiguriert werden, symbolische Links nach /bin/busybox für jedes Dienstprogramm, BusyBox wertet argv[0] aus und führt entsprechenden Code aus. kleiner als viele einzelne Binaries. Erstellen eines Boot-Mediums 7/21 2009-05-06

Initiale RAM-Disk (3) Beispiel: Inhalt einer initrd /linuxrc /bin/sh, /bin/mount, /bin/umount, /bin/cp, /bin/tar,... /dev/null, /dev/zero, /dev/console, /dev/tty[0-7] /dev/hd*, /dev/sd* /dev/scd* /etc/ld.so.conf, /etc/ld.so.cache /etc/mtab /lib/ld-linux.*, /lib/libc.so.* /lib/modules/* /mnt /proc Erstellen eines Boot-Mediums 8/21 2009-05-06

Initiale RAM-Disk (4) Beispiel: Bau einer initrd insmod l o o p dd i f =/dev / z e r o o f=/tmp/ i n s t r d. img bs =1024 count=<s i z e > l o s e t u p / dev / l o o p 0 /tmp/ i n s t r d. img mkfs t e x t 2 / dev / l o o p 0 mkdir /tmp/ i n s t r d mount / dev / l o o p 0 /tmp/ i n s t r d cp... /tmp/ i n s t r d /... umount /tmp/ i n s t r d r m d i r /tmp/ i n s t r d l o s e t u p d / dev / l o o p 0 rmmod l o o p g z i p /tmp/ i n s t r d. img Erstellen eines Boot-Mediums 9/21 2009-05-06

Initiale RAM-Disk (5) Beispiel: Bau eines initramfs mkdir /tmp/ i n i t r a m f s mkdir /tmp/ i n i t r a m f s /... cp... /tmp/ i n i t r a m f s /... cd /tmp/ i n i t r a m f s f i n d. c p i o ov H newc >.. / i n i t r a m f s. c p i o cd.. g z i p i n i t r a m f s. c p i o rm Rf i n i t r a m f s Erstellen eines Boot-Mediums 10/21 2009-05-06

Boot-Medium Früher: Kernel-Buildsystem lieferte ein bootbares Floppy-Image des Kernels. (Seit Linux 2.6 nicht mehr möglich!) Minimaler Inhalt des Boot-Mediums Kernel, ggf. RAM-Disk-Image, ggf. Stages (z.b. stage2), ggf. Hilfsdateien des Bootloaders (menu.lst, Hintergrundbilder,...). Erstellen eines Boot-Mediums 11/21 2009-05-06

Boot-Medium (2) Beispiel: Inhalt einer Boot-Disk /boot/initrd.img.gz /boot/vmlinuz /boot/grub/stage2 /boot/grub/menu.lst Erstellen eines Boot-Mediums 12/21 2009-05-06

Boot-Medium (3) Beispiel: Bau einer Boot-Floppy mkfs t e x t 2 / dev / fd0 mkdir /tmp/ b o o t d i s k mount / dev / fd0 /tmp/ b o o t d i s k cp... /tmp/ b o o t d i s k /... mkdir p /tmp/ b o o t d i s k / boot / grub cp / u s r / l i b / grub / i386 pc / s t a g e 2 /tmp/ b o o t d i s k / boot / grub cp... /tmp/ b o o t d i s k / boot / grub umount /tmp/ b o o t d i s k r m d i r /tmp/ b o o t d i s k grub grub> r o o t ( fd0 ) grub> s e t u p ( fd0 ) grub> q u i t Erstellen eines Boot-Mediums 13/21 2009-05-06

Boot-Medium (4) Problem bei Floppy: maximale Größe der Boot-Floppy: 1,44 MByte (eventuell: 2,88 MByte), Linux-Kern inzwischen > 1 MByte, Module >> 10 MByte, Shared-Library (glibc) braucht (gezippt) > 500 KByte. Erstellen eines Boot-Mediums 14/21 2009-05-06

Boot-Medium (5) Lösungsmöglichkeiten: minimaler Kern, statisch gebundene(s) Shell, Installationsprogramm,... Boot-Diskette + Extra-Diskette(n), kleinere libc: uclibc, dietlibc, klibc, Boot-Diskette mountet CD, oder gleich: bootbare CD. Erstellen eines Boot-Mediums 15/21 2009-05-06

Boot-CD El Torito Spezifikation eines besonderen Formats für CD-ROMs, muss vom BIOS unterstützt werden, BIOS bootet dann direkt von CD, drei Varianten: Festplatten-Image (Emulation von C:), Floppy-Image (Emulation von A:), Programmcode (keine Emulation). Erstellen eines Boot-Mediums 16/21 2009-05-06

Boot-CD (2) Nutzung von El Torito mit Emulation: Vorbereiten eines Boot-Floppy-Images, Vorbereiten des Daten-Tracks, Brennen des/der Images auf die CD, Booten vom emulierten Laufwerk A:, Init-Skript oder Installer mountet dann eigentlichen Daten-Track der CD. Platzproblem nicht wirklich gelöst! ohne Emulation: verwenden eines Bootloaders mit Bootcode: isolinux, GRUB (i.w. derselbe Code wie isolinux). Erstellen eines Boot-Mediums 17/21 2009-05-06

Boot-CD (3) isolinux Aus der syslinux-familie (außerdem: pxelinux, extlinux), liefert den Bootcode, der vom BIOS geladen und ausgeführt wird (isolinux.bin), unterstützt das ISO9660-Dateisystem kann Konfigurationsdateien, Kernel und initrd von CD nachladen, bietet Boot-Menüs (isolinux.cfg), liefert einige Erweiterungsmodule sowie eine API für eigene Module ( COMBOOT ) mit. Erstellen eines Boot-Mediums 18/21 2009-05-06

Boot-CD (3) Beispiel: isolinux.cfg DEFAULT /install/linpci APPEND root=/dev/ram ro initrd=idepci.bin ramdisk_size=16384 LABEL linux kernel /install/linpci LABEL bf24 kernel /install/lin24 append root=/dev/ram ro initrd=bf24.bin ramdisk_size=16384 DISPLAY isolinux.txt TIMEOUT 0 PROMPT 1 F1 f1.txt F2 f2.txt Erstellen eines Boot-Mediums 19/21 2009-05-06

Boot-CD (4) Beispiel: Bau einer Boot-CD mit isolinux mkdir p /tmp/ i s o / i s o l i n u x cp... / i s o l i n u x. b i n /tmp/ i s o / i s o l i n u x cp... /tmp/ i s o /... v i /tmp/ i s o / i s o l i n u x / i s o l i n u x. c f g m k i s o f s o image. i s o \ b i s o l i n u x / i s o l i n u x. b i n c i s o l i n u x / boot. cat \ no emul boot boot load s i z e 4 \ boot i n f o t a b l e \ /tmp/ i s o rm Rf /tmp/ i s o Nun kann image.iso mit einem beliebigen Brennprogramm auf CD gebrannt werden. Erstellen eines Boot-Mediums 20/21 2009-05-06

Boot-CD (5) Beispiel: Bau einer Boot-CD mit GRUB Völlig analog zur isolinux-methode. mkdir p /tmp/ i s o / boot / grub cp... / s t a g e 2 _ e l t o r i t o /tmp/ i s o / boot / grub cp... /tmp/ i s o /... g e n i s o i m a g e R b boot / grub / s t a g e 2 _ e l t o r i t o \ no emul boot boot load s i z e 4 \ boot i n f o t a b l e o grub. i s o /tmp/ i s o rm Rf /tmp/ i s o Erstellen eines Boot-Mediums 21/21 2009-05-06