• Diese Seite verwendet Cookies. Indem du diese Website weiterhin nutzt, erklärst du dich mit der Verwendung von Cookies einverstanden. Erfahre mehr

FreeBSD auf dem Desktop von einem Einsteiger, für Einsteiger/-innen

holgerw

Well-Known Member
Themenstarter #126
Hallo @evgenij
müsste mir das noch genauer anschauen, aber beim groben Drüberschauen ... bitte den zbiber bei

zfs set compression=lz4 zbiber/ROOT/default

raus nehmen :D

Und: Sollte nicht auch auf ada1 frebsd-boot und swap angelegt werden?

Vielleicht ist noch mehr zu modifizieren - ist erstmal ein Kommentar von mir auf die Schnelle, bin auf Arbeit.

Viele Grüße,
Holger
 
Muss man hier nicht unterschieden, ob man (U)EFI oder BIOS-Boot hat?
eigentlich ist das ganz einfach. Du brauchst:
  • eine UFS/ZFS Partition
  • eine freebsd-boot Partition

wenn du ein EFI System hast, zusätzlich noch eine

  • EFI-System Partition (FAT32)

in die du den ersten Teil des Bootloaders legst. Auf einem BIOS System brauchst du die nicht, da kommt der Teil in den MBR der Platte.
 

holgerw

Well-Known Member
Themenstarter #130
Es ist entweder 'freebsd-boot' (BIOS) oder 'efi' (UEFI).
Ich bin bisher davon ausgegangen, dass der EFI Loader analog zum BIOS Loader einfach nur die erste freebsd-boot Partition sucht, die er finden kann. Wenn ich so darüber nachdenke, macht das aber gar keinen Sinn, denn in einem EFI Environment kann man ja nicht einfach einen "legacy" BIOS Code ausführen. Danke für den Hinweis!
 

pit234a

Well-Known Member
Also, ich bin ja ein Fan von einer einzigen Partition und jedenfalls bin ich sehr sicher, dass ich mit MBR und UFS keine eigene Partition für /boot brauche.
Ob das sinnvoll ist, sei dahin gestellt. Es ist einfach mein Wunsch und bisher klappte das auch so.
Ob das damit zu tun hat, dass meine Platten nicht zu groß sind? Früher gab es doch da mal solche 1023 Zylinder Unverträglichkeiten.

Bei meiner derzeitigen Installation mit ZFS und GPT (MBR) habe ich auch keine eigene Partition für /boot genommen, aber diese Installation bootet auch nicht und ich traute mich nicht, was daran zu ändern. Wenn ich mich aber richtig entsinne, hatte ich zuvor zu Testzwecken eine ZFS-Installation auf einem USB-Stick durchgeführt, die zwar gar nicht gut lief, aber gebootet hatte und da benutzte ich auch nur eine einzige Partition.

Das würde mir auch so einleuchten. Die erste Partition, auf der ein /boot gefunden wird, wird gebootet.
Wenn das unter ZFS nicht so ist, habe ich wohl meinen Fehler gefunden.

Deshalb fragte ich das gezielt nochmal nach.
Muss man eine eigene Boot-Partition haben?
Nochmal: bei UFS von MBR sehe ich, dass es ohne diese eigene Partition geht.
Bei ZFS mit MBR würde ich erwarten, dass es ohne eigene Partition für /boot geht.

Bei UEFI braucht man eine eigene Efi-Partition, klar. Da dürfte es dann auch egal sein, ob ZFS oder UFS. Die Efi-Partition ist Fat32. Das habe ich verstanden, aber selbst noch nie (manuell) gemacht (nur bei Macs nachvollzogen).
 

Rakor

Administrator
Mitarbeiter
Hallo zusammen,

ich möchte auf meinem Hauptrechner (ada0 = 120GB SSD, ada1 = 120GB SSD, 32GB RAM) FreeBSD11 mit ZFS installieren und wollte euch fragen ob das was ich da vor habe auch richtig und sinnvoll ist:

