Ramdisk vom USB-Stick einhängen unmöglich!

Welches Modul/Treiber für welche Hardware, Kernel compilieren...
Benutzeravatar
king-crash
Beiträge: 722
Registriert: 08.08.2006 12:07:56
Lizenz eigener Beiträge: MIT Lizenz

Re: Ramdisk vom USB-Stick einhängen unmöglich!

Beitrag von king-crash » 24.06.2019 19:29:38

Mindestens soweit wie in deinem ersten Post sollte er schon kommen, sonst hat sich etwas anderes verändert.
Also bitte den Zustand wie im ersten Post herstellen, dann allerdings die Argumente wie folgt:

Code: Alles auswählen

console=ttyS0,115200n8 hlt no_console_suspend vmalloc=256m mem=1024m logo=osd1,loaded,panel,debug hdmitx=vdacoff,powermode1,unplug_powerdown a9_clk_max=800000000 root=/dev/cardblksd2 rootwait rootdelay=5

Joe58

Re: Ramdisk vom USB-Stick einhängen unmöglich!

Beitrag von Joe58 » 24.06.2019 19:36:15

Kommt folgendes, mit der gesamten Befehlszeile:

Code: Alles auswählen

[    6.394242@0] Warning: unable to open an initial console.
[    6.399330@0] Waiting 5sec before mounting root device...
[    6.405779@0]  cardblksd: cardblksd1 cardblksd2 cardblksd3 cardblksd4
[    6.412174@1] monitor : INSERT
[    6.414066@1] [extern_wifi_set_enable] in
[    6.418036@1] WIFI  Enable! 
[    6.420880@1] 
[    6.420883@1] SD/MMC initialization started......
[    6.862954@0] sd_mmc_info->card_type=0
[    6.862984@0] begin SDIO check ......
[    6.865590@0] Actual delay time in sdio_voltage_validation() = 10 ms
[    6.923130@0] Got RCA = 1
[    6.925095@0] #this sdio card could not support read after write
[    6.926261@0] sd_mmc_init() is completed successfully!
[    6.931308@0] This SDIO card is working in Wide Bus and at 25MHz High Speed mode!

Joe58

Re: Ramdisk vom USB-Stick einhängen unmöglich!

Beitrag von Joe58 » 24.06.2019 19:45:22

Habe den Zustand wieder hergestellt indem ich root=/dev/cardblksd1 eingegeben habe:

Code: Alles auswählen

[    6.538992@0] Warning: unable to open an initial console.
[    6.544292@0] Waiting 5sec before mounting root device...
[   11.557918@0] VFS: Cannot open root device "cardblksd1" or unknown-block(253,1)
[   11.559587@0] Please append a correct "root=" boot option; here are the available partitions:
[   11.568137@0] fd00        15611904 cardblksd  driver: cardblk
[   11.573832@0]   fd01           65536 cardblksd1 00000000-0000-0000-0000-000000000000cardblksd1
[   11.582424@0]   fd02          524288 cardblksd2 00000000-0000-0000-0000-000000000000cardblksd2
[   11.591015@0]   fd03          262144 cardblksd3 00000000-0000-0000-0000-000000000000cardblksd3
[   11.599609@0]   fd04         1048576 cardblksd4 00000000-0000-0000-0000-000000000000cardblksd4
[   11.608198@0] ** enable watchdog
[   11.611409@0] Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(253,1)
[   11.620062@0] [<c02db18c>] (unwind_backtrace+0x0/0xfc) from [<c08103f4>] (panic+0x68/0x18c)

Benutzeravatar
king-crash
Beiträge: 722
Registriert: 08.08.2006 12:07:56
Lizenz eigener Beiträge: MIT Lizenz

Re: Ramdisk vom USB-Stick einhängen unmöglich!

Beitrag von king-crash » 24.06.2019 19:47:01

Hat die SD Karte 4 Partitionen?
Auf welcher Partition ist was?

Joe58

Re: Ramdisk vom USB-Stick einhängen unmöglich!

Beitrag von Joe58 » 24.06.2019 19:50:42

Ja die SD Karte hat vier Partitionen.

Die Erste ist FAT32 dort ist das Kernel Image.

Die Zweite ist ext2 dort habe ich das Android System derzeit deponiert.

Die Dritte ist ext2 dort hat Android seine Cache Partition.

Die Vierte ist ext2 dort ist für Android die /data also userdata Partition.

