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

Welches Modul/Treiber für welche Hardware, Kernel compilieren...
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: 720
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: 720
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: 720
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: 720
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: 720
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??

Benutzeravatar
king-crash
Beiträge: 720
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:51:28

Mach das Initramfs komplett raus.

Code: Alles auswählen

[ ] Initial RAM filesystem and RAM disk (initramfs/initrd) support

Joe58

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

Beitrag von Joe58 » 25.06.2019 12:55:29

So habe das initramfs komplett raus genommen, indem ich den Ordner des CONFIG_INITRAMFS_SOURCE komplett leer gemacht habe, also eben das CWM mit init Binary und sbin Ordner und res Ordner für die Bildchen gelöscht habe. :)

Nun kommt folgendes, bei Eingestecktem USB-Stick:

Code: Alles auswählen

[    7.346336@1] Warning: unable to open an initial console.
[    7.351665@1] Waiting 5sec before mounting root device...
[   12.360138@1] VFS: Cannot open root device "cardblksd2" or unknown-block(253,2)
[   12.361892@1] Please append a correct "root=" boot option; here are the available partitions:
[   12.370432@1] fd00        15611904 cardblksd  driver: cardblk
[   12.376137@1]   fd01           65536 cardblksd1 00000000-0000-0000-0000-000000000cardblksd1
[   12.384468@1]   fd02         1048576 cardblksd2 00000000-0000-0000-0000-000000000cardblksd2
[   12.392799@1] 0800          984064 sda  driver: sd
[   12.397573@1]   0801          983040 sda1 00000000-0000-0000-0000-000000000sda1
[   12.404860@1] ** enable watchdog
[   12.408073@1] Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(253,2)
Kernel Befehlszeile dazu:

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
:)

Benutzeravatar
king-crash
Beiträge: 720
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 13:02:39

Es reicht das Sternchen bei der genannten Option zu entfernen.
Ich schau mir deine config nochmal im Detail an.

Benutzeravatar
king-crash
Beiträge: 720
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 13:12:10

Du kommunizierst über die serielle Schnittstelle oder?

Joe58

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

Beitrag von Joe58 » 25.06.2019 13:17:16

Genau ich habe ein UART TTL Converter mit drei Leitungen an der GND, TX und RX Lötpads gelötet und per USB dann am Laptop und benutze picocom.

;)

Benutzeravatar
king-crash
Beiträge: 720
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 13:24:42

Schau mal im menuconfig nach

Code: Alles auswählen

File Systems -> Partition Types -> Advanced partition selection -> PC BIOS
"Advanced partition selection" scheint aus zu sein, aktiviere das und "PC BIOS"

Joe58

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

Beitrag von Joe58 » 25.06.2019 13:26:01

Ich benutze menuconfig nicht, welche CONFIG Optionen wären das?

Benutzeravatar
king-crash
Beiträge: 720
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 13:35:02

"CONFIG_MSDOS_PARTITION"
Aber das scheint an zu sein da stimmt nur was im menuconfig nicht, hätte mich auch gewundert.
Nimm mal "CONFIG_BLK_DEV_INITRD" und "CONFIG_EXT2_FS" raus. Auch wenn ich nicht glaube, dass das hilft.

Die config passt auch nicht vollständig zu dem von dir verlinkten Kernel.

Joe58

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

Beitrag von Joe58 » 25.06.2019 14:54:40

CONFIG_MSDOS_PARTITION=y ist schon ganze Zeit an gewesen. Ich habe jetzt CONFIG_BLK_DEV_INITRD is not set gesetzt und CONFIG_EXT2_FS is not set gesetzt und jetzt führe ich Erstmal make GPL_BOARD_defconfig aus.

Bin eben bauen lassen und testen.

Joe58

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

Beitrag von Joe58 » 25.06.2019 15:09:35

Hey, da ist was Du gesucht hast. ;)

Code: Alles auswählen

[   12.232174@0] EXT3-fs: barriers not enabled
[   12.232968@1] kjournald starting.  Commit interval 5 seconds
[   12.235506@0] EXT3-fs (cardblksd2): using internal journal
[   12.235526@0] EXT3-fs (cardblksd2): mounted filesystem with ordered data mode
[   12.235588@0] VFS: Mounted root (ext3 filesystem) on device 253:2.
[   12.236494@0] devtmpfs: error mounting -2
[   12.236571@0] Freeing init memory: 188K
[   12.236642@0] ** enable watchdog
[   12.236654@0] Kernel panic - not syncing: No init found.  Try passing init= option to kernel. See Linux Documentation/init.txt for guidance.
Jetzt müssen wir nur noch init auf dem USB-Stick packen? Bzw. auf der µSD Karte?

Also habe nur die Optionen ext2_fs und blk_dev_initrd deaktiviert.

Edit: Noch mehr Ausgabe.

Benutzeravatar
king-crash
Beiträge: 720
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 15:27:00

Perfekt, warum das mit einem der Optionen Probleme hatte kann ich dir nicht sagen.

Jetzt kannst du ein System darauf kopieren.
Da ist die Init nur ein kleiner Teil davon. Ich bin nur unschlüssig wie du das am Einfachsten bewerkstelligst.
Du kannst mal debootstrap ausprobieren. Das generiert dir ein Minimalsystem, das du auf die Karte kopieren kannst.
https://wiki.debianforum.de/Debootstrap

Joe58

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

Beitrag von Joe58 » 25.06.2019 15:31:55

Ah okay ich habe bereits ein Minisystem von ca. 250 MB Größe bereits mit debootstrap erstellt. Ich kopiere es eben vom PC auf der 2. SD Karten Partition.

Joe58

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

Beitrag von Joe58 » 25.06.2019 15:39:29

So ich habe jetzt das System auf der 2. µSD Karten Partition kopiert mit root.

Code: Alles auswählen

[   11.997322@1] EXT3-fs: barriers not enabled
[   11.998127@0] kjournald starting.  Commit interval 5 seconds
[   12.003977@1] EXT3-fs (cardblksd2): using internal journal
[   12.007104@1] EXT3-fs (cardblksd2): mounted filesystem with ordered data mode
[   12.014223@1] VFS: Mounted root (ext3 filesystem) on device 253:2.
[   12.022356@1] devtmpfs: mounted
[   12.023523@1] Freeing init memory: 188K
FATAL: kernel too old
[   12.074531@0] ** enable watchdog
[   12.074571@0] Kernel panic - not syncing: Attempted to kill init!
Der Kernel ist zu alt. :(

Benutzeravatar
king-crash
Beiträge: 720
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 15:44:20

Kannst ein Debian Wheezy probieren. Das könnte passen.

Joe58

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

Beitrag von Joe58 » 25.06.2019 15:46:35

Ich werde es jetzt mal debootstrappen und dann ausprobieren.

Antworten