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

FreeBSD 12 findet zfs pool (root) nicht (UEFI)

Yamagi

Possessed With Psi Powers
Mitarbeiter
#26
Bei mir ist aber das Modul zfs.ko gar nicht geladen, weshalb ich auch durch manuelles festlegen nicht weiter komme.
Mich wundert, dass er den Kernel an sich findet, aber zfs.ko nicht. Die liegen ja im gleichen Verzeichnis... Ich würde da mal einen Bugreport draus kochen. Dann kannst du dir immerhin einreden was getan zu haben. ;)
 
Themenstarter #27
Hallo Kaffeemann

steht in der loader.conf bei Dir ein
Code:
vfs.root.mountfrom="zfs:<dein-root-dataset>"
Vielleicht mal ausprobieren.
Hat keinen Erfolg gebracht

Mich wundert, dass er den Kernel an sich findet, aber zfs.ko nicht. Die liegen ja im gleichen Verzeichnis... Ich würde da mal einen Bugreport draus kochen. Dann kannst du dir immerhin einreden was getan zu haben. ;)
Es ist wirklich offensichtlich: Irgend ein Modul wird nicht geladen. Entweder fehlt zfs.ko (klar, dann hängt er beim Booten), vmm.ko oder nvidia-modeset.ko (inkl. nvidia.ko natürlich). Sind in meiner loader.conf Auffälligkeiten?

/boot/loader.conf hat gesagt.:
kern.geom.label.disk_ident.enable="0"
kern.geom.label.gptid.enable="0"
vfs.zfs.min_auto_ashift=12
zfs_load="YES"
amdtemp_load="YES"
nvidia-modeset_load="YES"
vmm_load="YES"
vfs.zfs.arc_max="8G"
Ich werde mich dann mal an einen Bugreport setzen *seufz*
 
Zuletzt bearbeitet:
Themenstarter #30
So, ich habe mal den Text für den Bugreport geschrieben. Jetzt stellt sich die Frage, wo ich ihn am besten platziere. Ich würde sagen, dass auf jeden Fall "Base System" passt. Nur was wähle ich bei "Component"? Passt "kern" (Kernel sources)?
 
Themenstarter #33
Bevor "----<<BOOT>>---" kommt, werden ja verschiedene Module geladen. Hierbei ist mir zufällig aufgefallen, dass da eine Fehler durchhuscht. Deswegen habe ich mal den Bootvorgang aufgenommen. Bei diesem Bootvorgang konnte "vmm.ko" nicht geladen werden (wie gesagt.. Es sind unterschiedliche Module).
Code:
/boot/kernel/amdsmn.ko size 0x2268 at 0x3f67000
/boot/kernel/vmm.ko \
elf64_obj_loadimage: read failed

/boot/kernel/vmm.ko |
elf64_obj_loadimage: read failed

can't load file '/boot/kernel/vmm.ko': input/output error
/boot/entropy size=0x1000
...
Dieser Bug: https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=201679 beschreibt meine ich ziemlich genau mein Problem. Ob die Ursache die gleiche ist, weiß ich aktuell noch nicht.
 
Themenstarter #34
Nachdem ich
Code:
nvidia-modeset_load="YES"
aus /boot/loader.conf rausgeschmissen habe und
Code:
kld_list="nvidia-modeset nvidia"
in /etc/rc.conf reingenommen habe, wird das Nvidia-Modul erst geladen, nachdm die lokalen Festplatten gemountet wurden. Und siehe da, das System bootet sauber durch und alle Module, die ich brauche, sind geladen.

Für mich ganz klar ein Bug, den ich auf diesem (für mich) unsauberen Weg umgehen kann.
 

Yamagi

Possessed With Psi Powers
Mitarbeiter
#35
Dem Bugreport nach reserviert sich der UEFI-Loader einfach nicht genügend Speicher und läuft über. Da er die Module parallel lädt, passiert das immer bei anderen Modulen, je nach dem wer schneller ist. Fragt sich nur, warum nicht mehr Nutzer das sehen... Ich hab gerade kein FreeBSD hier, kann da aber nach Weihnachten gerne noch mal stochern.
 

Yamagi

Possessed With Psi Powers
Mitarbeiter
#38
Gute Frage. Durch den Bootloader eigentlich nicht, ich glaube er geht einfach über UEFIs Interface zum Ansprechen von Medien. Aber wer weiß, was das intern so treibt... Später, wenn der Kernel startet, sind es unterschiedliche CAM-Devices. ada für AHCI und nvd für NVMe.
 

pit234a

Well-Known Member
#39
Für mich ganz klar ein Bug, den ich auf diesem (für mich) unsauberen Weg umgehen kann.
Wieso meinst du "unsauber"?
Es wird doch schon eine geraume Weile empfohlen, alle nur möglichen Module aus der loader.conf zu nehmen und in die rc.conf zu legen. Das wird als vorteilhaft beschrieben und in der loader.conf soll nur bleiben, was unbedingt zur Bootzeit vorhanden sein muss. Die nvidia-Module gehören für mich nicht dazu und ich habe sie schon länger in der kld_list.
Allerdings fielen meine beiden derzeitigen 12.0er PCs in einen Reboot, wenn ich beide Module in der kld_list drinnen hatte.
Vor 12.0-RELEASE nutzte ich nur nvidia und nun nur nvidia-modeset.
Code:
kldstat -v | grep nvidia
         83 pci/ata_nvidia
        371 g_raid_md_nvidia
11    1 0xffffffff82c71000    f4e98 nvidia-modeset.ko (/boot/modules/nvidia-modeset.ko)
        516 nvidia-modeset
12    1 0xffffffff82d66000   c42970 nvidia.ko (/boot/modules/nvidia.ko)
        515 vgapci/nvidia
geladen werden sie also beide.
 
Themenstarter #40
Für mich war der einzig richtige Weg /boot/loader.conf. Alles andere gilt damit für mich als "unsauber". Aber damit lag ich wohl falsch:

Es wird doch schon eine geraume Weile empfohlen, alle nur möglichen Module aus der loader.conf zu nehmen und in die rc.conf zu legen. Das wird als vorteilhaft beschrieben und in der loader.conf soll nur bleiben, was unbedingt zur Bootzeit vorhanden sein muss.
Von offizieller Seite (z. B. im Handbuch)? Dann ist das völlig an mir vorbei gegangen. Beim Lesen von RC.CONF(5) ist mir aber eben aufgefallen, dass das dort tatsächlich als "much faster" beschrieben wird. Bei der Installation von x11/nvidia-driver wird gesagt "lade es so, wie es dir besser gefällt". Wenn das so keinen Sinn mehr macht, könnte ich ja den Maintainer anschreiben, dass er den Text anpasst.

Aus dem Grund: Danke fürs Nachfragen! :)
 

pit234a

Well-Known Member
#41
Von offizieller Seite (z. B. im Handbuch)?
Leider finde ich es jetzt auf die Schnelle nicht.
Mein Input war zunächst hier im Forum, wo es einige Threads gegeben hatte, die auf diese Situation aufmerksam machten und ich bin ja immer etwas stur und hänge gern an Lösungen, die sich etabliert haben, weswegen ich das zunächst eine Weile ignorierte.
Ich meine, dass ich dann irgendwo auch einen offiziellen Hinweis gelesen habe, es ausprobierte und sah, dass es gut war.