FreeBSD 9.x stoppt beim Booten

bastorran

Active Member
Hallo,

seit einiger Zeit bin ich am Überlegen von Linux zu FreeBSD zu wechseln.

Bereits bei FreeBSD 9.0 trat jedoch folgender Fehler auf und bei 9.1-RC1 auch:

Beim Booten des Installationsmediums (tritt bei USB, als auch CD auf) bleibt der Vorgang nach der Ausgabe der USB-Ports einfach stehen. Der PC friert allerdings nicht ein, da man Capsloch noch (de-)aktivieren kann. Aber es rührt sich überhaupt nichts mehr. STRG+C und +D helfen auch nicht weiter.

Ich habe schon versucht wie wild irgendwelche Module im Bootmanager zu entlade, hat aber alles nichts geholfen. Mir ist ziemlich schleierhaft an welchem Hardware-Teil es liegen könnte (die USB-Ports erkennt er ja wohl korrekt -- allerdings wird kurz davor irgendein Unknown in bezug auf die Soundkarte ausgegeben, jedoch nirgends ein Fehler oder dergleichen).

Wenn man den Laptop ohne ACPI starten will, erhält man einen Fehler, dass irgendein Timer nicht gefunden werden kann.

Hier ist ein alter Thread mit dem gleichen Problem (denke ich), aber ohne Lösung: http://forums.freebsd.org/showthread.php?t=29239

FreeBSD 8.3 kann ich leider nicht verwenden, da ich awesome benutze und es genau beim 8.x-Release wohl ein Problem mit dem Intel-Grafikkarten-Treiber gibt (-> awesome lässt sich also nicht starten).

Hier mal ein paar Hardware-Infos (es handelt sich um einen alten Acer Travelmate 4720):
Code:
00:00.0 Host bridge: Intel Corporation Mobile PM965/GM965/GL960 Memory Controller Hub (rev 03)
00:02.0 VGA compatible controller: Intel Corporation Mobile GM965/GL960 Integrated Graphics Controller (primary) (rev 03)
00:02.1 Display controller: Intel Corporation Mobile GM965/GL960 Integrated Graphics Controller (secondary) (rev 03)
00:1a.0 USB controller: Intel Corporation 82801H (ICH8 Family) USB UHCI Controller #4 (rev 03)
00:1a.1 USB controller: Intel Corporation 82801H (ICH8 Family) USB UHCI Controller #5 (rev 03)
00:1a.7 USB controller: Intel Corporation 82801H (ICH8 Family) USB2 EHCI Controller #2 (rev 03)
00:1b.0 Audio device: Intel Corporation 82801H (ICH8 Family) HD Audio Controller (rev 03)
00:1c.0 PCI bridge: Intel Corporation 82801H (ICH8 Family) PCI Express Port 1 (rev 03)
00:1c.1 PCI bridge: Intel Corporation 82801H (ICH8 Family) PCI Express Port 2 (rev 03)
00:1c.2 PCI bridge: Intel Corporation 82801H (ICH8 Family) PCI Express Port 3 (rev 03)
00:1d.0 USB controller: Intel Corporation 82801H (ICH8 Family) USB UHCI Controller #1 (rev 03)
00:1d.1 USB controller: Intel Corporation 82801H (ICH8 Family) USB UHCI Controller #2 (rev 03)
00:1d.2 USB controller: Intel Corporation 82801H (ICH8 Family) USB UHCI Controller #3 (rev 03)
00:1d.7 USB controller: Intel Corporation 82801H (ICH8 Family) USB2 EHCI Controller #1 (rev 03)
00:1e.0 PCI bridge: Intel Corporation 82801 Mobile PCI Bridge (rev f3)
00:1f.0 ISA bridge: Intel Corporation 82801HM (ICH8M) LPC Interface Controller (rev 03)
00:1f.1 IDE interface: Intel Corporation 82801HM/HEM (ICH8M/ICH8M-E) IDE Controller (rev 03)
00:1f.2 SATA controller: Intel Corporation 82801HM/HEM (ICH8M/ICH8M-E) SATA Controller [AHCI mode] (rev 03)
00:1f.3 SMBus: Intel Corporation 82801H (ICH8 Family) SMBus Controller (rev 03)
02:00.0 Ethernet controller: Broadcom Corporation NetLink BCM5787M Gigabit Ethernet PCI Express (rev 02)
04:00.0 Network controller: Intel Corporation PRO/Wireless 3945ABG [Golan] Network Connection (rev 02)
0f:06.0 CardBus bridge: Texas Instruments PCIxx12 Cardbus Controller
0f:06.1 FireWire (IEEE 1394): Texas Instruments PCIxx12 OHCI Compliant IEEE 1394 Host Controller
0f:06.2 Mass storage controller: Texas Instruments 5-in-1 Multimedia Card Reader (SD/MMC/MS/MS PRO/xD)
0f:06.3 SD Host controller: Texas Instruments PCIxx12 SDA Standard Compliant SD Host Controller

