Sie sind nicht angemeldet.

1

31.07.2013, 20:26

Gentoo bootet nicht nach Installation mit LVM

Hallo. Ich habe gentoo installiert aber das System bootet nicht.
Ich habe zwei Partitionen. Ein /boot auf /dev/sda1 und eine lvm auf /dev/sda2.
In der lvm habe ich zwei partitionen, ein root und eine home.
Die lvm Partitionen habe ich mit ext4 formatiert.
Wenn ich den Rechner einschalte kommt das Auswahlmenu. Dort wähle ich gentoo ( was anderes gibt es nicht)

Dann kommt ein schwarzees Bild .

Quellcode

1
2
3
4
5
6
7
8
9
10
  Booting " Gentoo Linux 3.8.13"

root (hd0,1)
Filesystem type unknown , partition type 0x8e
kernel /boot/kernel-3.8.13 root=/dev/mapper/vg-root ro

Error 17 : Cannot mount selected partition 


Press any key to continue ....


Ja , das ist es mehr kommt nicht.


Was soll ich machen?

2

01.08.2013, 00:23

Was soll ich machen?
Du verwendest Grub1 oer Legacy und das kann kein LVM.
Grub2 kann das.

http://wiki.gentoo.org/wiki/LVM#LVM_on_root
knasan

- Bug oder Feature, das darf man sich hier aussuchen. -

3

01.08.2013, 16:03

Was soll ich machen?
Du verwendest Grub1 oer Legacy und das kann kein LVM.
Grub2 kann das.

http://wiki.gentoo.org/wiki/LVM#LVM_on_root

Hm nein, ein Bootloader der LVM unterstützt wird wahrscheinlich nur dann benötigt wenn er selbst mit im LVM liegt. Laut der oben genanten Ausgabe funktioniert grub ja soweit einwandfrei.
Bei einer separaten /boot Partition die nicht im LVM liegt sollte auch grub-legacy problemlos nutzbar sein.

@tiger77
Poste am besten ein paar genauere Informationen zu deiner Konfiguration, zb
1) Welche Partitionen sind auf der Platte vorhanden - und was liegt auf welcher Partition
2) Was für eine initrd wird genutzt - wie, und mit welchen Optionen wurde sie erstellt
3) Poste am besten auch die /boot/grub/grub.conf
Vermutlich wird man mit diesen Infos eher weiterhelfen können.

4

01.08.2013, 17:42

Hallo.
Erst mal danke für eure Antworten.

Meine Partitionen auf der Festplatte sehen so aus. Ich habe eine 300MB große /boot Partition. Die ist /dev/sda1 und liegt nicht im lvm.
Der Rest ist eine große lvm Partition . In der habe ich eine root Partition. Das ist /dev/mapper/vg-root und die zweite ist eine /home Partition.

Zur initrd. Die habe ich gar nicht erstellt.

Meine /boot/grub/grub.conf sieht so aus :

Quellcode

1
2
3
4
5
6
7
8
9
10
11
12
...
...
...


title Gentoo Linux 3.8.13
root(hd0,1)
kernel /boot/kernel-3.8.13 root=/dev/mapper/vg-root ro
#initrd ......


# vim:ft=conf




Ja ich habe noch eine andere Frage. In portage ist grub2. Mit ihm kann man auch aus LVM booten. Ich glaube ich muss den testing Zweig benutzen um grub2 zu installieren.
Das will ich nicht umbedingt.
Ich habe vor gentoo ein wenig mit Arch Linux rumgemacht. Arch benutzt syslinux als bootloader. Der kann auch in ein LVM installiert werden.
Ich habe in den Ports mit " emerge --search syslinux" gesucht und emerge hat mir die Version 4.06 rausgegeben. Die ist in den Ports vorhanden.

Nun möchte ich wissen ob die Version 4.06 von syslinux auch in ein LVM installiert werden kann und es auch booten kann?

5

01.08.2013, 19:02

Hallo tiger77,

ja grub2 ist in testing, aber das heisst noch lange nicht das du testing für dein gesamtes System benutzen musst. Lege mit Rootrechten eine package.keywords-Datein an

Quellcode

1
touch /etc/portage/package.keywords


In diese Datei muss nun sys-boot/grub ~amd64.

Quellcode

1
echo "sys-boot/grub ~amd64" >> /etc/portage/package.keywords