gpart destroy -F ada0
gpart destroy -F ada1
gpart create -s gpt ada0
gpart create -s gpt ada1
gpart add -t freebsd-boot -l boot -a4k -s 512k ada0
gpart add -t freebsd-swap -l swap -s 4g ada0
gpart bootcode -b /boot/pmbr -p /boot/gptzfsboot -i 1 ada0
gpart bootcode -b /boot/pmbr -p /boot/gptzfsboot -i 1 ada1
gpart add -t freebsd-zfs -l ssd0 ada0
gpart add -t freebsd-zfs -l ssd1 ada1
zpool create -m /BIGTOWER BIGTOWER /dev/gpt/ssd0 /dev/gpt/ssd1
zpool add BIGTOWER ada1
zfs create -o mountpoint=none BIGTOWER/ROOT
zfs create -o mountpoint=/mnt BIGTOWER/ROOT/default
zfs set compression=lz4 zbiber/ROOT/default
zpool set bootfs=BIGTOWER/ROOT/default BIGTOWER
mkdir -p /mnt/boot/zfs


Da meine sensiblen Daten eh auf der NAS gespeichert werden, verzichte ich hierbei bewusst auf die Redundanz und versuche ein „Raid0“.
Ist das so richtig oder müssen boot & swap auch auf ada1 eingerichtet werden?

Danke und Gruß
Evgenij
Theoretisch brauchst du boot und swap nur einmal. Wenn du boot auf beiden hast, kannst du eben auch von beiden booten (was bei 2 Platten mit gleicher Bezeichnung im BIOS hilfreich sein kann). Bei swap ist der Vorteil, dass er eben auf beiden Platten arbeiten könnte und die Geometrie der Partitionen bleibt gleich.
Sprich: Du musst nicht, ich würde es der Einheitlichkeithalber machen.

Da ich im allgemeinen mit Raid1 (also Mirror) arbeite empfinde ich es als umso schöner wenn das Festplattenlayout identisch ist.

Was der "zpool add BIGTOWER ada1" soll ist mir nicht ganz klar. Den solltest du weg lassen, denn du hast du ada1 ja schon die Partition ssd1 hinzugefügt... Nochmal das komplette Device dazu zu packen ist nicht sinnvoll (sollte es überhaupt zugelassen werden).

Zu dem zbiber hat dir Holger schon was gesagt.

Dann ist mir auch nicht ganz klar wofür den Mountpoint /BIGTOWER für den Pool setzt.

Ich persönlich bin auch kein Freund von extrem vielen Partitionen auf Festplatten da man damit immer im Vorfeld etwas falsch plant. Im Falle von ZFS bin ich jedoch ein Freund von vielen (sinnvollen) Datasets. Man verbaut sich nichts, da Datasets sich iA den kompletten Pool teilen und ist sehr flexibel wenn es darum geht mal ein Snapshot zu machen oder unterschiedliche Einstellungen auf bestimmte Datasets zu legen. Evtl willst du nicht überall compression haben, dafür aber evtl in einem anderen Dataset readonly setzen oder das Ausführen von Programmen verbieten.
 
Also, ich bin ja ein Fan von einer einzigen Partition und jedenfalls bin ich sehr sicher, dass ich mit MBR und UFS keine eigene Partition für /boot brauche.
Nicht für /boot, sondern für den zweiten Teil des Bootloaders brauchst du die freebsd-boot Partition. Das wird auch der Grund sein, warum dein aktuelles System nicht startet.

Edit: ich bilde mir ein mal gelesen zu haben das man den zweiten Teil des Bootloaders auch in eine UFS Partition legen kann. Müsste ich jetzt aber auch nachlesen.
 

pit234a

