Gentoo Forums
Gentoo Forums
Gentoo Forums
Quick Search: in
[s] Kernelparameter für root funktioniert nur mit /dev/sdaX
View unanswered posts
View posts from last 24 hours
View posts from last 7 days

 
Reply to topic    Gentoo Forums Forum Index Deutsches Forum (German)
View previous topic :: View next topic  
Author Message
schmidicom
Veteran
Veteran


Joined: 09 Mar 2006
Posts: 1914
Location: Schweiz

PostPosted: Wed Aug 01, 2012 7:21 am    Post subject: [s] Kernelparameter für root funktioniert nur mit /dev/sdaX Reply with quote

Ich versuche gerade meinem Kernel beizubringen die root Partition über die UUID oder alternativ über das Label ausfindig zu machen doch leider funktioniert das nicht und Dr. Google spuckte zwar jede Menge Ergebnisse dazu aus aber wirklich hilfreich war davon auch nichts.

Das merkwürdige und unlogische an der Sache ist folgendes:
root=/dev/sdaX (funktioniert)
root=XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX (funktioniert nicht)
root=UUID=XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX (funktioniert nicht)
root=LABEL=gentoo (funktioniert nicht)

Bei der UUID dachte ich noch "Hmm, OK vielleicht stimmt die Ausgabe von blkid nicht oder ich habe mich bei der Eingabe vertippt" aber beim Label bin ich mir sehr sicher das ich es richtig abgetippt habe.
Kann es sein das in der Kernelkonfiguration irgendwo etwas fehlt das er braucht um die root Partition über die UUID oder das Label ausfindig machen zu können?

EDIT: Die Root Partition ist mit ext4 formatiert.
_________________
Lenovo - ThinkPad P16s Gen 2 - 21K9CTO1WW


Last edited by schmidicom on Wed Aug 01, 2012 12:33 pm; edited 2 times in total
Back to top
View user's profile Send private message
py-ro
Veteran
Veteran


Joined: 24 Sep 2002
Posts: 1734
Location: Velbert

PostPosted: Wed Aug 01, 2012 7:33 am    Post subject: Reply with quote

Das geht nur mit Initrd, der Kernel selber kann das nicht interpretieren.

Bye
Py
Back to top
View user's profile Send private message
schmidicom
Veteran
Veteran


Joined: 09 Mar 2006
Posts: 1914
Location: Schweiz

PostPosted: Wed Aug 01, 2012 7:44 am    Post subject: Reply with quote

py-ro wrote:
Das geht nur mit Initrd, der Kernel selber kann das nicht interpretieren.

Bye
Py

Echt jetzt... 8O

Toll das in den Anleitungen die ich so im Web gefunden habe nichts davon erwähnt wurde, aber da für mein kleines Projekt ein initrd nicht in Frage kommt (und ich nicht wirklich bock habe ein initrd zu basteln) muss ich wohl damit leben das auf die klassische Art anzugeben.
Oder kennt jemand einen Kernelpatch der das benutzen einer UUID auch ohne initrd ermöglicht?
_________________
Lenovo - ThinkPad P16s Gen 2 - 21K9CTO1WW
Back to top
View user's profile Send private message
py-ro
Veteran
Veteran


Joined: 24 Sep 2002
Posts: 1734
Location: Velbert

PostPosted: Wed Aug 01, 2012 8:14 am    Post subject: Reply with quote

Jein, es gibt eine Möglichkeit mir UUID zu arbeiten ohne Initrd, allerdings sind die Rahmenbedingungen ziemlich streng und ich hab es bisher nicht ausporbiert.

Dafür musst du allerdings GPT benutzen und die UUID der Partition und nicht des Dateisystems benutzen, dummerweise finde ich die Doku dazu gerade nicht.

Bye
Py
Back to top
View user's profile Send private message
Max Steel
Advocate
Advocate


Joined: 12 Feb 2007
Posts: 2229
Location: My own world! I and Gentoo!

PostPosted: Wed Aug 01, 2012 8:18 am    Post subject: Reply with quote

du könntest höchstens versuchen ob im devtmpfs /dev/disk/by-uuid/ existieren.
_________________
mfg
Steel
___________________