Leider kann ich im BIOS keine Hardwarekomponenten an-/ausschalten.

Wäre sehr schön, wenn mir Irgendjemand von Euch helfen könnte!

Vielen Dank!

Gruß
bastorran
 
Wenn man den Laptop ohne ACPI starten will, erhält man einen Fehler, dass irgendein Timer nicht gefunden werden kann.
Schreib mal in Deine /etc/sysctl.conf diesen Eintrag hinein:
Code:
kern.timecounter.hardware=i8254
Dann sollte der ACPI-Timer nicht mehr verwendet werden, und Du kannst hoffentlich ohne ACPI starten.
 
Naja um ACPI führt immer weniger herum. Auf modernen Laptops steht auch kein APM mehr zur Verfügung als Fallback. Zur Problemsuche bieten sich natürlich noch immer solche Workarounds an.
 
Kannst du bitte eine "Verbose" booten (im Bootmenü den Punkt "Verbose" anwählen) und die letzten Zeilen hier einstellen? Auch gern als Foto, spart das Abtippen...
 
Schreib mal in Deine /etc/sysctl.conf diesen Eintrag hinein:
Code:
kern.timecounter.hardware=i8254
Dann sollte der ACPI-Timer nicht mehr verwendet werden, und Du kannst hoffentlich ohne ACPI starten.
Nun, genau da liegt das Problem: es startet ja nicht mal die Installation von FreeBSD ;-) Kann ich es irgendwie als Boot-Parameter anhängen?

Kannst du bitte eine "Verbose" booten (im Bootmenü den Punkt "Verbose" anwählen) und die letzten Zeilen hier einstellen? Auch gern als Foto, spart das Abtippen...
Ups, hab ich ganz vergessen, aber jetzt ist ein Bild im Anhang.
 

Anhänge

  • screenshot.jpg
    screenshot.jpg
    393,2 KB · Aufrufe: 507
Nun, genau da liegt das Problem: es startet ja nicht mal die Installation von FreeBSD ;-) Kann ich es irgendwie als Boot-Parameter anhängen?
Argh, ja, übersehen! Du kannst am Bootprompt eintippen:
Code:
set kern.timecounter.hardware="i8254"
set hint.acpi.0.disabled="1"
boot
 
Argh, ja, übersehen! Du kannst am Bootprompt eintippen:
Code:
set kern.timecounter.hardware="i8254"
set hint.acpi.0.disabled="1"
boot
Leider funktioniert es damit auch nicht! Es kommt immer noch die gleiche Meldung:
Code:
No usable event timer found

Aber ich bin mir auch nicht so richtig sicher, ob es überhaupt an ACPI liegt. Ich hatte schon mal an Firewire gedacht. Gibt es irgendwelche Module, bei denen es auf jeden Fall mal Sinn machen würde diese zu entladen (firewire habe ich schon einmal entladen)?

Vielen Dank für Eure Hilfe!

Gruß
bastorran
 
bastorran: Die vorgeschlagende Eingabe beeinflusst nur den timecounter nicht den Eventtimer. Versuche mal dies:
Code:
set kern.timecounter.hardware=i8254
set kern.eventtimer.timer=i8254
boot
Optional noch mit deaktivertem ACPI.
 
Code:
No usable event timer found
Das hättest Du gleich erwähnen sollen. Was Crest sagt, ist natürlich richtig. Der "timecounter" bezeichnet die Uhr, nach der der Kernel allgemein tickt, der "eventtimer" die Stoppuhr, nach der Interrupts ausgelöst werden. Das kann dieselbe sein.
Heutige PC-Motherboards haben fast ein halbes Dutzend Uhren eingebaut, die aus verschiedenen Epochen der PC-Evolution stammen und aus Kompatibilitätsgründen noch mitgeschleppt werden. Die "i8254", auch als "attimer" bezeichnet, ist die älteste davon. Sie ist, wohl auch heute noch, ein separater Chip und sehr zuverlässig, aber etwas ungenau, was freilich im Normalfall keine Rolle spielt.
Welche bei Dir verfügbar sind, erfährst Du am Bootprompt durch
Code:
show kern.timecounter.choice
show kern.eventtimer.choice
Wenn da gar nichts gelistet wird, hast Du ein Problem. Vielleicht sind die Uhren aus unerklärlichen Gründen deaktiviert. Dann kann Dir vielleicht
Code:
set hint.attimer.0.clock="1"
set hint.atrtc.0.clock="1"
set hint.apic.0.clock="1"
weiterhelfen.
Aber ich bin mir auch nicht so richtig sicher, ob es überhaupt an ACPI liegt. Ich hatte schon mal an Firewire gedacht. Gibt es irgendwelche Module, bei denen es auf jeden Fall mal Sinn machen würde diese zu entladen (firewire habe ich schon einmal entladen)?
Was meinst Du mit "entladen"? Firewire ist doch fest in den Kernel kompiliert. Deaktivieren kannst Du den Treiber aber über die "hints". Such Dir aus der folgenden Liste mal was raus:
Code:
set hint.firewire.0.disabled="1"
set hint.usb.0.disabled="1"
set hint.usb.1.disabled="1"
set hint.acpi.0.disabled="1"
Es gibt viele Treiber, z. B. pcm (sound), fdc (floppy) und was Du sonst noch in den Bootmeldungen siehst, aber das kann kaum eine Rolle spielen. Hast Du alle Peripheriegeräte mal abgestöpselt?
 
Also, das Ding ist ein Laptop... Und die letzte Nachricht im Verbose-Boot ist das Initialisieren des Akku, dann ist Schluss. Vielleicht kommt er ohne ACPI hoch, da dem Anschein nach eine ACPI-Operation das System einfrieren lässt. Aber was dann? Ohne ACPI ist ein Laptop noch nutzloser als ein Desktop ohne ACPI, mal ganz davon abgesehen, dass die wenigsten aktuellen Systeme auch nur die Festplattencontroller ohne ACPI erkennen. Ich würde ganz stark dazu raten, ACPI mal in Ruhe zu lassen. Das führt zu nichts sinnvollem.

Ich würde lieber mal probiere:
- Wie Tronar sagt, die üblichen Verdächtigen totschalten. Vor allem Firewire (man sucht noch immer Nutzer, die eine mit Firewire nicht bootende Maschine haben und willens sind beim Debuggen zu helfen!) und USB.
- Mal schauen, ob er ohne eingestecktem Akku startet.

Und wenn das alles nichts hilft, wird es in diesem Thread nichts mehr. Das kann praktisch alles sein und solange man nicht zumindest eine grobe Idee hat, wo man schauen muss, stochern wir nur blind im Dunkeln. Daher wäre mein Rat, an die Mailingliste freebsd-mobile@ oder anhand der Indizien vielleicht auch freebsd-acpi@ zu schreiben. Dort ist einfach ein größeres Publikum und es gibt schon den einen oder anderen Thread zu "Acer und seine Macken".
 
Hallo,

vielen Dank erstmal für Eure Hilfe!

Ich habe so ziemlich alle Kombinationen von Tronars Tipps ausprobiert, aber hat leider alles nix geholfen.

Bei der Ausgabe der Variablen kommt allerdings tatsächlich ein "Variable unknow" oder "not defined" oder dergleichen (also ich habe es genau so eingegeben ohne $-Zeichen wie in der Shell oder so (kenn mich mit dem FreeBSD-Bootmanager nicht so aus)).

Ausprobiert habe ich es auch schon mit nur Akku, nur Netzteil oder beidem, funktioniert alles nicht. Das gleiche ganz ohne jede Peripherie.

Dieser Problem Report scheint ebenfalls den gleichen Fehler zu betreffen:
http://www.freebsd.org/cgi/query-pr.cgi?pr=166229

Schade, dass es hierfür keine einfache Lösung zu geben scheint. Der Fehler muss irgendwie mit 9.0 Einzug gehalten haben, da 8.3 Problemlos startet.

Ich werde versuchen, den Problem Report erneut zu beleben.

Vielen Dank nocheinmal für Eure Hilfe!

Viele Grüße
bastorran
 
Hallo,

nur der Vollständigkeit halber:
Hier ist ein von mir erstellter PR bezüglich des Problems: http://www.freebsd.org/cgi/query-pr.cgi?pr=171193

Außerdem hat sich das Problem erfreulicherweise mit 9.1-RC2 gelöst. Das Bugfixing unter FreeBSD ist ja schon toll, zumal es sich um so ein diffuses Problem handelte! Tolle Arbeit! :)

Viele Grüße
bastorran
 
Zuletzt bearbeitet von einem Moderator:
Zurück
Oben