Well-Known Member
sondern für den zweiten Teil des Bootloaders brauchst du die freebsd-boot Partition
Also bei ZFS?
Da habe ich ganz offensichtlich Nachholbedarf.
Aus dem Handbuch werde ich an der Stelle nicht wirklich schlau, wahrscheinlich stehe ich auf der Leitung (was bei mir oft vorkommt und normalerweise nur durch eigene Tests beseitigt werden kann).
freebsd-boot ist doch ein Partitionstyp, den ich mit GPT erstellen kann? Und wie ist der mountpoint dazu?
Und bei MBR-Systemen (und MBR-Partitionierung) gibt es diesen Typ doch gar nicht. Wenn ich aber mittels MBR boote, dann muss das doch irgendwie zu MBR kompatibel sein? Das meint, im MBR muss ein Befehl stehen, der mein System bootet und der muss doch dann den bootloader finden? Der wiederum startet dann ja stage2 etc.

Ich werde das demnächst irgendwie nochmal lesen müssen, vielleicht verstehe ich dann besser oder sehe, wo der Knick in meinen Gedanken verläuft.
Habt Ihr Tips für Online-Lektüre?
 

evgenij

Well-Known Member
Hallo zusammen,

da sind mir auf der Arbeit wohl ein paar Copy/Paste Fehler passiert (zbiber + zpool add...), danke an euch für die Korrekturen.

Da ich noch gar keine Erfahrung mit ZFS habe, bin ich bei der Konfigurationserstellung der Anleitung von Holger gefolgt.
Nach dem Hinweis von Rakor habe ich die Konfiguration angepasst und "-m BIGTOWER" entfernt, es wird aber automatisch versucht den Mountpoint zu erstellen und einzuhängen, siehe Screenshot.
Aktuelle Konfig sieht wie folgt aus:
Code:
gpart destroy -F ada0   
gpart destroy -F ada1  
gpart create -s gpt ada0
gpart create -s gpt ada1                          
gpart add -t freebsd-boot -l boot0 -a4k -s 512k ada0
gpart add -t freebsd-swap -l swap0 -s 4g ada0             
gpart add -t freebsd-boot -l boot1 -a4k -s 512k ada1
gpart add -t freebsd-swap -l swap1 -s 4g ada1
gpart bootcode -b /boot/pmbr -p /boot/gptzfsboot -i 1 ada0
gpart bootcode -b /boot/pmbr -p /boot/gptzfsboot -i 1 ada1
gpart add -t freebsd-zfs -l ssd0 ada0
gpart add -t freebsd-zfs -l ssd1 ada1                        
zpool create BIGTOWER /dev/gpt/ssd0 /dev/gpt/ssd1
zfs create -o mountpoint=none BIGTOWER/ROOT       
zfs create -o mountpoint=/mnt BIGTOWER/ROOT/default
zfs set compression=lz4 BIGTOWER/ROOT/default 
zpool set bootfs=BIGTOWER/ROOT/default BIGTOWER
 

Anhänge

freebsd-boot ist doch ein Partitionstyp, den ich mit GPT erstellen kann?
möglich, hab nie auf MBR installiert. Kann sein, dass da der zweite Teil des Bootloaders mit in die UFS Partition geschrieben wurde.
Und wie ist der mountpoint dazu?
gibt keinen, du schreibst einfach mit gpart den Bootloader da rein.
Wenn ich aber mittels MBR boote, dann muss das doch irgendwie zu MBR kompatibel sein?
dafür hast du bei einem GPT Layout den "protective MBR". An der Stelle, an der ein BIOS den MBR erwartet, steht einer. Der hat nur keine Partitionen definiert und enthält nur den ersten Teil des Bootloaders der nach einer freebsd-boot Partition sucht, die in den Speicher kopiert und da rein springt.
 

Vril

Well-Known Member
Wenn man erreichen will, dass die komplette Platte zu einem ZFS Pool gehört - z.B. um einen Snapshot auch von der kompletten Platte machen zu können ... könnte man die Bootpartition also auf einen USB Stick machen ?

Unter Solaris ist das aber auch eleganter gelöst ...
 
Wenn man erreichen will, dass die komplette Platte zu einem ZFS Pool gehört - z.B. um einen Snapshot auch von der kompletten Platte machen zu können ... könnte man die Bootpartition also auf einen USB Stick machen ?
klar. Hat der @pit234a aktuell ja auch so.

