(Free-)BSD & EFI Boot

lukesky333

Active Member
Hallo Leute,

ich bin neu hier und was BSD angeht noch "ganz frisch". Bisher habe ich immer Gentoo-Linux benutzt und finde es nun an der Zeit, endlich auf BSD umzusteigen.

Damit es nicht zu einfach wird, habe ich gleich mal einen "kühnen" (wenn nicht sogar unmöglichen) Plan.

Mein neues Notebook unterstützt EFI Boot und ich würde da gern Windows 7 (brauch ich leider an der UNI) und FreeBSD (kann aber auch jede andere Distribution sein) darauf installieren.
Jetzt fragt Ihr Euch sicher "Was soll da so schwierig sein?". Nun ja, ich möchte das gern mit möglichst wenigen Partitionen abwickeln.

Es schaut mal wie folgt aus, windows benötigt schon mal
1 EFI-Systempartition
1 MSR Partition
1 Windows-Partition

Ich würde nun gern mit nur einer weiteren Partition BSD installieren, das ganze mit EFI.

Ach ja, ...und als Filesystem hätte ich gern ZFS.

...hab ich ne Chance oder verlang ich eindeutig zuviel?
 
FreeBSD kann derzeit nur auf IA64 direkt aus UEFI starten, aber nicht auf i386 und amd64. Es gibt ein GSoC-Projekt einen UEFI-Loader für diese Platformen zu implementieren, aber da dies gar nicht so einfach ist, wird es wohl sooo schnell nicht werden. Da Multiboot mit UEFI zudem noch recht fummelig ist, würde ich einfach die klassischen Bootloader nehmen und zufrieden sein. :)
 
Wozu? Wieviel Arbeitsspeicher hat denn der Laptop?

Rob

Der Laptop hat 4GB RAM, ist das etwa zu wenig für ein "ZFS"???

Für ZFS hab ich mich in erster Linie eigentlich nur deswegen entschieden, weil ich das ganze gern in nur einer Partition installieren möchte. Da das dann eine "große" Partition (128GB) ist, würde ich gern dem (wegen der Größe wohl etwas länger dauerndem) fschk entgehen und da ist mir gleich ZFS eingefallen.


Um die nächsten Fragen gleich vorweg zu nehmen:

Warum unbedingt nur eine Partition? Wieso keine SWAP-Partition?
Der Laptop besitzt eine SSD und ich hoffe mit nur einer Partition auf eine gleichmäßigere "Schreib-/Leseverteilung" auf dieser, als wenn ich viele kleinere Partitionen mit mehr oder weniger I/O habe.
Selbiges gilt auch für die SWAP-Partition. Ich glaube SWAP wird kaum ein Thema sein. Wenn notwendig, dann würde ich auf einen SWAP-File ausweichen.
 
Der Laptop hat 4GB RAM, ist das etwa zu wenig für ein "ZFS"???

Für ZFS hab ich mich in erster Linie eigentlich nur deswegen entschieden, weil ich das ganze gern in nur einer Partition installieren möchte. Da das dann eine "große" Partition (128GB) ist, würde ich gern dem (wegen der Größe wohl etwas länger dauerndem) fschk entgehen und da ist mir gleich ZFS eingefallen.

Ich kann dir nur davon abraten. Nimm UFS2, das kann fsck im Hintergrund laufen lassen. Und 128G sind ja gelinde gesagt nix. Wieviele Partitionen du benutzt, das ist dem Dateisystem bzw. FreeBSD eigentlich egal, es gibt da keine Vorgaben, auf jeden Fall ist das kein Grund ZFS zu benutzen.

Rob
 
Danke Rob für den Tip.

Ich hab mich da gerade ein wenig eingelesen. UFS2 scheint da wohl wirklich die bessere Lösung zu sein. Ich hab echt nicht gewußt, das ZFS so speicherhungrig ist.
Bisher hab ich da nur gutes davon gehört und beim Einsatz von OpenSolaris hatten wir mit ZFS nur gute Erfahrungen.

Also gut, dann eben UFS2.

Nun aber nochmal zu den Partitionen und Slices.
Unter FreeBSD ist es also möglich mit nur einer Partition (/) eine Installation durchzuführen? Ich brauche da nicht unbedingt eine extra freebsd-boot (/boot) Partition?

Soweit ich es gelesen habe sollte die Installation ja auch unter GPT (statt MBR) laufen. Aber wie mir hier schon gesagt wurde gibt es keine Lösung, dass ich das FreeBSD über einen UEFI-Bootloader starte. Richtig? Gibt es da eine Prognose, wann das mal möglich sein wird?

Mein Problem ist nämlich das, dass ich "Windows 7" mit UEFI-Boot installiert habe und gern zusätzlich ein FreeBSD hätte, welches aus dem selben Bootmanager zu starten ist.
Hab ich da irgendeine Chance?
 