Also das Android kann ich von SD Karte prima booten. :)

Das armhf Debian ist auf dem USB-Stick, hatte den gerade nicht eingesteckt, deswegen kein sda.

:)

Benutzeravatar
king-crash
Beiträge: 722
Registriert: 08.08.2006 12:07:56
Lizenz eigener Beiträge: MIT Lizenz

Re: Ramdisk vom USB-Stick einhängen unmöglich!

Beitrag von king-crash » 24.06.2019 19:53:16

Auf der ersten Partition sind dann Android und normaler Linux Kernel?

Joe58

Re: Ramdisk vom USB-Stick einhängen unmöglich!

Beitrag von Joe58 » 24.06.2019 19:58:16

Nee, dort ist nur der Linux Kernel (/dev/cardblksd1) 64 MB Größe die Partition.
Android, also das System auf /dev/cardblksd2 Größe 512 MB
Androids Cache /dev/block/cardblksd3 Größe 256 MB
Android Partition für die Apps /dev/block/cardblksd4 Größe 1 GB

Auf dem USB-Stick ist eine Partition mit Debian armhf System.

Benutzeravatar
king-crash
Beiträge: 722
Registriert: 08.08.2006 12:07:56
Lizenz eigener Beiträge: MIT Lizenz

Re: Ramdisk vom USB-Stick einhängen unmöglich!

Beitrag von king-crash » 24.06.2019 20:15:27

Was ist das eigentlich für ein seltsamer cardblk treiber. Ich kann den bei mir nirgendwo finden.

Ok root=/dev/cardblksd1 kann natürlich nicht funktionieren, da ist kein System drauf. Trotzdem sollte er es mounten können und dann melden dass keine init zu finden ist.

Joe58

Re: Ramdisk vom USB-Stick einhängen unmöglich!

Beitrag von Joe58 » 24.06.2019 20:23:41

Also soll ich jetzt das initrd.img.gz komplett entpackt bei INITRAMFS_SOURCE= packen und dann die root=/dev/sda1 angeben?

Habe dann custom Kernel mit initramfs armhf und root=/dev/sda1.

Der custom Kernel bootet garnicht erst durch, das initramfs ist zu groß?

Code: Alles auswählen

[    1.476900@1] UDP hash table entries: 256 (order: 1, 8192 bytes)
[    1.482879@1] UDP-Lite hash table entries: 256 (order: 1, 8192 bytes)
[    1.489623@1] NET: Registered protocol family 1
Anscheinend liegt es an das initramfs, sobald ich eins von Android entpackt in den Ordner des CONFIG_INITRAMFS_SOURCE= packe, zeigt das Tablet Fehler an, welche nach /system/bin etc. suchen. Also Android typische Fehler. :(

guennid

Re: Ramdisk vom USB-Stick einhängen unmöglich!

Beitrag von guennid » 24.06.2019 20:50:29

king-crash hat geschrieben:- Meine config vom aktuellen kernel
- Alles raus: initrams support, loadable module support
Wie eggy schon sagte: nicht die Begriffe durcheinanderbringen! Ich sprach von initrd (CONFIG_BLK_DEV_INITRD), nicht von initramfs.

Ein Kern ohne

Code: Alles auswählen

CONFIG_BLK_DEV_INITRD=yes
bootet nicht. bzw. es bedarf erheblicher Eingriffe und nicht nur des Weglassens einiger Module, wenn er's doch ohne tun soll. Und mit dieser Option benötigt der Kern udev.

Ich sage nicht, dass er auf eine initrd verzichten soll. Ich weise nur darauf hin, dass es alles andere als trivial ist, das so einrichten zu wollen.

Grüße, Günther

Benutzeravatar
king-crash
Beiträge: 722
Registriert: 08.08.2006 12:07:56
Lizenz eigener Beiträge: MIT Lizenz

Re: Ramdisk vom USB-Stick einhängen unmöglich!

Beitrag von king-crash » 24.06.2019 21:37:17

Es braucht zum booten ganz sicher kein udev.
Das ist schlicht nicht wahr.

Gerade noch mal im Kernel geschaut:
[]Initial RAM filesystem and RAM disk (initramfs/initrd) support
...
Symbol: BLK_DEV_INITRD
Bitte informiere dich besser und behaupte nicht einfach irgend etwas ins Blaue.


Edit: Ich muss einschränken, dass ich das nur für Kernel 4.14 und 5.1 sagen kann. Ich gehe allerdings von Allgemeingültigkeit aus bis jemand den Gegenbeweis antritt.
Es ist im Übrigen sogar möglich ein Dateisystem mit nur einer einzigen Binary darin, und ansonsten ohne weitere Dateien darin, zu starten. Die muss dann statisch gelinkt sein, aber es geht.

guennid

Re: Ramdisk vom USB-Stick einhängen unmöglich!

Beitrag von guennid » 24.06.2019 22:04:20

king-crash hat geschrieben:Es braucht zum Booten ganz sicher kein udev.
Ich habe das Gegenteil nicht behauptet.
king-crash hat geschrieben:Das ist schlicht nicht wahr.
Was jetzt: Dass man udev, oder dass man kein udev braucht?

Code: Alles auswählen

Symbol: BLK_DEV_INITRD
Und? Das sieht nach menuconfig, nicht nach kernel aus, dafür müsste die entsprechnede .config oder /boot/config* gezeigt werden. Aber sei's drum: Die entscheidende Info lässt du aus: y oder n? m geht hier sowieso nicht.
king-crash hat geschrieben:schreibe bitte die .config deines Kernels nach nopaste, dass wir die einsehen können.
Mir würde genügen, wenn ich die einsehen könnte. Ich hab's nicht so mit dem Plural maiestatis.

Benutzeravatar
Tintom
Moderator
Beiträge: 3033
Registriert: 14.04.2006 20:55:15
Wohnort: Göttingen

Re: Ramdisk vom USB-Stick einhängen unmöglich!

Beitrag von Tintom » 25.06.2019 10:28:50

king-crash hat geschrieben: ↑ zum Beitrag ↑
24.06.2019 20:15:27
Was ist das eigentlich für ein seltsamer cardblk treiber. Ich kann den bei mir nirgendwo finden.
Ist wohl SoC-spezifisch, in mainline nicht enthalten.

EDIT:
Wie wäre es, anstatt wahllos nach irgendwelchen fehlenden gesetzten Optionen in der config zu suchen, lieber einen möglichst vollständigen, modularen (Debian?)Kernel mitsamt initrd zu booten.

Benutzeravatar
king-crash
Beiträge: 722
Registriert: 08.08.2006 12:07:56
Lizenz eigener Beiträge: MIT Lizenz

Re: Ramdisk vom USB-Stick einhängen unmöglich!

Beitrag von king-crash » 25.06.2019 10:47:40

guennid hat geschrieben: ↑ zum Beitrag ↑
24.06.2019 22:04:20
Mir würde genügen, wenn ich die einsehen könnte. Ich hab's nicht so mit dem Plural maiestatis.
In einem Forum lesen oft, wie in diesem Thread erkenbar, mehrere Personen.

Und ich bitte dich nochmals wenn du mir nicht glaubst das einfach selber bei dir zu testen. Aus meiner Testconfig:

Code: Alles auswählen

# CONFIG_BLK_DEV_INITRD is not set
Hier ist die gesamte Config zu finden: NoPaste-Eintrag40780
Es müssen natürlich die Treiber für die jeweilige Festplattenanbindung (SATA oä.) und Dateisystem vorhanden sein.
Und noch ein Hinweis: In der Config habe ich allerhand weggelassen, inklusive USB uvm. Das bedeutete bei mir zum Beenden, Resetknopf drücken, da keine Eingabe mehr möglich war.

Ich habe das nicht genau nachgeschaut aber udev ist wahrscheinlich deshalb nicht nötig, weil Treiber im Kernel selbst /dev Gerätedateien anlegen können.
http://opensourceforu.com/2011/04/chara ... perations/

Benutzeravatar
king-crash
Beiträge: 722
Registriert: 08.08.2006 12:07:56
Lizenz eigener Beiträge: MIT Lizenz

Re: Ramdisk vom USB-Stick einhängen unmöglich!

Beitrag von king-crash » 25.06.2019 10:59:09

Tintom hat geschrieben: ↑ zum Beitrag ↑
25.06.2019 10:28:50
Wie wäre es, anstatt wahllos nach irgendwelchen fehlenden gesetzten Optionen in der config zu suchen, lieber einen möglichst vollständigen, modularen (Debian?)Kernel mitsamt initrd zu booten.
Das ist auf den ARM Systemen nicht so einfach möglich. Da muss bei UBOOT händisch Speicherbereich ausgewählt und dieser auch dem Kernel mitgeteilt werden. Das setzt ggf auch Kenntnisse der Speicherbelegung voraus. Im Wesentlichen ist die initrd auch nur für exotischere Sachen wie LVM, RAID, Netzwerkboot etc wirklich nützlich. Da beim TE eher nur grundlegende Kenntnisse vorhanden sind und seine Vorgehensweise, sagen wir eher wenig systematisch ist, möchte ich den einfachsten Weg empfehlen.

Joe58

Re: Ramdisk vom USB-Stick einhängen unmöglich!

Beitrag von Joe58 » 25.06.2019 11:03:43

Guten Tag allerseits,

king-crash was muss ich machen, um den einfachen Weg zu nehmen und was, um systematisch vorzugehen?

MfG,

Joe

guennid

Re: Ramdisk vom USB-Stick einhängen unmöglich!

Beitrag von guennid » 25.06.2019 11:22:51

king-crash hat geschrieben:udev ist wahrscheinlich deshalb nicht nötig, weil Treiber im Kernel selbst /dev Gerätedateien anlegen können.
Nicht nur wahrscheinlich, sondern faktisch. Und genau so habe ich's gesagt. Nur - die muss man kennen und, soweit ich weiß, händisch selbst der .config mitteilen. Im Debian-Standard sind sie nicht aktiviert. Und wenn man einen (recht) minimalen Vanilla-Kern über defconfig (es geht auch noch minimaler!) konfiguriert, sind sie defaultmäßig auch nicht drin. Ob's mittlerweile was Besseres als devtmpfs gibt, womit man die initrd umgehen kann, weiß ich nicht.
king-crash hat geschrieben:Und ich bitte dich nochmals wenn du mir nicht glaubst das einfach selber bei dir zu testen.
Ich vermute, das wird nicht möglich, bzw sinnfrei sein, da ich über Geräte eurer Architektur nicht verfüge, weswegen ich mich hier auch nicht weiter einmischen wollte. Ich wollte lediglich darauf hinweisen, dass, wenn man einen eigenen, möglichst abgespeckten Kern ohne initrd bauen will, es nicht genügt, lediglich Module wegzulassen. Wie ihr den dann baut und was ihr für eure Architektur dabei alles benötigt, dazu kann und will ich nichts sagen.

Grüße, Günther

Benutzeravatar
king-crash
Beiträge: 722
Registriert: 08.08.2006 12:07:56
Lizenz eigener Beiträge: MIT Lizenz

Re: Ramdisk vom USB-Stick einhängen unmöglich!

Beitrag von king-crash » 25.06.2019 11:47:21

Joe58 hat geschrieben: ↑ zum Beitrag ↑
25.06.2019 11:03:43
was, um systematisch vorzugehen?
Immer ein Problem nach dem anderen Lösen und insbesondere bei Schwierigkeiten nicht sofort seinen bisherigen Weg komplett über den Haufen zu werfen.
Die genauen Vorgänge zu verstehen ist auch von Vorteil.

In vielen Fällen läuft der Bootvorgang wie folgt:
-SoC-ROM
-First stage Bootloader auf der 1. FAT Partition
-UBOOT auf der 1. FAT Partition
-Kernel auf der 1. FAT Partition
-rootfs auf weiterer ext Partition
In diesem Fall startet schon der Kernel und dieser findet auch die Partitionen. Er kann also die SD-Karte prinzipiell lesen und die richtig üblen Sachen bleiben dir also erspart. Mit dem Inhalt der angegebenen Partition fängt er allerdings wohl nichts an.

Zum weiteren Testen kannst du alle Partitionen bis auf die Erste löschen und dann eine leere ext3 oder ext4 Partition anlegen.
Als Bootparameter nimmst du.

Code: Alles auswählen

console=ttyS0,115200n8 hlt no_console_suspend vmalloc=256m mem=1024m logo=osd1,loaded,panel,debug hdmitx=vdacoff,powermode1,unplug_powerdown a9_clk_max=800000000 root=/dev/cardblksd2 rootdelay=5
Wenn das funktioniert sollte eine Meldung kommen die in etwa besagt, dass er keine init finden kann.

Benutzeravatar
king-crash
Beiträge: 722
Registriert: 08.08.2006 12:07:56
Lizenz eigener Beiträge: MIT Lizenz

Re: Ramdisk vom USB-Stick einhängen unmöglich!

Beitrag von king-crash » 25.06.2019 11:50:27

bitte löschen
Zuletzt geändert von king-crash am 25.06.2019 11:54:38, insgesamt 1-mal geändert.

Benutzeravatar
king-crash
Beiträge: 722
Registriert: 08.08.2006 12:07:56
Lizenz eigener Beiträge: MIT Lizenz

Re: Ramdisk vom USB-Stick einhängen unmöglich!

Beitrag von king-crash » 25.06.2019 11:50:56

king-crash hat geschrieben: ↑ zum Beitrag ↑
25.06.2019 11:50:27
Ich vermute, das wird nicht möglich, bzw sinnfrei sein, da ich über Geräte eurer Architektur nicht verfüge...
Ok hier ist das Missverständnis. Ich habe den geposteten Kernel für meinen Desktop PC (x86-64) gebaut.


Edit: sry war bei dem Edit unten zu blöd.
Zuletzt geändert von king-crash am 25.06.2019 11:54:16, insgesamt 1-mal geändert.

Joe58

Re: Ramdisk vom USB-Stick einhängen unmöglich!

Beitrag von Joe58 » 25.06.2019 11:53:44

@king-crash jetzt musst Du mir auch noch sagen, ob ich mein selbst kompilieren oder einen vorkompilierten Kernel vom Auslieferungszustand nehmen soll?

Und soll ich in das Kernel Image eine initramfs vom Kompiliervorgang einbauen lassen?

Benutzeravatar
king-crash
Beiträge: 722
Registriert: 08.08.2006 12:07:56
Lizenz eigener Beiträge: MIT Lizenz

Re: Ramdisk vom USB-Stick einhängen unmöglich!

Beitrag von king-crash » 25.06.2019 11:58:25

Mit welchem Kernel hast du diese Ausgabe erhalten:

Code: Alles auswählen

[   11.568137@0] fd00        15611904 cardblksd  driver: cardblk
[   11.573832@0]   fd01           65536 cardblksd1 00000000-0000-0000-0000-000000000000cardblksd1
[   11.582424@0]   fd02          524288 cardblksd2 00000000-0000-0000-0000-000000000000cardblksd2

Joe58

Re: Ramdisk vom USB-Stick einhängen unmöglich!

Beitrag von Joe58 » 25.06.2019 12:07:56

Mit allen Kerneln, wobei dies der Kernel war vom baugleichem Tablet mit ClockworkMod Recovery Ramdisk (Android). Dieses Kernel Image hat einen großen Bereich frei für initramfs. Da habe für dann initrd.img.gz reingepackt und gebootet.

Alle Kernel sehen cardblksd und dessen Partitionen und die des USB-Sticks.

Benutzeravatar
king-crash
Beiträge: 722
Registriert: 08.08.2006 12:07:56
Lizenz eigener Beiträge: MIT Lizenz

Re: Ramdisk vom USB-Stick einhängen unmöglich!

Beitrag von king-crash » 25.06.2019 12:38:08

Ok dann nimm deinen eigenen Kernel, da sind auf jeden Fall die Dateisystemtreiber fest einkompiliert. Und denk an die Bootparameter.

Joe58

Re: Ramdisk vom USB-Stick einhängen unmöglich!

Beitrag von Joe58 » 25.06.2019 12:47:25

Also ich habe jetzt meinen Kernel eben neu kompilieren lassen. Ich habe dort als initramfs das ClockworkMod Recovery (Android) einbauen lassen. Nun habe ich folgende Befehlszeile eingegeben, und jetzt im Kernel dmesg:

Code: Alles auswählen

[    0.000000@0] Kernel command line: console=ttyS0,115200n8 hlt no_console_suspend vmalloc=256m mem=1024m logo=osd1,loaded,panel,debug hdmitx=vdacoff,powermode1,unplug_powerdown a9_clk_max=800000000 root=/dev/cardblksd2 rootdelay=5
Ich habe auch fast alle Partitionen der µSD Karte gelöscht und eine neue ext3 Partition nach der FAT32 Partition erstellt.

Ich sehe jetzt bei dem Tablet das ClockworkMod Recovery, allerdings wird anscheinend die initramfs, bevorzugt behandelt, und das muss schon was heißen, oder?

Soll ich jetzt noch eben ein Kernel ohne irgendwas im initramfs kompilieren??

Antworten