Das ~amd64 passt natürlich nur wenn du auch die 64-Bit Version von Gentoo installiert hast. Falls du wider Erwarten doch die 32-Bit Version hast, musst du ~amd64 mit ~x86 ersetzen.

Nebeninfo: Die package.keywords Datei kann auch ein Verzeichnis sein in dem sich mehrere Dateien finden lassen in denen Keywords demaskiert werden können. Das bietet sich an wenn man relativ viel aus testing verwendet und nicht den Überblick verlieren will. Damit es aber leichter zu verstehen ist und du wahrscheinlich auch nicht so viel aus testing verwenden willst/wirst reicht eine Datei vollkommen aus :).

LG Zeit

Zitat

Pipes sind wie eine Zahnpastatube:
Um den Inhalt zu untersuchen,
muss man ihn erst herausdrücken;
danach gibt es keine Möglichkeit,
ihn wieder hineinzubringen.

--Marc J. Rochkind in "UNIX Programmierung für Fortgeschrittene"

6

01.08.2013, 21:53

Hallo.
Ich habe ein wenig gebastelt und habe es hin bekommen. Der Laptop bootet jetzt.
Ich habe genkernel installiert und habe mit " genkernel --lvm --install initramfs" eine initrd erstellt und habe sie dan in grub.conf eingetragen.
Dann habe in der root Zeile hd(0,1) ein hd(0,0) gemacht.
Zum Schluss habe ich in die kernel Zeile noch "dolvm" und "rootfstype=ext4" eingetragen.

Jetzt bootet der Rechner und ich habe neue Probleme. Die Netzwerkkarte wird nicht erkannt. Die Schrift beim booten ist zu groß.
Werde es versuchen selbst lösen.

Aber was ist mit syslinux 4.06? Kann ich bei Benutzung von syslinux 4.06 auf eine boot Partiton verzichten?

7

02.08.2013, 11:03

Hehe, prima :)
Jetzt bootet der Rechner und ich habe neue Probleme. Die Netzwerkkarte wird nicht erkannt. Die Schrift beim booten ist zu groß.
Werde es versuchen selbst lösen.

Bezüglich der Netzwerkkarte(n) ist halt wichtig das die benötigten Treiber im Kernel verfügbar gestellt sind. Wenn das der Fall ist sollten die Interface(s) unter

Quellcode

1
# ifconfig -a
gelistet werden, die man dann wie gewünscht nutzen kann.
Nutze am besten auch die Gentoo Network Configuration Info

Wenn die Schrift beim booten zu groß ist fehlt wahrscheinlich noch ein passender Framebuffer
Welchen du nutzen kannst hängt von der Grafikkarte und den genutzten Treiber ab. Für die freien Treiber nutze am besten KMS (Kernel Mode Setting) (sofern verfügbar)
siehe zb auch im https://wiki.gentoo.org/wiki/Xorg/Configuration
Bei nutzung der proprietärern Treiber (zb fglrx oder nvidia binary Blobs) ist uvesafb meist eine gute wahl --> http://wiki.gentoo.org/wiki/Uvesafb

Viel Erfolg

8

02.08.2013, 18:30

Hallo.
Ich habe das Problem mit meiner Netzwerkkarte gefunden. Ein "ifconfig -a " lierfert nur die Schnittstelle lo. Kein eth0 oder enp2s0.

Ich benötige das Modul r8169 damit meine Netzwerk läuft. Das Modul ist nicht in meinem Kernel. Muss einen neuen bauen.

Jetzt habe ich eine Frage. Wenn ich " make && make modules_install " ausführe, werden die module unter /lib überschrieben.

Wie kann ich das so machen das unter /lib ein anderer Ordner ensteht, zB 3.8.13-gentoo-version2 ?

9

02.08.2013, 19:33

Jetzt habe ich eine Frage. Wenn ich " make && make modules_install " ausführe, werden die module unter /lib überschrieben.
Hm, ob sie in dem sinne überschrieben werden bin ich mir nicht sicher. Aber sofern du im Kernel bezüglich Module änderungen vornimmst wird auch ein schon vorhandenes /lib/modules/Kernelversion mit aktualisiert.

Wie kann ich das so machen das unter /lib ein anderer Ordner ensteht, zB 3.8.13-gentoo-version2 ?
Das kann in CONFIG_LOCALVERSION gesetzt werden, im menuconfig zu finden unter
General setup --->
() Local version - append to kernel release

Aus deinem Beispiel füge dann "-version2" hinzu.

10

06.08.2013, 07:41

Hm, keine Lösung in Sicht?