Heim-PC: AMD Ryzen 5950X, 64GB RAM, GTX 1080
Laptop: Intel Core i5-4300U, 16GB RAM, Intel Graphic
Arbeit-PC: Intel i5-1145G7, 16GB RAM, Intel Iris Xe Graphic (leider WSL2)
Back to top
View user's profile Send private message
schmidicom
Veteran
Veteran


Joined: 09 Mar 2006
Posts: 1914
Location: Schweiz

PostPosted: Wed Aug 01, 2012 8:40 am    Post subject: Reply with quote

Die UUID unter /dev/disk/by-uuid/ und die von blkid sind identisch gewesen und die HD ist mit GPT gemacht was ich aber nicht wusste war das Dateisystem und Partition unterschiedliche UUID's haben.
Ich nehme mal an blkid und /dev/disk/by-uuid/ geben die UUID des Dateisystems aus also muss ich jetzt herausfinden wie die UUID der Partition lautet um "root=UUID=XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX" nutzen zu können?

EDIT:
Habe nun mit der EFIShell die UUID der Partition ausfindig gemacht (war tatsächlich eine andere als die von blkid) aber leider funktioniert diese auch nicht, nur über das Device "/dev/sda2" findet der Kernel die root Partition.
_________________
Lenovo - ThinkPad P16s Gen 2 - 21K9CTO1WW
Back to top
View user's profile Send private message
firefly
Watchman
Watchman


Joined: 31 Oct 2002
Posts: 5161

PostPosted: Wed Aug 01, 2012 11:46 am    Post subject: Reply with quote

schmidicom wrote:

EDIT:
Habe nun mit der EFIShell die UUID der Partition ausfindig gemacht (war tatsächlich eine andere als die von blkid) aber leider funktioniert diese auch nicht, nur über das Device "/dev/sda2" findet der Kernel die root Partition.

Der Parameter für die Angabe der UUID einer Partition für root heißt nicht UUID sondern PARTUUID
http://lkml.org/lkml/2011/6/9/574
_________________
Ein Ring, sie zu knechten, sie alle zu finden,
Ins Dunkel zu treiben und ewig zu binden
Im Lande Mordor, wo die Schatten drohn.
Back to top
View user's profile Send private message
Klaus Meier
Advocate
Advocate


Joined: 18 Apr 2005
Posts: 2908
Location: Bozen

PostPosted: Wed Aug 01, 2012 12:01 pm    Post subject: Reply with quote

Benutzt du grub2? Da gibt es in der /etc/default/grub einen Eintrag:
Code:
# Uncomment if you don't want GRUB to pass "root=UUID=xxx" parameter to kernel
#GRUB_DISABLE_LINUX_UUID=true

Eventuell steht der falsch.
Back to top
View user's profile Send private message
schmidicom
Veteran
Veteran


Joined: 09 Mar 2006
Posts: 1914
Location: Schweiz

PostPosted: Wed Aug 01, 2012 12:25 pm    Post subject: Reply with quote

firefly wrote:
schmidicom wrote:

EDIT:
Habe nun mit der EFIShell die UUID der Partition ausfindig gemacht (war tatsächlich eine andere als die von blkid) aber leider funktioniert diese auch nicht, nur über das Device "/dev/sda2" findet der Kernel die root Partition.

Der Parameter für die Angabe der UUID einer Partition für root heißt nicht UUID sondern PARTUUID
http://lkml.org/lkml/2011/6/9/574

Genau das war es, vielen Dank damit funktioniert nun auch das und mein kleines Abenteuer war erfolgreich. :D

Klaus Meier wrote:
Benutzt du grub2? Da gibt es in der /etc/default/grub einen Eintrag:
Code:
# Uncomment if you don't want GRUB to pass "root=UUID=xxx" parameter to kernel
#GRUB_DISABLE_LINUX_UUID=true

Eventuell steht der falsch.

Mit GRUB hab ich schon lange aufgehört da mir dieser inzwischen einfach viel zu "aufgebläht" ist.
Aber jetzt wo ich fertig bin brauche ich auch keinen Bootloader mehr denn nun startet das UEFI von meinem Laptop den Linux-Kernel direkt. 8)
_________________
Lenovo - ThinkPad P16s Gen 2 - 21K9CTO1WW
Back to top
View user's profile Send private message
Hollowman
Guru
Guru


Joined: 19 Apr 2007
Posts: 584