Nun aber nochmal zu den Partitionen und Slices.
Unter FreeBSD ist es also möglich mit nur einer Partition (/) eine Installation durchzuführen? Ich brauche da nicht unbedingt eine extra freebsd-boot (/boot) Partition?
ja. ein slice ist einfach nur eine weiter unterteilung einer partition. die bloecke sind dabei wieder fix. ihre groesse auch. aber "partition" kommt vom bios, "slice" vom betriebssystem. und von slices kannst du afaik bis zu 26 haben. (a-z).
auf jedem dieser slices musst du ein dateisystem packen, das kann zfs sein, ufs, ext2 oder ntfs wenn du es dir mal richtig geben willst.

eine /boot partition macht in meinen augen nur sinn wenn du viel mit der anderen auf niedrigem level herumexperimentieren moechtest. (wovon ich dir als anfaenger abrate ;) )


Mein Problem ist nämlich das, dass ich "Windows 7" mit UEFI-Boot installiert habe und gern zusätzlich ein FreeBSD hätte, welches aus dem selben Bootmanager zu starten ist.
Hab ich da irgendeine Chance?
ja!
*nach oben auf meinen beitrag deut* :belehren::belehren::belehren:
 
Zuletzt bearbeitet:
Danke Rob für den Tip.

Ich hab mich da gerade ein wenig eingelesen. UFS2 scheint da wohl wirklich die bessere Lösung zu sein. Ich hab echt nicht gewußt, das ZFS so speicherhungrig ist.
Bisher hab ich da nur gutes davon gehört und beim Einsatz von OpenSolaris hatten wir mit ZFS nur gute Erfahrungen.

Also gut, dann eben UFS2.
Im Gegensatz zu ZFS unterstützt UFS2 auch TRIM. Damit dürfte es langfristig für die meisten Workloads auf einer SSD geeigneter sein.

Nun aber nochmal zu den Partitionen und Slices.
Unter FreeBSD ist es also möglich mit nur einer Partition (/) eine Installation durchzuführen? Ich brauche da nicht unbedingt eine extra freebsd-boot (/boot) Partition?
Die Partitionen vom Type freebsd-boot enthalten nicht das /boot Verzeichnis mit dem Kernel drin sondern sie enthalten den Bootloader. Dies funktioniert derzeit aber nur mit einem BIOS. UEFI im BIOS-legacy Mode zu mindestens auf meinem T420 broken, weil dieses beschissene UEFI sobald es einen PMBR mit einer Partition vom Type 0xEE sieht doch wieder auf EFI boot umschaltet.

Soweit ich es gelesen habe sollte die Installation ja auch unter GPT (statt MBR) laufen. Aber wie mir hier schon gesagt wurde gibt es keine Lösung, dass ich das FreeBSD über einen UEFI-Bootloader starte. Richtig? Gibt es da eine Prognose, wann das mal möglich sein wird?
Bis jetzt kann FreeBSD nicht über einen UEFI Bootloader gestartet werden sondern nur über ein BIOS oder UEFI im BIOS Modus. FreeBSD nutzt dabei aus das ein BIOS nur den MBR versteht und diesen bootet der MBR ist dabei ein PMBR der GPT Formatierung versteht (/boot/pmbr) und gptzfsboot in der GPT eine Partition vom Type freebsd-boot suchen und ausführen kann. Diese soll /boot/gptzfsboot enthalten. Dieser Bootloader kann ZFS mit einigen Einschränkungen (nur Pools aus einem Mirror oder RAID-Z1 VDEV) lesen. Durch gptzfsboot wird der Kernel mit den nötigen Modulen und /boot/zfs/zpool.cache geladen. Diese Cachedatei im RAM erlaubt es dem Kernel seine Pools zu finden und auf einem davon das Rootfs zu mounten.

Mein Problem ist nämlich das, dass ich "Windows 7" mit UEFI-Boot installiert habe und gern zusätzlich ein FreeBSD hätte, welches aus dem selben Bootmanager zu starten ist.
Hab ich da irgendeine Chance?
K/a. Meine Systeme sind absichtlich frei von Windowsbefall.
 
Es gibt auf den Mailinglisten lange Diskussionen um einen EFI-Loader. Das Hauptproblem liegt darin, dass es nicht mit dem Loader-Programm selbst getan ist, der Kernel muss dazu noch "relocateable" werden. Im Moment geht der Kernel davon aus, dass er an einer bestimmten Speicheradresse liegt, der Linker kann also diverse interne Speicheradressen berechnen und hart in das das Programm eingefügen. Mit EFI kann aber wohl nicht mehr garantiert werden, dass der Kernel an der gleichen Adresse liegt, weshalb diese internen Speicheradressen zur Laufzeit bestimmt werden müssen... Hier ist die GoSC-Seite zum EFI-Projekt: http://wiki.freebsd.org/SummerOfCode2012/IntelEFIBoot
 
Zurück
Oben