Difference between pages "VagrantUp" and "Install/de/Partitioning"

(Difference between pages)
(Quick Start)
 
 
Line 1: Line 1:
= Funtoo Virtual Machine Quickstart =
+
<noinclude>
 +
{{InstallPart|the process of partitioning and filesystem creation}}
 +
</noinclude>
 +
===Vorbereiten der Festplatte ===
  
== Intro ==
+
Diese Sektion handelt über die verschiedenen Möglichkeiten Funtoo Linux auf einer Festplatte zu installieren und zu booten.
  
As an alternative to the [[Funtoo Linux Installation]], you can get started quickly with Funtoo as a virtual machine.  An open source tool called [https://github.com/jedi4ever/veewee VeeWee] automates the creation of [http://www.virtualbox.org/ VirtualBox] virtual machines just like Funtoo's [[Metro]] creates the latest stage3 tarballs of a Linux machine.  So in effect, a virtual machine can be created from source using all open source tools and run in an open source Virtual Machine Manager (VMM).  Once created, the VeeWee virtual machines can be automated with another open source tool [http://vagrantup.com/ Vagrant], which can create/start/stop/delete machines as you wish.  Once you have all the tools setup its really quite addictive experimenting with different configurations and setups in a very time efficient manner.
+
==== Einleitung ====
  
The Funtoo project will be experimenting with virtual machines as a delivery mechanism to users.
+
Früher gab es nur eine Variante einen PC zu booten, alle Desktop- und Servercomputer hatten einen voreingestellten PC  BIOS, alle Festplatten nutzten den Master Boot Record (MBR) um das System zu booten und unsere Festplatten waren  mit dem MBR Partitionsschema in verschiedene Regionen partitioniert. Das war einfach wie's gemacht wurde. Und uns gefiel es!
  
== Quick Start ==
+
Dann kamen EFI und UEFI, neue firmware designt das System zu booten, gemeinsam mit GTP Partitionstabellen um Partitionen auf Festplatten größer als 2.2TB zu definieren.
 +
Plötzlich haben wir eine breite Wahl von Optionen, Linux Systeme zu installieren und zu booten. Damit haben wir nun eine komplexere Situation als damals.
  
You will need to install VirtualBox, Ruby and Gems to get goingRecommend considering [http://beginrescueend.com/rvm/install/ Ruby Version Manager] instead of portage which will install all your Ruby needs into <tt>/opt/local/rvm</tt> or your home directory depending on if you are running as root or as a regular user. We will be posting machines on the Funtoo mirrors. Pick a virtual machine off a nearby mirror. The virtual machines are created from upstream [http://ftp.osuosl.org/pub/funtoo/funtoo-current/vagrant/x86-64bit/ current] and [http://ftp.osuosl.org/pub/funtoo/funtoo-stable/vagrant stable] 64 bit stage 3 tarballs. Put the URL of the machine (file ending in the '''.box''' extension) that you would like to experiment with into these easy commands.
+
Nehmen wir einen Moment um die verfügbaren Optionen, zur Konfiguration der Festplatte um Linux zu booten, zu besprechen.
 +
Diese Installationsanleitung nutzt und empfiehlt die old-school Methode des BIOS bootens mit hilfe des MBR. Es funktioniert und (außer in seltenen Fällen) ist universal unterstützt.
 +
Mit dieser Methode ist nichts falsch, solange deine Systemfestplatte nur bis zu 2TB groß ist. Solange wird diese Methode die volle Kapazität deiner Festplatte nutzen.
 +
 
 +
Es gibt aber einige Situationen, in denen diese old-school Methode nicht optimal ist. Falls du eine Systemfestplatte >2TB hast, dann erlauben dir MBR Partitionen keinen Zugang zum gesamten Speicher.
 +
Das ist also ein Grund gegen diese Methode. Ein Weiterer ist, dass es "PC" Systeme gibt, welche das booten via BIOS nicht mehr unterstützen und dich zwingen via UEFI zu booten.
 +
Aus Mitleid für die PC-Nutzer, die in diese Zwickmühle geraten, decken wir das Booten via UEFI zusätzlich in dieser Installationsanleitung ab .
 +
 
 +
Unsere empfehlung ist immer noch die old-school Methode, es seiden du hast Gründe dagegen.
 +
Der Bootloader, den wir nutzen um den Linux Kernel zu laden, heißt GRUB. Also nennen wir die Methode '''BIOS + GRUB(MBR) ''' Methode.
 +
Es ist die traditionelle Methode um ein Linux System bootbar zu machen.
 +
 
 +
Falls du via UEFI booten willst, empfehlen wir dir nicht den MBR zum booten zu nutzen, was nur manche Systeme unterstützen, sondern wir empfehlen UEFI zu nutzen um GRUB zu laden.
 +
GRUB wird dann das Linux System booten. Wir referenzieren zu dieser Methode mit '''UEFI + GRUB (GPT)'''.
 +
 
 +
Und ja, es gibt noch weitere Methoden, von denen einige auf der [[Boot Methods]] Seite dokumentiert sind.
 +
Unsere Empfehlung war immer die  '''BIOS + GRUB (GPT)'' Methode, welche allerdings nun nicht mehr konsistent und hardwareübergreifend unterstützt wird.
 +
 
 +
'''Die größte Frage ist immer -- Welche Bootmethode sollst du nutzen?''' Hier ist mein Gedankengang.
 +
 
 +
;Grundsatz 1 - Old School: Falls du verlässlich via System Rescue CD booten kannst und dir ein leicht blaues Menü angezeigt wird, dann bootet die CD via BIOS und es ist sehr wahrscheinlich, das du auch Funtoo Linux via BIOS booten kannst. Also gehe old-school und nutze diese Methode, es sei denn du hast Gründe via UEFI zu booten. Zum Beispiel eine Systemfestplatte >2.2TB  In diesem Fall beachte Grundsatz 2, wenn dein System UEFI unterstützt.
 +
 
 +
;Grundsatz 2 - New School: Falls du verlässlich via System Rescue CD booten kannst und dir ein schwarz und weißes Menü, --Glückwunsch, dein System ist konfiguriert UEFI zu unterstützen. Das bedeutet das du bereit bist Funtoo Linux einzurichten um via UEFI zu booten. Dein System könnte immer noch das Booten übers BIOS unterstützen, aber versuch es einfach mal mit UEFI als erstes. Du kannst in deiner BIOS Konfiguration herum stochern und damit spielen.
 +
 
 +
;Was ist der große Unterschied zwischen Old School und New School?: Hier ist der Deal. Falls du mit old-school MBR Partitionen gehst, deine <code>/boot</code> Partition wird ein ext2 Dateisystem haben, und du wirst <code>fdisk</code>nutzen um MBR Partitionen zu erstellen. Fallse du mit new-school GPT Partitionen und booten via UEFI gehst, wird deine <code>/boot</code> Partition ein  vfat Dateisystem haben, da UEFI dies lesen kann,außerdem wirst du <code>gdisk</code> nutzen um GPT Partitionen zu erstellen. Und du wirst GRUB ein wenig anders installieren. Das ist alles was es zu wissen gibt, für den Fall das du neugierig warst.
 +
 
 +
;Notiere auch: Um Funtoo Linux via new-school UEFI Methode bootbar zu machen ist es notwendig, dass die System Rescue CD via UEFI gebooted wurde -- und du den ursprünglichen schwarz und weißen Bildschirm siehst. Ansonsten wird UEFI nicht aktiv sein und du wirst nicht in der Lage sein Funtoo Linux korrekt zu installieren.
 +
 
 +
{{Note|'''Einige Motherboards unterstützen UEFI nicht richtig.''' Informiere dich. Zum Beispiel, das Award BIOS in meinem Gigabyte GA-990FXA-UD7 rev 1.1 hat eine Option das Booten via UEFI für CD/DVD zu aktivieren. '''Das ist aber nicht ausreichend um UEFI für Festplatten zu nutzen und Funtoo Linux zu installieren.''' UEFI muss für entfernbare Datenträger und fixierte Datenträger unterstützt werden. (Damit du deine neue Funtoo Installation booten kannst) Tatsächlich haben die neueren Revisionen des Boards(rev 3.0) volle UEFI unterstützung. Das könnte der dritte Grundsatze sein -- kenne die Hardware. }}
 +
 
 +
==== Old-School (BIOS/MBR) Methode ====
 +
 
 +
{{Note|Falls du via System Rescue CD booten kannst und dir ein leicht blaues Menü angezeigt wird nutze diese Methode. Falls du die new-school Methode nutzen wirst, [[#New-School (UEFI/GPT) Methode|Klicke hier um direkt zu UEFI/GPT zu springen.]]}}
 +
 
 +
===== Vorbereitung  =====
 +
 
 +
Erstens, es ist ein gute Idee sicherzustellen, dass du die richtige Festplatte zum Partitionieren gefunden hast. Versuche es mit diesem Befehl und verifiziere, dass  <code>/dev/sda</code> die Festplatte zum Partitionieren ist:
  
 
<console>
 
<console>
# ##i## echo "app-emulation/virtualbox extensions" >> /etc/portage/package.use
+
# ##i##fdisk -l /dev/sda
# ##i## emerge vagrant
+
 
# ##i## modprobe vboxdrv; modprobe vboxnetadp; modprobe vboxnetflt
+
Disk /dev/sda: 640.1 GB, 640135028736 bytes, 1250263728 sectors
# ##i## vagrant box add funtoo http://ftp.osuosl.org/pub/funtoo/funtoo-current/vagrant/x86-64bit/vagrant-generic_64-funtoo-current-2012-01-26.box
+
Units = sectors of 1 * 512 = 512 bytes
# ##i## vagrant init
+
Sector size (logical/physical): 512 bytes / 512 bytes
# ##i## vagrant up
+
I/O size (minimum/optimal): 512 bytes / 512 bytes
# ##i## vagrant ssh
+
Disk label type: gpt
# ##i## sudo su -
+
 
 +
 
 +
#         Start          End    Size  Type            Name
 +
1        2048  1250263694  596.2G  Linux filesyste Linux filesystem
 
</console>
 
</console>
  
== DevOps ToolChain ==
+
Nun, ist es empfohlen, das du alle existierende MBR oder GTP Partitionstabellen auf der Festplatte, welche das System beim Booten verwirren könnten löschst. Wir machen dies mit <code>sgdisk</code>:
 +
{{fancywarning|Dies wird deine existierende Partitionen unerreichbar machen! Du bist "stark" gewarnt und  geraten alle wichtigen/kritischen Daten vorher zu sichern.}}
  
The amount of tools needed is a bit large so a quick summary is given below.  The first few are required to get started, but you quickly end up looking at Puppet, Chef and other tools if the number of VMs get large.  Puppet and Chef aren't needed to get started, but are listed because VeeWee generated virtual machines normally have them preinstalled to push applications into freshly created virtual machines.  The [http://groups.google.com/group/devops-toolchain DevOps ToolChain email list] is a good place to get ideas on distributed systems processes, automation and tooling as the toolchain implementation can get quites complicated depending on your goals.
+
<console>
 +
# ##i##sgdisk --zap-all /dev/sda
  
* [[Metro]] Tool used to build from source just enough Linux to create a Linux Funtoo OS
+
Creating new GPT entries.
 +
GPT data structures destroyed! You may now partition the disk using fdisk or
 +
other utilities.
 +
</console>
  
* [http://www.virtualbox.org/ VirtualBox] An open source Virtual Machine Manager (VMM) developed by Sun/Oracle which has several open source DevOps tools created around it for distributed Virtual Machine (VM) automation.
+
Diese Ausgabe ist nichts beängstigendes, da der Befehl trotzdem erfolgreich war:
  
* [http://github.com/jedi4ever/veewee VeeWee] Tool used to automate the booting and execution of installation CDROM/ISO images.  No need to watch Anaconda run to create Fedora boxes!  VeeWee, while a separate project, is a subcommand of Vagrant.  The Funtoo creation is currently merged into the [https://github.com/jedi4ever/veewee/tree/master/templates/funtoo-latest-generic_64-stable VeeWee codebase], but not currently in a released GEM. (Remark: Niklaus Giger had some problems with the templates and developed some [https://github.com/jedi4ever/veewee/pull/621 fixes])
+
<console>
 +
***************************************************************
 +
Found invalid GPT and valid MBR; converting MBR to GPT format
 +
in memory.  
 +
***************************************************************
 +
</console>
  
* [http://vagrantup.com/ Vagrant] A tool which automated create/start/stop/delete operations of VirtualBox VMs.  VeeWee is needed for creating custom machine types, but there are lots of [http://vagrantbox.es/ pre-created machine types] in existence including Gentoo.  The Funtoo VeeWee scripts were derived from the Gentoo scripts.
+
===== Partitionierung =====
  
* [http://puppetlabs.com/puppet/ Puppet] is one of two distributed configuration management tools that are pre-installed by convention on VeeWee generated virtual machines. There are enterprise and open source versions of [http://puppetlabs.com/puppet/compare/ Puppet].  Your Funtoo VirtualBox will have the open source Puppet installed by the [http://beginrescueend.com/rvm/install/ Ruby Version Manager] (not portage) as Gems and Portage fight each other (like CPAN and portage) and its best for now to keep these things separated.  The open source version of Puppet is typically distributed as a [http://rubygems.org/gems/puppet Ruby Gem].
+
Nun werden wir <code>fdisk</code> nutzen um die MBR Partitionstabelle und die Partitionen zu erstellen:
  
* [http://www.opscode.com/chef/ Chef] is the second distributed configuration management tool that is pre-installed by convention on a VeeWee generated Funtoo virtual machine.  Chef also has open source and enterprise versions.  Your Funtoo VirtualBox will have the open source Chef installed by the [http://beginrescueend.com/rvm/install/ Ruby Version Manager] (not portage) as Ruby and Portage fight eachother and its best for now to keep these things separated.  The open source Chef is typically distributed as a [http://rubygems.org/gems/chef Ruby Gem].
+
<console>
 +
# ##i##fdisk /dev/sda
 +
</console>
  
== Security ==
+
Innerhalb <code>fdisk</code>, folge diesen Schritten:
  
The virtual machine is shipped built ready to script, but also wide open for attack.  The root and vagrant account's password is '''vagrant''' and the vagrant account has sudo access.  Also, there is a private key in the vagrant account that is well known.  So don't put these boxes on the net without seriously hardening the machine's security or you will just be adding to the internet bot net problems.
+
'''Leere die Partitionstabelle''':
  
== VM ideas ==
+
<console>
 +
Command (m for help): ##i##o ↵
 +
</console>
  
While the virtual machine was created with veewee for VirtualBox, there is no reason to restrict yourself to the VirtualBox virtual machine manager.  The ".box" file is a simple tarball.  In the tarball is a "box-disk1.vmdk" file which is a virtual machine disk image that is useable to the VirtualBox VMM.  Untaring the disk image into another VMM's virtual machine is certainly a doable thing.
+
'''Erstelle Partition 1''' (boot):
  
Also, the vagrant and veewee upstream developers are looking into rewriting their code to work with other VMM implementions.
+
<console>
 +
Command (m for help): ##i##n ↵
 +
Partition type (default p): ##i##↵
 +
Partition number (1-4, default 1): ##i##↵
 +
First sector: ##i##↵
 +
Last sector: ##i##+128M ↵
 +
</console>
  
[[Category:DevOps]]
+
'''Erstelle Partition 2''' (swap):
[[Category:Virtualization]]
+
 
 +
<console>
 +
Command (m for help): ##i##n ↵
 +
Partition type (default p): ##i##↵
 +
Partition number (2-4, default 2): ##i##↵
 +
First sector: ##i##↵
 +
Last sector: ##i##+2G ↵
 +
Command (m for help): ##i##t ↵
 +
Partition number (1,2, default 2): ##i## ↵
 +
Hex code (type L to list all codes): ##i##82 ↵
 +
</console>
 +
 
 +
'''Erstelle root Partition:'''
 +
 
 +
<console>
 +
Command (m for help): ##i##n ↵
 +
Partition type (default p): ##i##↵
 +
Partition number (3,4, default 3): ##i##↵
 +
First sector: ##i##↵
 +
Last sector: ##i##↵
 +
</console>
 +
 
 +
'''Verifiziere die Partitionstabelle:'''
 +
 
 +
<console>
 +
Command (m for help): ##i##p
 +
 
 +
Disk /dev/sda: 298.1 GiB, 320072933376 bytes, 625142448 sectors
 +
Units: sectors of 1 * 512 = 512 bytes
 +
Sector size (logical/physical): 512 bytes / 512 bytes
 +
I/O size (minimum/optimal): 512 bytes / 512 bytes
 +
Disklabel type: dos
 +
Disk identifier: 0x82abc9a6
 +
 
 +
Device    Boot    Start      End    Blocks  Id System
 +
/dev/sda1          2048    264191    131072  83 Linux
 +
/dev/sda2        264192  4458495  2097152  82 Linux swap / Solaris
 +
/dev/sda3        4458496 625142447 310341976  83 Linux
 +
</console>
 +
 
 +
'''Schreibe die Partitionstabelle auf die Festplatte:'''
 +
 
 +
<console>
 +
Command (m for help): ##i##w
 +
</console>
 +
 
 +
Deine neue MBR Partitionstabelle wird nun auf die Systemfestplatte geschrieben.
 +
 
 +
{{Note|Du bist noch nicht fertig mit der Partitionierung! Jetzt, springe zu [[#Creating filesystems|Creating filesystems]].}}
 +
 
 +
==== New-School (UEFI/GPT) Methode ====
 +
 
 +
{{Note|Falls du verlässlich via System Rescue CD booten kannst und dir ein schwarz und weißes Menü angezeigt wurde, verwende diese Methode. Ansonsten diese Methode wird nicht funktionieren!}}
 +
 
 +
Die <tt>gdisk</tt>Befehle um GTP Partitionstabellen zu erstellen lauten wie folgt. Passe die Große jeweils an, falls notwendig, diese Voreinstellungen werden für die meisten Nutzer funktionieren.Beginne <code>gdisk</code>:
 +
 
 +
<console>
 +
# ##i##gdisk /dev/sda
 +
</console>
 +
 
 +
Innerhalb <tt>gdisk</tt>, folge diesen Schritten:
 +
 
 +
'''Erstelle eine neue leere Partitionstabelle''' (Dies wird alle Daten löschen!):
 +
 
 +
<console>
 +
Command: ##i##o ↵
 +
This option deletes all partitions and creates a new protective MBR.
 +
Proceed? (Y/N): ##i##y ↵
 +
</console>
 +
 
 +
'''Erstelle Partition 1''' (boot):
 +
 
 +
<console>
 +
Command: ##i##n ↵
 +
Partition Number: ##i##1 ↵
 +
First sector: ##i##↵
 +
Last sector: ##i##+500M ↵
 +
Hex Code: ##i##↵
 +
</console>
 +
 
 +
''Erstelle Partition 2''' (swap):
 +
 
 +
<console>
 +
Command: ##i##n ↵
 +
Partition Number: ##i##2 ↵
 +
First sector: ##i##↵
 +
Last sector: ##i##+4G ↵
 +
Hex Code: ##i##8200 ↵
 +
</console>
 +
 
 +
'''Erstelle Partition 3''' (root):
 +
 
 +
<console>
 +
Command: ##i##n ↵
 +
Partition Number: ##i##3 ↵
 +
First sector: ##i##↵
 +
Last sector: ##i##↵##!i## (for rest of disk)
 +
Hex Code: ##i##↵
 +
</console>
 +
 
 +
Während des Prozesses kannst du mit "<tt>p</tt>" und Enter die aktuelle Partitionstabelle anschauen. Falls du einen Fehler machst "<tt>d</tt>" eine existierende Partition löschen.
 +
Wenn du fertig bist mit deiner Partitionierung kannst du mit "<tt>w</tt>" die Konfiguration auf die Festplatte schreiben lassen.
 +
 
 +
'''Schreibe Partitionstabelle auf die Festplatte''':
 +
 
 +
<console>
 +
Command: ##i##w ↵
 +
Do you want to proceed? (Y/N): ##i##Y ↵
 +
</console>
 +
 
 +
Die Partitionstabelle wird nun auf die Festplatte geschrieben und <tt>gdisk</tt> wird beendet.
 +
 
 +
Nun, wurden deine GTP/GUID Partitionen erstellt und sie werden gezeigt wie folgt under ''block devices'' unter Linux:
 +
 
 +
 
 +
* <tt>/dev/sda1</tt>, wird für das <tt>/boot</tt> Dateisystem genutzt,
 +
* <tt>/dev/sda2</tt>, wird für den swap Speicher genutzt, und
 +
* <tt>/dev/sda3</tt>, wird für das root Dateisystem verwendet.
 +
 
 +
==== Erstelle Dateisysteme ====
 +
 
 +
{{Note|Dieser Abschnitt behandelt BIOS ''und'' UEFI Installationen. Nicht Überspringen!}}
 +
 
 +
Bevor du die neuen Partitionen nutzen kannst, müssen die Partitionen mit Dateisystem ''metadata'' initialisiert werden.
 +
Dieser Prozess ist bekannt als "Erstellen des Dateisystems".
 +
Nachdem die Dateisysteme erstellt wurden kann die Festplatte eingebunden werden und Daten speichern.
 +
 
 +
Lass es uns simple halten. Nutzt du old-school MBR Partitionen? Falls ja, erstellen wir ein ext2 Dateisystem unter /dev/sda1:
 +
 
 +
<console>
 +
# ##i##mkfs.ext2 /dev/sda1
 +
</console>
 +
 
 +
Falls du new-school GPT Partitionen für UEFI nutzt, erstellst du ein vfat Dateisystem unter /dev/sda1, da UEFI dieses lesen kann:
 +
 
 +
 
 +
<console>
 +
# ##i##mkfs.vfat -F 32 /dev/sda1
 +
</console>
 +
 
 +
Nun, lass uns eine swap Partition erstellen. Die Partition wird genutzt als Überlauf (virtueller Zwischenspeicher) , wenn dein RAM ausgelastet ist oder wenn du dein System in den Ruhezustand versetzen willst.
 +
 
 +
Du wirst kein Dateisystem auf der swap Partition erstellen, denn swap wird nicht zum Speichern von Datein genutzt, aber es ist notwendig eine swap Partition zu initialisieren via dem  <code>mkswap</code> Befehl. Dann werden wir den Befehl <code>swapon</code> ausführen, damit ist die swap Partition sofort aktiv innerhalb deiner aktuellem (live CD) Umgebung.
 +
Für den Fall das der swap im späterem Installationsprozess benötigt wird:
 +
<console>
 +
# ##i##mkswap /dev/sda2
 +
# ##i##swapon /dev/sda2
 +
</console>
 +
 
 +
Nun, müssen wir das root Dateisystem erstellen. Dort wird das Wurzelverzeichnis von Funtoo Linux leben.
 +
Wir empfehlen im allgemeinen ext4 oder XFS als root Dateisystem. Bist du nicht sicher wähle ext4.
 +
Hier steht wie man ein ext4 root Dateisystem erstellt:
 +
 
 +
<console>
 +
# ##i##mkfs.ext4 /dev/sda3
 +
</console>
 +
 
 +
...und hier steht wie du ein XFS root Dateisystem erstellen kannst, falls du XFS wählst:
 +
 
 +
<console>
 +
# ##i##mkfs.xfs /dev/sda3
 +
</console>
 +
 
 +
Deine Dateisysteme (und swap) wurden nun initialisiert, so dass sie nun eingehängt werden können (angehängt an deine existierende Verzeichnisstruktur) und zum Speichern genutzt werden können. Jetzt sind wir fertig um mit der Funtoo Linux Installation zu beginnen, auf unseren brand neuen Dateisystemen.
 +
 
 +
{{fancywarning|1=
 +
Wenn du mit einen OpenVZ Host arbeitest, nutze bitte nur ext4. Das Parallels Entwicklerteam testet ausschließlich mit ext4 und moderne Versionen des  <code>openvz-rhel6-stable</code> sind '''nicht''' kompatible mit XFS. Es könnten Kernel Bugs auftreten.
 +
}}
 +
 
 +
==== Einhängen der Dateisystemen ====
 +
Hänge die neuen Dateisysteme wie folgt ein, erstelle <code>/mnt/funtoo</code> als Einhängepunkt zur Installation:
 +
 
 +
<console>
 +
# ##i##mkdir /mnt/funtoo
 +
# ##i##mount /dev/sda3 /mnt/funtoo
 +
# ##i##mkdir /mnt/funtoo/boot
 +
# ##i##mount /dev/sda1 /mnt/funtoo/boot
 +
</console>
 +
Optional, falls du  separate Dateisysteme für  <code>/home</code> oder alle andere erstellt hast:
 +
 
 +
<console>
 +
# ##i##mkdir /mnt/funtoo/home
 +
# ##i##mount /dev/sda4 /mnt/funtoo/home
 +
</console>
 +
 
 +
Falls du eine separate Partition für <code>/tmp</code> oder <code>/var/tmp</code> auf einem anderem Dateisystem hast, stelle sicher, dass die Zugriffsrechte des  Einhängepunkt stimmen und er global beschreibbar ist, wie folgt:
 +
 
 +
<console>
 +
# ##i##chmod 1777 /mnt/funtoo/tmp
 +
</console>

Revision as of 19:23, January 27, 2015


Note

This is a template that is used as part of the Installation instructions which covers: the process of partitioning and filesystem creation. Templates are being used to allow multiple variant install guides that use most of the same re-usable parts.


Vorbereiten der Festplatte

Diese Sektion handelt über die verschiedenen Möglichkeiten Funtoo Linux auf einer Festplatte zu installieren und zu booten.

Einleitung

Früher gab es nur eine Variante einen PC zu booten, alle Desktop- und Servercomputer hatten einen voreingestellten PC BIOS, alle Festplatten nutzten den Master Boot Record (MBR) um das System zu booten und unsere Festplatten waren mit dem MBR Partitionsschema in verschiedene Regionen partitioniert. Das war einfach wie's gemacht wurde. Und uns gefiel es!

Dann kamen EFI und UEFI, neue firmware designt das System zu booten, gemeinsam mit GTP Partitionstabellen um Partitionen auf Festplatten größer als 2.2TB zu definieren. Plötzlich haben wir eine breite Wahl von Optionen, Linux Systeme zu installieren und zu booten. Damit haben wir nun eine komplexere Situation als damals.

Nehmen wir einen Moment um die verfügbaren Optionen, zur Konfiguration der Festplatte um Linux zu booten, zu besprechen. Diese Installationsanleitung nutzt und empfiehlt die old-school Methode des BIOS bootens mit hilfe des MBR. Es funktioniert und (außer in seltenen Fällen) ist universal unterstützt. Mit dieser Methode ist nichts falsch, solange deine Systemfestplatte nur bis zu 2TB groß ist. Solange wird diese Methode die volle Kapazität deiner Festplatte nutzen.

Es gibt aber einige Situationen, in denen diese old-school Methode nicht optimal ist. Falls du eine Systemfestplatte >2TB hast, dann erlauben dir MBR Partitionen keinen Zugang zum gesamten Speicher. Das ist also ein Grund gegen diese Methode. Ein Weiterer ist, dass es "PC" Systeme gibt, welche das booten via BIOS nicht mehr unterstützen und dich zwingen via UEFI zu booten. Aus Mitleid für die PC-Nutzer, die in diese Zwickmühle geraten, decken wir das Booten via UEFI zusätzlich in dieser Installationsanleitung ab .

Unsere empfehlung ist immer noch die old-school Methode, es seiden du hast Gründe dagegen. Der Bootloader, den wir nutzen um den Linux Kernel zu laden, heißt GRUB. Also nennen wir die Methode BIOS + GRUB(MBR) Methode. Es ist die traditionelle Methode um ein Linux System bootbar zu machen.

Falls du via UEFI booten willst, empfehlen wir dir nicht den MBR zum booten zu nutzen, was nur manche Systeme unterstützen, sondern wir empfehlen UEFI zu nutzen um GRUB zu laden. GRUB wird dann das Linux System booten. Wir referenzieren zu dieser Methode mit UEFI + GRUB (GPT).

Und ja, es gibt noch weitere Methoden, von denen einige auf der Boot Methods Seite dokumentiert sind. Unsere Empfehlung war immer die 'BIOS + GRUB (GPT) Methode, welche allerdings nun nicht mehr konsistent und hardwareübergreifend unterstützt wird.

Die größte Frage ist immer -- Welche Bootmethode sollst du nutzen? Hier ist mein Gedankengang.

Grundsatz 1 - Old School
Falls du verlässlich via System Rescue CD booten kannst und dir ein leicht blaues Menü angezeigt wird, dann bootet die CD via BIOS und es ist sehr wahrscheinlich, das du auch Funtoo Linux via BIOS booten kannst. Also gehe old-school und nutze diese Methode, es sei denn du hast Gründe via UEFI zu booten. Zum Beispiel eine Systemfestplatte >2.2TB In diesem Fall beachte Grundsatz 2, wenn dein System UEFI unterstützt.
Grundsatz 2 - New School
Falls du verlässlich via System Rescue CD booten kannst und dir ein schwarz und weißes Menü, --Glückwunsch, dein System ist konfiguriert UEFI zu unterstützen. Das bedeutet das du bereit bist Funtoo Linux einzurichten um via UEFI zu booten. Dein System könnte immer noch das Booten übers BIOS unterstützen, aber versuch es einfach mal mit UEFI als erstes. Du kannst in deiner BIOS Konfiguration herum stochern und damit spielen.
Was ist der große Unterschied zwischen Old School und New School?
Hier ist der Deal. Falls du mit old-school MBR Partitionen gehst, deine /boot Partition wird ein ext2 Dateisystem haben, und du wirst fdisknutzen um MBR Partitionen zu erstellen. Fallse du mit new-school GPT Partitionen und booten via UEFI gehst, wird deine /boot Partition ein vfat Dateisystem haben, da UEFI dies lesen kann,außerdem wirst du gdisk nutzen um GPT Partitionen zu erstellen. Und du wirst GRUB ein wenig anders installieren. Das ist alles was es zu wissen gibt, für den Fall das du neugierig warst.
Notiere auch
Um Funtoo Linux via new-school UEFI Methode bootbar zu machen ist es notwendig, dass die System Rescue CD via UEFI gebooted wurde -- und du den ursprünglichen schwarz und weißen Bildschirm siehst. Ansonsten wird UEFI nicht aktiv sein und du wirst nicht in der Lage sein Funtoo Linux korrekt zu installieren.
Note

Einige Motherboards unterstützen UEFI nicht richtig. Informiere dich. Zum Beispiel, das Award BIOS in meinem Gigabyte GA-990FXA-UD7 rev 1.1 hat eine Option das Booten via UEFI für CD/DVD zu aktivieren. Das ist aber nicht ausreichend um UEFI für Festplatten zu nutzen und Funtoo Linux zu installieren. UEFI muss für entfernbare Datenträger und fixierte Datenträger unterstützt werden. (Damit du deine neue Funtoo Installation booten kannst) Tatsächlich haben die neueren Revisionen des Boards(rev 3.0) volle UEFI unterstützung. Das könnte der dritte Grundsatze sein -- kenne die Hardware.

Old-School (BIOS/MBR) Methode

Note

Falls du via System Rescue CD booten kannst und dir ein leicht blaues Menü angezeigt wird nutze diese Methode. Falls du die new-school Methode nutzen wirst, Klicke hier um direkt zu UEFI/GPT zu springen.

Vorbereitung

Erstens, es ist ein gute Idee sicherzustellen, dass du die richtige Festplatte zum Partitionieren gefunden hast. Versuche es mit diesem Befehl und verifiziere, dass /dev/sda die Festplatte zum Partitionieren ist:

# fdisk -l /dev/sda

Disk /dev/sda: 640.1 GB, 640135028736 bytes, 1250263728 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk label type: gpt


#         Start          End    Size  Type            Name
 1         2048   1250263694  596.2G  Linux filesyste Linux filesystem

Nun, ist es empfohlen, das du alle existierende MBR oder GTP Partitionstabellen auf der Festplatte, welche das System beim Booten verwirren könnten löschst. Wir machen dies mit sgdisk:

Warning

Dies wird deine existierende Partitionen unerreichbar machen! Du bist "stark" gewarnt und geraten alle wichtigen/kritischen Daten vorher zu sichern.

# sgdisk --zap-all /dev/sda

Creating new GPT entries.
GPT data structures destroyed! You may now partition the disk using fdisk or
other utilities.

Diese Ausgabe ist nichts beängstigendes, da der Befehl trotzdem erfolgreich war:

***************************************************************
Found invalid GPT and valid MBR; converting MBR to GPT format
in memory. 
***************************************************************
Partitionierung

Nun werden wir fdisk nutzen um die MBR Partitionstabelle und die Partitionen zu erstellen:

# fdisk /dev/sda

Innerhalb fdisk, folge diesen Schritten:

Leere die Partitionstabelle:

Command (m for help): o ↵

Erstelle Partition 1 (boot):

Command (m for help): n ↵
Partition type (default p): 
Partition number (1-4, default 1): 
First sector: 
Last sector: +128M ↵

Erstelle Partition 2 (swap):

Command (m for help): n ↵
Partition type (default p): 
Partition number (2-4, default 2): 
First sector: 
Last sector: +2G ↵
Command (m for help): t ↵ 
Partition number (1,2, default 2): 
Hex code (type L to list all codes): 82 ↵

Erstelle root Partition:

Command (m for help): n ↵
Partition type (default p): 
Partition number (3,4, default 3): 
First sector: 
Last sector: 

Verifiziere die Partitionstabelle:

Command (m for help): p

Disk /dev/sda: 298.1 GiB, 320072933376 bytes, 625142448 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0x82abc9a6

Device    Boot     Start       End    Blocks  Id System
/dev/sda1           2048    264191    131072  83 Linux
/dev/sda2         264192   4458495   2097152  82 Linux swap / Solaris
/dev/sda3        4458496 625142447 310341976  83 Linux

Schreibe die Partitionstabelle auf die Festplatte:

Command (m for help): w

Deine neue MBR Partitionstabelle wird nun auf die Systemfestplatte geschrieben.

Note

Du bist noch nicht fertig mit der Partitionierung! Jetzt, springe zu Creating filesystems.

New-School (UEFI/GPT) Methode

Note

Falls du verlässlich via System Rescue CD booten kannst und dir ein schwarz und weißes Menü angezeigt wurde, verwende diese Methode. Ansonsten diese Methode wird nicht funktionieren!

Die gdiskBefehle um GTP Partitionstabellen zu erstellen lauten wie folgt. Passe die Große jeweils an, falls notwendig, diese Voreinstellungen werden für die meisten Nutzer funktionieren.Beginne gdisk:

# gdisk /dev/sda

Innerhalb gdisk, folge diesen Schritten:

Erstelle eine neue leere Partitionstabelle (Dies wird alle Daten löschen!):

Command: o ↵
This option deletes all partitions and creates a new protective MBR.
Proceed? (Y/N): y ↵

Erstelle Partition 1 (boot):

Command: n ↵
Partition Number: 1 ↵
First sector: 
Last sector: +500M ↵
Hex Code: 

Erstelle Partition 2' (swap):

Command: n ↵
Partition Number: 2 ↵
First sector: 
Last sector: +4G ↵
Hex Code: 8200 ↵

Erstelle Partition 3 (root):

Command: n ↵
Partition Number: 3 ↵
First sector: 
Last sector:  (for rest of disk)
Hex Code: 

Während des Prozesses kannst du mit "p" und Enter die aktuelle Partitionstabelle anschauen. Falls du einen Fehler machst "d" eine existierende Partition löschen. Wenn du fertig bist mit deiner Partitionierung kannst du mit "w" die Konfiguration auf die Festplatte schreiben lassen.

Schreibe Partitionstabelle auf die Festplatte:

Command: w ↵
Do you want to proceed? (Y/N): Y ↵

Die Partitionstabelle wird nun auf die Festplatte geschrieben und gdisk wird beendet.

Nun, wurden deine GTP/GUID Partitionen erstellt und sie werden gezeigt wie folgt under block devices unter Linux:


  • /dev/sda1, wird für das /boot Dateisystem genutzt,
  • /dev/sda2, wird für den swap Speicher genutzt, und
  • /dev/sda3, wird für das root Dateisystem verwendet.

Erstelle Dateisysteme

Note

Dieser Abschnitt behandelt BIOS und UEFI Installationen. Nicht Überspringen!

Bevor du die neuen Partitionen nutzen kannst, müssen die Partitionen mit Dateisystem metadata initialisiert werden. Dieser Prozess ist bekannt als "Erstellen des Dateisystems". Nachdem die Dateisysteme erstellt wurden kann die Festplatte eingebunden werden und Daten speichern.

Lass es uns simple halten. Nutzt du old-school MBR Partitionen? Falls ja, erstellen wir ein ext2 Dateisystem unter /dev/sda1:

# mkfs.ext2 /dev/sda1

Falls du new-school GPT Partitionen für UEFI nutzt, erstellst du ein vfat Dateisystem unter /dev/sda1, da UEFI dieses lesen kann:


# mkfs.vfat -F 32 /dev/sda1

Nun, lass uns eine swap Partition erstellen. Die Partition wird genutzt als Überlauf (virtueller Zwischenspeicher) , wenn dein RAM ausgelastet ist oder wenn du dein System in den Ruhezustand versetzen willst.

Du wirst kein Dateisystem auf der swap Partition erstellen, denn swap wird nicht zum Speichern von Datein genutzt, aber es ist notwendig eine swap Partition zu initialisieren via dem mkswap Befehl. Dann werden wir den Befehl swapon ausführen, damit ist die swap Partition sofort aktiv innerhalb deiner aktuellem (live CD) Umgebung. Für den Fall das der swap im späterem Installationsprozess benötigt wird:

# mkswap /dev/sda2
# swapon /dev/sda2

Nun, müssen wir das root Dateisystem erstellen. Dort wird das Wurzelverzeichnis von Funtoo Linux leben. Wir empfehlen im allgemeinen ext4 oder XFS als root Dateisystem. Bist du nicht sicher wähle ext4. Hier steht wie man ein ext4 root Dateisystem erstellt:

# mkfs.ext4 /dev/sda3

...und hier steht wie du ein XFS root Dateisystem erstellen kannst, falls du XFS wählst:

# mkfs.xfs /dev/sda3

Deine Dateisysteme (und swap) wurden nun initialisiert, so dass sie nun eingehängt werden können (angehängt an deine existierende Verzeichnisstruktur) und zum Speichern genutzt werden können. Jetzt sind wir fertig um mit der Funtoo Linux Installation zu beginnen, auf unseren brand neuen Dateisystemen.

Warning

Wenn du mit einen OpenVZ Host arbeitest, nutze bitte nur ext4. Das Parallels Entwicklerteam testet ausschließlich mit ext4 und moderne Versionen des openvz-rhel6-stable sind nicht kompatible mit XFS. Es könnten Kernel Bugs auftreten.

Einhängen der Dateisystemen

Hänge die neuen Dateisysteme wie folgt ein, erstelle /mnt/funtoo als Einhängepunkt zur Installation:

# mkdir /mnt/funtoo
# mount /dev/sda3 /mnt/funtoo
# mkdir /mnt/funtoo/boot
# mount /dev/sda1 /mnt/funtoo/boot

Optional, falls du separate Dateisysteme für /home oder alle andere erstellt hast:

# mkdir /mnt/funtoo/home
# mount /dev/sda4 /mnt/funtoo/home

Falls du eine separate Partition für /tmp oder /var/tmp auf einem anderem Dateisystem hast, stelle sicher, dass die Zugriffsrechte des Einhängepunkt stimmen und er global beschreibbar ist, wie folgt:

# chmod 1777 /mnt/funtoo/tmp