Hallo zusammen.
Ich bin gerade dabei gentoo auf meinen raspberry zu installieren. Dazu möchte ich den kleinst möglichen kernel verwenden. Leider ist das komplizierter als gedacht.
Ich übe derzeit mit dem standard gentoo genkernel (vanilla mit gentoo patches + initramfs generator) für x86_64 und qemu, bevor ich mich dann an den gepatchten raspberry vanilla kernel wage. Ich verdende die allnoconfig als ausgangspunkt. Ich vermute das ich für die qemu Festplatte den ATA Treiber und den PCI Treiber brauche. Ausserdem habe ich passend zum fs ext2 und ext3 ausgewählt. Aber aus einem nich näher benannten Grund findet er das /dev/sda1 nicht oder kann zumindest das rootfs nicht mounten:
VFS: Cannot openroot device "sda1" or unknown-block(0,0) Kernel panic - not syncing: VFS: Unable to mount root fs on unkown-block(0,0)
Wie bekommt man denn nun raus welche Module man alle einkompilieren muss. Ich habe nun schon einige Wochen mit google befragen verbracht. Niemand scheint das so zu machen :(. Alle machen den Kernel modular und schalten alles an. Das kanns doch nicht sein.
Danke fürs lesen. Ich hoffe ihr könnt mir weiterhelfen.
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1
Am 08.04.2013 23:53, schrieb reiner.lange@gmx.de:
Hallo zusammen.
Ich bin gerade dabei gentoo auf meinen raspberry zu installieren. Dazu
möchte
ich den kleinst möglichen kernel verwenden. Leider ist das
komplizierter als
gedacht.
Ich übe derzeit mit dem standard gentoo genkernel (vanilla mit gentoo
patches
- initramfs generator) für x86_64 und qemu, bevor ich mich dann an den
gepatchten raspberry vanilla kernel wage. Ich verdende die allnoconfig als ausgangspunkt. Ich vermute das ich
für die
qemu Festplatte den ATA Treiber und den PCI Treiber brauche. Ausserdem
habe
ich passend zum fs ext2 und ext3 ausgewählt. Aber aus einem nich näher benannten Grund findet er das /dev/sda1 nicht oder kann zumindest das
rootfs
nicht mounten:
VFS: Cannot openroot device "sda1" or unknown-block(0,0) Kernel panic - not syncing: VFS: Unable to mount root fs on
unkown-block(0,0)
Wie bekommt man denn nun raus welche Module man alle einkompilieren
muss. Ich
habe nun schon einige Wochen mit google befragen verbracht. Niemand
scheint
das so zu machen :(. Alle machen den Kernel modular und schalten alles
an. Das
kanns doch nicht sein.
Danke fürs lesen. Ich hoffe ihr könnt mir weiterhelfen.
Lug-dd maillist - Lug-dd@mailman.schlittermann.de https://ssl.schlittermann.de/mailman/listinfo/lug-dd
Hallo,
ich würde einfach aus einem Livesystem heraus schauen, was der Kernel den denkt zu finden und was er letzten Endes für Module benutzt ;)
- -- Mit freundlichen Grüßen / With kind regards
Jan Leonhardt
IT-Dienstleistungen IT-Konsultant Administration Softwareentwicklung
Hallo Reiner,
On Mon, Apr 08, 2013 at 21:53:11 +0000, reiner.lange@gmx.de wrote:
Ich übe derzeit mit dem standard gentoo genkernel (vanilla mit gentoo patches
- initramfs generator) für x86_64 und qemu, bevor ich mich dann an den
gepatchten raspberry vanilla kernel wage.
Disclaimer: Was gentoo am Kernel patcht, weiss ich nicht. Ebensowenig ist mir der "initramfs generator" bekannt.
Ich verdende die allnoconfig als ausgangspunkt. Ich vermute das ich für die qemu Festplatte den ATA Treiber und den PCI Treiber brauche. Ausserdem habe ich passend zum fs ext2 und ext3 ausgewählt. Aber aus einem nich näher benannten Grund findet er das /dev/sda1 nicht oder kann zumindest das rootfs nicht mounten:
VFS: Cannot openroot device "sda1" or unknown-block(0,0) Kernel panic - not syncing: VFS: Unable to mount root fs on unkown-block(0,0)
Um das Rootdevice in qemu zu mounten brauchst Du wenigstens (modular im initramfs oder fest im Kernelimage ist Deine Sache):
CONFIG_SCSI=y CONFIG_BLK_DEV_SD=y CONFIG_ATA=y CONFIG_ATA_SFF=y CONFIG_ATA_PIIX=y
Und natuerlich den Treiber fuer das Rootfilesystem (ext3 oder was auch immer).
Warum SCSI? Weil nahezu alle Storage-Controller (echtes SCSI, SATA, PATA, USB-Storage, Firewire-Storage, ...) auf den SCSI-Layer abgebildet werden.
Warum ATA_SFF? Damit ATA_PIIX ueberhaupt auswaehlbar ist.
Gruss, Chris
Am Montag, 8. April 2013, 20:33:06 schrieb Christian Perle:
Um das Rootdevice in qemu zu mounten brauchst Du wenigstens (modular im initramfs oder fest im Kernelimage ist Deine Sache):
CONFIG_SCSI=y CONFIG_BLK_DEV_SD=y CONFIG_ATA=y CONFIG_ATA_SFF=y CONFIG_ATA_PIIX=y
Und natuerlich den Treiber fuer das Rootfilesystem (ext3 oder was auch immer).
Warum SCSI? Weil nahezu alle Storage-Controller (echtes SCSI, SATA, PATA, USB-Storage, Firewire-Storage, ...) auf den SCSI-Layer abgebildet werden.
Warum ATA_SFF? Damit ATA_PIIX ueberhaupt auswaehlbar ist.
Gruss, Chris
Hey! Vielen Dank. Das hat funktioniert :)
Das die Treiber so verschachtelt sind war mir bisher nicht klar. Etwa das man das BLK_DEV_SD noch anschalten muss damit der kernel ueberhaupt mal Massenspeicher fuer SCSI unterstuetzt. Ganz zu schweigen davon das der ATA Geraete als SCSI behandelt werden.
Auf dem raspberry wird das lustig. Ich hoffe mal das ich mich von den Geraetetreibern durch die depencies nach oben arbeiten kann. Das haetter hier ja funktioniert. Ueber Netzwerksupport will ich noch garnicht nachdenken. *grusel*
Hallo Reiner,
On Tue, Apr 09, 2013 at 16:12:10 +0000, Reiner Lange wrote:
CONFIG_SCSI=y CONFIG_BLK_DEV_SD=y
[...]
Hey! Vielen Dank. Das hat funktioniert :)
Sehr gut.
Das die Treiber so verschachtelt sind war mir bisher nicht klar. Etwa das man das BLK_DEV_SD noch anschalten muss damit der kernel ueberhaupt mal Massenspeicher fuer SCSI unterstuetzt.
Genaugenommen werden mit BLK_DEV_SD sogar nur SCSI Disks unterstuetzt. SCSI CD/DVD (BLK_DEV_SR) und SCSI Tape (CHR_DEV_ST) gibts nochmal extra.
Ganz zu schweigen davon das der ATA Geraete als SCSI behandelt werden.
Die gemeinsame Basis libata fuer SATA/PATA-Controller gibt es seit Kernel 2.6.14 oder so. Ausserdem gibt es parallel dazu immer noch die alten IDE-Treiber, die man aber nicht mehr nutzen sollte.
Auf dem raspberry wird das lustig. Ich hoffe mal das ich mich von den Geraetetreibern durch die depencies nach oben arbeiten kann. Das haetter hier ja funktioniert. Ueber Netzwerksupport will ich noch garnicht nachdenken. *grusel*
Bei Embedded Plattformen wie Raspberry Pi bin ich nicht mal sicher, ob dort Storage oder Netzwerk ueberhaupt auf einem "normalen" Bus sitzt und ob man mit quelloffenen, im vanilla Kernel enthaltenen Treibern weit kommt. Aber vielleicht male ich auch zu schwarz :)
Gruss, Chris
lug-dd@mailman.schlittermann.de