Große Installationsprobleme

mario88

FREEAAK
Ich habe mir im Sommer einen neuen PC zusammengebaut, auf dem ich mir ein Gentoo Linux und auf einer kleinen Partition ein WinXP für FIFA 2004 installiert hab. Ich hab aber gleich im Vorhinein Platz für ein FreeBSD gemacht, weil ich vor hatte mich mit dem System weiterhin zu befassen. So weit so gut. Die Aufteilung der Platte sieht folgendermaßen aus.
/dev/hda1 Primäre Partition (NTFS)
/dev/hda2 Erweiterte Partition
/dev/hda3 Primäre Partition (da soll FBSD drauf)
/dev/hda5 Logische Partition (/boot von Gentoo Linux)
/dev/hda6 Logische Partition (swap von Gentoo Linux)
/dev/hda7 Logische Partition (/ von Gentoo Linux)
Jetzt habe ich die Mininstallations CD von FreeBSD 5.1 genommen und wollte mit der Installation beginnen. Ich hab die Partition mit fdisk angelegt und dann mit dem Disklabel-Editor eine "Unterpartition / und eine "Unterpartition" swap angelegt. Bei / habe hab ich UFS2+Softupdates als Filesystem genommen.
Dann hab ich die Installation ganz normal fortgesetzt und bei der Abfrage was mit dem MBR geschehen soll, hab ich ihm gesagt, dass er ihn unberührt lassen soll. Ich wollte die Partition dann nämlich mit lilo booten. (eigentlich verwende ich ja grub, aber der kennt ja kein UFS2)
Folgendes steht bei mir in der lilo.conf:

other = /dev/hda3
table = /dev/hda
label = FreeBSD
Es ist aber nicht möglich FreeBSD so zu booten. Er beginnt zwar, bricht dann nach ca. 1 Minute mit
can't load kernel
ab. :(
Ich hab das ganze dann nochmal versucht und einfach den FreeBSD-Bootmanager in den MBR geschrieben --> selbes Ergebnis. Auch er konnte FBSD nicht booten. :confused:
Kann mir einer sagen, was ich falsch mache?
 
Zuletzt bearbeitet:
Die Idee hatte ich auch schon, aber wenn nicht mal der FreeBSD-eigene Bootmanager das System booten kann, wie soll das dann gag können?
Außerdem kann man mit gag dem Linux-Kernel gar keine Parameter mitgeben oder?
 
Ich denke das Problem liegt nicht beim Bootmanager. Ich hab mir jetzt die 4.9er Mininstallations-CD gezogen und installiert. Jetzt kommt beim Booten folgender Fehler:
disk error 0x4 (lba=07264e80)
no /boot/loader
Und das sagt mir leider überhaupt _gar_ nichts. ;'(
 
kann es sein, dass die partition recht weit hinten liegt auf der platte?
es gibt da nämlich eine ganze hand voll obergrenzen, die man einhalten muss für eine boot partition, angefangen mit 504MB, 1GB, 2GB, 8GB.
wenn der rechner neu ist, sollte es die 8GB grenze sein, das heisst aber, dass die gesamte / partition (Achtung, FreeBSD bezeichnung!) innerhalb dieser 8GB liegen muss. besser wäre es, wenn der gesamte slice drin liegen würde.

gruss
Male
 
@Maledictus
Deine Betrachtungen zur Lage der Partition sind zumindest für FreeBSD der Schnee von Übergestern. Für OpenBSD trifft das zu.
 
Zum Lilo:
Ich nutze die Version 22.5.8, und die bootet auf einem HPT-Ataraid FreeBSD-5.2 mit folgenden Einträgen:
other=/dev/xxxx
label=FreeBSD
Das ATARAID ist im LBA-Modus eingerichtet.
M.E. gehört table=xxx nicht dort hin.
FreeBSD-5.2 übernimmt die BIOS-Plattengeometrie nicht. Wenn Du Deine HD im LBA-Modus mit dem Linux-Fdisk eingerichtet hast und in /stand/sysinstall einfach Enter drückst dann ändert FreeBSD-5.2 die Partitionstabelle in CHS. Das kann wiederum Probleme mit LILO verursachen, wenn am Anfang der lilo.conf lba32 eingetragen ist. Da hilft nur DMESG auswerten und die LILO manpage lesen.
 
Zuletzt bearbeitet von einem Moderator:
afaik ist das kein Problem eines OS sondern eines BIOS, die grenzen, auch die 8GB.
immernoch.
FreeBSD umgeht die grenze, nur ich bin mit nicht sicher in welcher phase des bootens.
 
Also ich hab jetzt alle möglichen Kombinationen aus FreeBSD-Releases und Bootmanagern probiert. Nichts hat funktioniert. Ich werd's jetzt einfach mal mit dem 5.2-rc2 Release probieren.
 
Ich hab das ganze jetzt anders gelöst :cool:
Ich hatte schon lange vor mir ne neue zusätzliche Platte zu kaufen, und jetzt hatte ich auch einen richtigen Anlass dazu. Also bin ich heute zum MediaMarkt marschiert und was sehe ich dort: Eine Seagate ST3120026A um nur 89,90 EUR. Ist ein hübsche 120 GB-Platte. :)
Die hab ich mir gekauft und da werd ich jetzt dann gleich eine FreeBSD 5.1 Installation testen.
 
Zuletzt bearbeitet:
Gut, so einfach war das doch nicht :D
Ich hab jetzt die neue Platte eingebaut, die Linux Partitionen draufkopiert, und wollte jetzt FreeBSD installieren.

Festplatte /dev/hdc (Secondary Master)

/dev/hdc1 Primäre Partition (da soll FBSD hin)
/dev/hdc5 Logisches Laufwerk (/boot von Genoo)
/dev/hdc6 Logisches Laufwerk (swap von Gentoo)
/dev/hdc7 Logisches Laufwerk (/ von Genoo)
Rest ist freier Speicherplatz
Ich hab's jetzt einfach mal mit FreeBSD 4.9 probiert und hab folgende "Unterpartitionen" erstellt.
/dev/ad2s1a --> /
/dev/ad2s1b --> swap
In grub hab ich folgendes eingetragen:
Code:
title=FreeBSD
root (hd0,0a)
makeactive
kernel /boot/loader
Dann bootet er zwar, der bootstrap loader braucht dann aber irrsinnig lang (~1 min.), der Kernel braucht dann auch nochmal ca. ne halbe min. zum Laden und dann startet das System endlich und bleibt dann hängen, und ich muss ihm die RootDisk manuell mitteilen: ufs:/dev/ad2s1a
Mit
Code:
title=FreeBSD
root (hd0,0)
chainloader +1
kommt zuerst der schon oben genannte Disk-Error, der bootstrap loader ist normal schnell und er bleibt wieder hängen. Er nimmt aber das ufs:/dev/ad2s1a nicht.
D.h. ich komm mit der ersten Variante zwar ins System, es braucht aber
a) viel zu lang und
b) muss ich ihm die RootDisk manuell mitteilen

Grub ist auf der /dev/hdc Platte installiert (daher auch die hd0-Einträge in grub).

Was läuft hier bitte falsch? :confused:
 
title=FreeBSD
root (hd0,0,a)
kernel /boot/loader

Nachtrag:
>Grub ist auf der /dev/hdc Platte installiert (daher auch die hd0-Einträge in grub).
Das stimmt nur wenn es keine hda gibt.
hdc ist für GRUB (hd1,x,x); wenn es keine hdb gibt, also hdc die zweite HD ist.
Wohin hast Du die stage1 und 2 installiert, wo befindet sich /boot/grub?

http://www.tux.org/pub/people/kent-robotti/looplinux/rip/FreeBSD-2.5.iso.bin

Damit kann man die Handhabung des GRUB üben. 2.5 ist nicht die FreeBSD-Version.
Mit der CD booten, dann mit c auf die Kommandozeile.
Auf der Kommandozeile: root (hd und TAB [englische Tastaturbelegung].
Es werden dann alle von GRUB erkannten Partitionen angezeigt.
Mit den anderen Befehlen genauso verfahren.
Solltest Du GRUB auf hda installiert haben, müssen die Einträge zum booten von FreeBSD 4.x von /dev/hdc1 so lauten:
title=FreeBSD
root (hd1,0,a)
kernel /boot/loader
Möglicherweise muß für den Kernel auch der komplette Pfad angegeben werden:
kernel (hd1,0,a)/boot/loader
Das habe ich unter FreeBSD noch nicht ausprobiert.
GRUB kann nur UFS1 lesen.

14:45
Ich habe FreeBSD-4.9 in /dev/hda1 installiert und konnte es mit GRUB booten:


GRUB version 0.91 (640K lower / 3072K upper memory)

[ Minimal BASH-like line editing is supported. For the first word, TAB
lists possible command completions. Anywhere else TAB lists the possible
completions of a device/filename. ]

grub> root (hd0, [TAB-Taste]
Possible partitions are:
Partition num: 0, [BSD sub-partitions immediately follow]
BSD Partition num: 'a', Filesystem type is ffs, partition type 0xa5
BSD Partition num: 'b', Filesystem type unknown, partition type 0xa5
BSD Partition num: 'e', Filesystem type is ffs, partition type 0xa5
BSD Partition num: 'f', Filesystem type is ffs, partition type 0xa5
BSD Partition num: 'g', Filesystem type is ffs, partition type 0xa5
Partition num: 1, Filesystem type is fat, partition type 0xc
Partition num: 2, Filesystem type is ext2fs, partition type 0x83
Partition num: 4, Filesystem type unknown, partition type 0x82
Partition num: 5, Filesystem type is ext2fs, partition type 0x83
Partition num: 6, Filesystem type is ext2fs, partition type 0x83
Partition num: 7, Filesystem type is ext2fs, partition type 0x83


grub> root (hd0,0,a)
Filesystem type is ffs, partition type 0xa5

grub> kernel /boot/loader
[FreeBSD-a.out, loadaddr=0x200000, text=0x1000, data=0x24000, bss=0x0,entry=0x200000]

grub> boot
 
Zuletzt bearbeitet von einem Moderator:
Danke für die Antwort, ich habe es gestern Nacht aber anders hinbekommen. Und zwar hab ich einfach anstatt / und swap manuell zu erstellen im Disklabel-Editor die AutoDefaults genommen. Und jetzt bootet er.
Das stimmt nur wenn es keine hda gibt.
hdc ist für GRUB (hd1,x,x); wenn es keine hdb gibt, also hdc die zweite HD ist.
Das dachte ich auch, allerdings ist das bei mir nicht so. :confused:
/boot/grub befindet sich auf /dev/hdc5 und die /dev/hda-Platte ist für grub hd1 und die /dev/hdc-Platte ist für grub hd0.
Jetzt hab ich nur ein Problem, ich kann FBSD mit
Code:
title=FreeBSD
root (hd0,0,a)
kernel /boot/loader
booten, allerdings braucht der bootsrap loader um die 10 sec. und der Kernel dann nochmal ca.7 sec. Ist das normal :confused:
Wenn ich ihm anstatt /boot/loader /kernel als Kernel angebe, ist es zwar rasend schnell (er labert aber vorher was von loader metadata missing), er findet aber keine RootDisk, die muss ich ihm manuell mitteilen.
 
Du kannst die /boot/defaults/loader.conf nach /boot kopieren und dort editieren. Da findest du folgende Zeile:
#autoboot_delay="10" # Delay in seconds before autobooting
Dort kannst du den Boottimer einstellen. (Die Raute zu Beginn der Zeile muss auch entfernt werden)
 
Danke, das verkürzt die 9 Sekunden, bevor ein Kernel gebootet wird, aber der bootstrap loader braucht immer noch so lang.
Folgendes passiert:

Ich starte per grub den Eintrag "FreeBSD" --> er startet den FreeBSD bootrap loader, dann kommt ca. 8 sec. dieses "| -/ \" dann steht:
"Loading /boot/defaults/loader.conf", dann kommt wieder dieses "|-/\" (braucht wieder ca. 8 sec., dann kommen die 9 sec. bevor ein Kernel gebootet wird (bei mir jetzt nur noch 2 sec.) und erst dann startet er den Kernel /kernel, lädt die Module linux.ko und nvidia.ko, was ebenfalls ziemlich lang dauert (~10sec).
Und erst dann startet der eigentliche Boot-Vorgang.
Ist das normal so?
 
Zurück
Oben