Unter Solaris ist das aber auch eleganter gelöst ...
findest du? da wird auch partitioniert, nur halt automatisch wenn du die Platte in den zpool aufnimmst und nicht manuell.
 

-Nuke-

Well-Known Member
Damit es komplett geht müsste das EFI auf dem Mainboard in der Lage sein direkt von ZFS lesen zu können. Der UEFI Standard sieht aber nur FAT vor (Apples EFI sieht HFS vor). Von daher muss entweder der komplette Bootcode samt Kernel oder eben ein ZFS EFI Treiber (den es nicht gibt?) auf einer FAT-Partition liegen. Darum man da nicht viel machen.

Mein EFI Bootmanager hier auf meinem Linux Notebook lädt auch einen ext4 EFI Treiber und bootet dann den Kernel. Mit anderen Worten 2 Partitionen: EFI mit FAT (darauf liegt rEFInd mit ext4 Treiber) und Rest (komplett / inkl. Boot) mit EXT4.
 

holgerw

Well-Known Member
Themenstarter #141
Da ich noch gar keine Erfahrung mit ZFS habe, bin ich bei der Konfigurationserstellung der Anleitung von Holger gefolgt.
Nach dem Hinweis von Rakor habe ich die Konfiguration angepasst und "-m BIGTOWER" entfernt, es wird aber automatisch versucht den Mountpoint zu erstellen und einzuhängen, siehe Screenshot.
Hallo,

aus meiner Anleitung zu manuellem ZFS-on-Root:
9. zpool create -m /zbiber zbiber /dev/gpt/system0 Hiermit wird ein Pool zbiber erzeugt für die mit system0 gelabelte ZFS-Partition und auf das Verzeichnis /zbiber gemountet, die Meldung cannot mount /zbiber: failed to create mountpoint. . . kann ignoriert werden
Viele Grüße,
Holger
 

pit234a

Well-Known Member
@derOliver: Danke. So langsam dämmert was. Demnächst werde ich mich damit mal ein wenig eingehender befassen.

Ich habe ja zwei Systeme, die ich automatisch vom Installer partitionieren ließ. Einmal ein 32Bit mit UFS und MBR (die Partitionierung habe ich da allerdings möglicherweise schon mit einer viel älteren Version von FreeBSD vorgenommen und beibehalten, das weiß ich nun nicht mehr) und dann Ein AMD64 mit ZFS, wo zwei Platten zu einem Pool verbunden sind und allerdings an einem Raid-Kontroller auf dem Motherboard sitzen, dessen Raid-Funktion ich abgeschaltet habe. Letzteres bootet nicht von selbst, dafür nutze ich den Stick.
Ich zeige mal zunächst die einfache Lösung mit dem 32Bit System:
Code:
 # mmls /dev/ada0
DOS Partition Table
Offset Sector: 0
Units are in 512-byte sectors

      Slot      Start        End          Length       Description
000:  Meta      0000000000   0000000000   0000000001   Primary Table (#0)
001:  -------   0000000000   0000000062   0000000063   Unallocated
002:  000:000   0000000063   0125045360   0125045298   BSD/386, 386BSD, NetBSD, FreeBSD (0xa5)
003:  -------   0125045361   0125045423   0000000063   Unallocated
 # gpart show /dev/ada0
=>       63  125045361  ada0  MBR  (60G)
         63  125045298     1  freebsd  [active]  (60G)
  125045361         63        - free -  (32K)
Das funktioniert und hat keine freebsd-boot. Daher war meine Meinung, dass auch bei anderen BIOS (also nicht EFI) Systemen der Bootvorgang so laufen würde, wie man das eben vom MBR kennt, nur, dass nun der PMBR an seine Stelle tritt und da gibt es zunächst für mich keinen Grund für eine weitere Partition mit freebsd-boot.
Das ZFS-System auf meinem AMD64 hat aber offenbar freebsd-boot, nur hatte ich das vergessen oder ignoriert, weil es eben keinen Mountpoint dazu gab:
Code:
pit@senyo ~:-# mmls /dev/ada0
GUID Partition Table (EFI)
Offset Sector: 0
Units are in 512-byte sectors

      Slot      Start        End          Length       Description
000:  Meta      0000000000   0000000000   0000000001   Safety Table
001:  -------   0000000000   0000000039   0000000040   Unallocated
002:  Meta      0000000001   0000000001   0000000001   GPT Header
003:  Meta      0000000002   0000000033   0000000032   Partition Table
004:  000       0000000040   0000001063   0000001024   gptboot0
005:  -------   0000001064   0000002047   0000000984   Unallocated
006:  001       0000002048   0312580095   0312578048   zfs0
007:  -------   0312580096   0312581807   0000001712   Unallocated
pit@senyo ~:-# mmls /dev/ada1
GUID Partition Table (EFI)
Offset Sector: 0
Units are in 512-byte sectors

      Slot      Start        End          Length       Description
000:  Meta      0000000000   0000000000   0000000001   Safety Table
001:  -------   0000000000   0000000039   0000000040   Unallocated
002:  Meta      0000000001   0000000001   0000000001   GPT Header
003:  Meta      0000000002   0000000033   0000000032   Partition Table
004:  000       0000000040   0000001063   0000001024   gptboot1
005:  -------   0000001064   0000002047   0000000984   Unallocated
006:  001       0000002048   0312580095   0312578048   zfs1
007:  -------   0312580096   0312581807   0000001712   Unallocated
pit@senyo ~:-# gpart show /dev/ada0
=>       34  312581741  ada0  GPT  (149G)
         34          6        - free -  (3.0K)
         40       1024     1  freebsd-boot  (512K)
       1064        984        - free -  (492K)
       2048  312578048     2  freebsd-zfs  (149G)
  312580096       1679        - free -  (840K)
Diese Partitionierung ist GPT und wie gesagt, automatisch erstellt worden. Dass sie nicht bootet, liegt vielleicht an meinem eingebauten Raid-Kontroller. Da habe ich mich nicht getraut was zu probieren (etwa die freebsd-boot zu überschreiben), weil ja derzeit mit dem USB-Stick gebootet werden kann und das System eh meist gebootet bleibt. Das Thema hatten wir schon an anderer Stelle und ich will das hier nicht weiter treiben.

Mein Verständnis war offenbar nicht korrekt und wurde nun korrigiert. Trotzdem will ich mir das noch mal genauer ansehen.
Danke.
 

holgerw

Well-Known Member
Themenstarter #144
Moin Holger,
gibt es schon einen neuen Zwischenstand deiner Anleitung?
Hallo @Elwood

falls eine Sorge besteht, ich hätte das Projekt fallen gelassen, so ist diese Sorge unbegründet: Ich habe schon soviel Arbeit gesteckt in den bisherigen Stand, hier soviel Unterstützung zu Fragen bekommen, einem Deiner Moderatorenkollegen das kürzlich auf barrierefreie Aspekte hin zum Durchsehen gegeben, da ist es nicht meine Art, einfach den Kram fallen zu lassen, zumal dazu gar kein Anlass besteht.

Es geht zur Zeit aber langsam voran, weil ich - trotz kleiner Zwischenunternehmungen mit BSD wie etwa mein Kodi-Projekt oder aber FreeBSD als Printserver auf dem Raspi - arbeitsmäßig sehr eingespannt bin, dazu kommt noch unser vor einigen Jahren erworbenes altes Haus, in dem es einiges an notwendigen Sachen zu arbeiten gibt für meine Frau und mich, um etwa Feuchtigkeitsschäden vor zu beugen u.s.w.

Daher bitte ich um etwas Geduld.

Viele Grüße,
Holger
 

Lance

Well-Known Member
Hallo @Elwood

falls eine Sorge besteht, ich hätte das Projekt fallen gelassen, so ist diese Sorge unbegründet: Ich habe schon soviel Arbeit gesteckt in den bisherigen Stand, hier soviel Unterstützung zu Fragen bekommen, einem Deiner Moderatorenkollegen das kürzlich auf barrierefreie Aspekte hin zum Durchsehen gegeben, da ist es nicht meine Art, einfach den Kram fallen zu lassen, zumal dazu gar kein Anlass besteht.

Es geht zur Zeit aber langsam voran, weil ich - trotz kleiner Zwischenunternehmungen mit BSD wie etwa mein Kodi-Projekt oder aber FreeBSD als Printserver auf dem Raspi - arbeitsmäßig sehr eingespannt bin, dazu kommt noch unser vor einigen Jahren erworbenes altes Haus, in dem es einiges an notwendigen Sachen zu arbeiten gibt für meine Frau und mich, um etwa Feuchtigkeitsschäden vor zu beugen u.s.w.

Daher bitte ich um etwas Geduld.

Viele Grüße,
Holger
Sehr schön, das freut mich auch. Ich habe nämlich mit FreeBSD11 bisher so meine Problemchen gehabt, und frage mich was alles anders ist zu 10.3 bzgl einen brauchbaren Desktop zu machen. Momentan bekomme ich 11.0 nichtmal zum booten nach der Installation (die ich genauso wie bei 10.3 durchgeführt hatte...)
 

Neko

Well-Known Member
Morgen,

ich habe heute früh versucht nach deiner Anleitung FreeBSD 11 zu installieren. Allerdings habe ich keine SSD sondern nur eine HDD. Daher würde ich mich freuen. Wenn der Punkt noch mit ergänzt wird. Damit ich nicht jedes mal die AutoKonfiguration nehmen muss.

Vielen Dank
 

holgerw

Well-Known Member
Themenstarter #148
Hallo,

ich arbeite zur Zeit wieder an der Dokumentation - von Warren Blocks Howtos möchte ich gerne etwas übernehmen, was mir gut gefällt: Kurze Abstracts zu Beginn manueller Einrichtungen wie Partitionieren, zfs-on-Root einrichtung u.s.f. ohne Angaben von konkreten Devicenamen, Labelnamen, Mountpunkten:
Code:
Abstract
# gpart destroy -F <device>
# gpart create -s gpt <device>
# gpart add -t freebsd-boot -s 512k -l <labelname> <device>
# ...
Danach gibt es eine kurze Einführung, Info zu den zu verwendenden Werkzeugen und dann eine ausführliche Anleitung samt Erläuterung aller Schritte am Beispiel unserer Rechner.
Code:
# gpart destroy -F ada0 (das zerstört vorhandene Partitionstabellen der ersten Ferstplatte)
# gpart create -s gpt ada0 (hier wird auf der ersten Festplatte eine GPT erzeugt)
...
Und noch eine Frage, da diese Erstfassdung auf Deutsch ist (bei Englisch spielt es ja keine Rolle):
Du oder Sie?

In kurzen Tutorials, Howtos oder hier im Forum ist für mich ganz klar Duzen angesagt. Aber bei einer sehr umfangreichen Doku? Im deutschen Handbuch zu FreeBSD wird auch "Gesiezt".

Ich bin da offen, beides ist für mich in Ordnung.

Was meint Ihr?

Viele Grüße,
Holger
 

Rakor

Administrator
Mitarbeiter
In der heutigen Zeit wird, ich vermute durch das englische, häufig auch in Büchern das Du verwendet. Für mich hat es noch immer einen seltsamen Touch und klingt immer etwas nach Ikea wenn jemand fremde Menschen duzt.
Ich versuche eigentlich in den Fällen eine direkte Ansprache zu vermeiden. Dadurch wird es unpersönlicher, was ich in Fachartikeln jedoch passend finde.
 

ralli

BSD Fanboy
Meine Erfahrung mit Handbüchern jedweder Coleur ist die, das das Du praktiziert wird. Das ist nicht taktlos und unhöflich, sondern normal und eher identitätsstiftend, da wir ja alle zu einer Gemeinschaft von Gleichgesinnten gehören.