PostPosted: Thu Aug 02, 2012 3:49 pm    Post subject: Reply with quote

Hi

Quote:
Aber jetzt wo ich fertig bin brauche ich auch keinen Bootloader mehr denn nun startet das UEFI von meinem Laptop den Linux-Kernel direkt.


Kannst du mir dazu mal etwas mehr schreiben? Wie geht das? Kann ich dann den Bootloader komplett weg lassen? Gibts da irgendwo ne Anleitung zu?


Sebastian
Back to top
View user's profile Send private message
py-ro
Veteran
Veteran


Joined: 24 Sep 2002
Posts: 1734
Location: Velbert

PostPosted: Thu Aug 02, 2012 3:59 pm    Post subject: Reply with quote

Suchbegriffe: Kernel EFI Stub Loader
Back to top
View user's profile Send private message
schmidicom
Veteran
Veteran


Joined: 09 Mar 2006
Posts: 1914
Location: Schweiz

PostPosted: Thu Aug 02, 2012 4:21 pm    Post subject: Reply with quote

Hollowman wrote:
Hi
Quote:
Aber jetzt wo ich fertig bin brauche ich auch keinen Bootloader mehr denn nun startet das UEFI von meinem Laptop den Linux-Kernel direkt.

Kannst du mir dazu mal etwas mehr schreiben? Wie geht das? Kann ich dann den Bootloader komplett weg lassen? Gibts da irgendwo ne Anleitung zu?
Sebastian

Ja, ich brauche und habe jetzt auf meinem Laptop keinen Bootloader mehr weil das UEFI meinen Kernel direkt ab der "EFI-Systempartition" laden kann.
Aber eine Schritt für Schritt Anleitung habe ich keine gefunden, das dafür notwendige Wissen habe ich hauptsächlich aus folgenden beiden Seiten:
http://blog.realcomputerguy.com/2012/05/efi-stub-booting-without-bootloader.html
https://help.ubuntu.com/community/UEFIBooting
Das einzige Problem das ich selber lösen musste war ein kleines Henne-Ei-Problem wegen dem Programm "efibootmgr" das benötigt wird um im UEFI einen entsprechenden Booteintrag für den Kernel zu erstellen. Es läuft nämlich nur wenn das Modul "efivars" geladen ist und dieses wiederum lässt sich nur laden wenn der Kernel bereits über EFI gestartet wurde. :?

Vielleicht schreibe ich irgendwann mal eine Anleitung im passendem Subforum aber heute sicher nicht mehr. ;)
_________________
Lenovo - ThinkPad P16s Gen 2 - 21K9CTO1WW
Back to top
View user's profile Send private message
Hollowman
Guru
Guru


Joined: 19 Apr 2007
Posts: 584

PostPosted: Sun Aug 05, 2012 1:08 pm    Post subject: Reply with quote

Hi

Habs hinbekommen.

http://blog.realcomputerguy.com/2012/05/efi-stub-booting-without-bootloader.html

Die Anleitung reicht völlig.

Das einzige was mich gebremst hat, ist das bei meinem Asus Board die EFI Partition die erste auf der Platte sein muss (sda1, sdb1 etc). Mit sda3 als EFI Partition konnte ich nicht booten.

Der Nvidia Treiber zickt auch ein bisschen wegen des EFI Framebuffer, läuft aber nach einem Stacktrace einwandfrei.

Sebastian

PS: Vielleicht kann das ein Mod trennen.
Back to top
View user's profile Send private message
schmidicom
Veteran
Veteran


Joined: 09 Mar 2006
Posts: 1914
Location: Schweiz

PostPosted: Sun Aug 05, 2012 2:13 pm    Post subject: Reply with quote

Hollowman wrote:
Der Nvidia Treiber zickt auch ein bisschen wegen des EFI Framebuffer, läuft aber nach einem Stacktrace einwandfrei.

Den EFI Framebuffer habe ich weggelassen, beim Laptop ist nur der Intel-KMS und beim HTPC nur der Radeon-KMS eingerichtet.
_________________
Lenovo - ThinkPad P16s Gen 2 - 21K9CTO1WW
Back to top
View user's profile Send private message
Display posts from previous:   
Reply to topic    Gentoo Forums Forum Index Deutsches Forum (German) All times are GMT
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum