[gelöst] ARM32 3.0.8 Kernel

Welches Modul/Treiber für welche Hardware, Kernel compilieren...
Joe58

[gelöst] ARM32 3.0.8 Kernel

Beitrag von Joe58 » 25.02.2017 20:52:46

Hallo,


ich habe bereits versucht den Kernel Source für mein Target ARM Cortex A9 Prozessor zu kompilieren. Allerdings treten immer Probleme auf:

Code: Alles auswählen

amlogic@android:~$ cd /amlogic/kernel
amlogic@android:~/kernel$ ./run.sh
  HOSTCC  scripts/basic/fixdep
  HOSTCC  scripts/kconfig/conf.o
  SHIPPED scripts/kconfig/zconf.tab.c
  SHIPPED scripts/kconfig/lex.zconf.c
  SHIPPED scripts/kconfig/zconf.hash.c
  HOSTCC  scripts/kconfig/zconf.tab.o
  HOSTLD  scripts/kconfig/conf
*** Default configuration is based on 'GPL_BOARD_defconfig'
#
# configuration written to .config
#
scripts/kconfig/conf --silentoldconfig Kconfig
  CHK     include/linux/version.h
  UPD     include/linux/version.h
  CHK     include/generated/utsrelease.h
  UPD     include/generated/utsrelease.h
  Generating include/generated/mach-types.h
  CC      kernel/bounds.s
  GEN     include/generated/bounds.h
  CC      arch/arm/kernel/asm-offsets.s
  GEN     include/generated/asm-offsets.h
  CALL    scripts/checksyscalls.sh
  CC      scripts/mod/empty.o
  HOSTCC  scripts/mod/mk_elfconfig
  MKELF   scripts/mod/elfconfig.h
  HOSTCC  scripts/mod/file2alias.o
  HOSTCC  scripts/mod/modpost.o
  HOSTCC  scripts/mod/sumversion.o
  HOSTLD  scripts/mod/modpost
  HOSTCC  scripts/kallsyms
  HOSTCC  scripts/conmakehash
  CC      init/main.o
  CHK     include/generated/compile.h
  UPD     include/generated/compile.h
  CC      init/version.o
  CC      init/do_mounts.o
  CC      init/do_mounts_initrd.o
  LD      init/mounts.o
  CC      init/initramfs.o
  CC      init/calibrate.o
  LD      init/built-in.o
  HOSTCC  usr/gen_init_cpio
  /amlogic/kernel/scripts/gen_initramfs_list.sh: Cannot open '../android/device/amlogic/M805NDW/images//root/'
/amlogic/kernel/usr/Makefile:67: recipe for target 'usr/initramfs_data.cpio' failed
make[1]: *** [usr/initramfs_data.cpio] Error 1
Makefile:995: recipe for target 'usr' failed
make: *** [usr] Error 2

finish!!!
amlogic@android:~/kernel$ 
Der Source ist hier zu finden: http://www.intenso.de/downloads.php?kat ... 1322562274

Ich habe gcc-arm-none-eabi installiert.

Alternativ könnte ich versuchen den Binärcode von mein jetzigen Target (Amlogic MX 8726-MX mit Cortex A9) zu disassemblieren bzw zu dekompilieren?

Vielen Dank für Hilfe,

Joe
Zuletzt geändert von Joe58 am 16.04.2017 15:19:49, insgesamt 1-mal geändert.

rendegast
Beiträge: 15041
Registriert: 27.02.2006 16:50:33
Lizenz eigener Beiträge: MIT Lizenz

Re: ARM32 3.0.8 Kernel

Beitrag von rendegast » 26.02.2017 14:26:13

/amlogic/kernel/scripts/gen_initramfs_list.sh: Cannot open '../android/device/amlogic/M805NDW/images//root/'
Das Verzeichnis per Hand anlegen?
mfg rendegast
-----------------------
Viel Eifer, viel Irrtum; weniger Eifer, weniger Irrtum; kein Eifer, kein Irrtum.
(Lin Yutang "Moment in Peking")

Joe58

Re: ARM32 3.0.8 Kernel

Beitrag von Joe58 » 26.02.2017 15:16:57

Hallo,

zunächst mal Danke für deine Antwort rendegast,

wie kann ich das Verzeichnis:

'../android/device/amlogic/M805NDW/images//root/'

anlegen? Ich kann ja kein Ordner einfach "/" benennen.

Joe58

DeletedUserReAsG

Re: ARM32 3.0.8 Kernel

Beitrag von DeletedUserReAsG » 26.02.2017 15:22:43

Das Verzeichnis »../android/device/amlogic/M805NDW/images//root/« lässt sich mit mkdir ../android/device/amlogic/M805NDW/images//root/ anlegen.

Joe58

Re: ARM32 3.0.8 Kernel

Beitrag von Joe58 » 26.02.2017 20:23:28

Super das hat funktioniert!

So dann baut der den Kernel, aber nun:

Code: Alles auswählen

amlogic@android:~/kernel$ ./run.sh
*** Default configuration is based on 'GPL_BOARD_defconfig'
#
# configuration written to .config
#
scripts/kconfig/conf --silentoldconfig Kconfig
  CHK     include/linux/version.h
  CHK     include/generated/utsrelease.h
make[1]: 'include/generated/mach-types.h' is up to date.
  CALL    scripts/checksyscalls.sh
  CHK     include/generated/compile.h
  CC      arch/arm/mach-meson6/hotplug.o
arch/arm/mach-meson6/hotplug.c: In function 'platform_cpu_die':
arch/arm/mach-meson6/hotplug.c:18:20: error: inlining failed in call to always_inline 'meson_set_cpu_ctrl_reg': function body not available
 extern inline void meson_set_cpu_ctrl_reg(int value);
                    ^
arch/arm/mach-meson6/hotplug.c:33:24: error: called from here
  meson_set_cpu_ctrl_reg(0);
                        ^
scripts/Makefile.build:306: recipe for target 'arch/arm/mach-meson6/hotplug.o' failed
make[1]: *** [arch/arm/mach-meson6/hotplug.o] Error 1
Makefile:995: recipe for target 'arch/arm/mach-meson6' failed
make: *** [arch/arm/mach-meson6] Error 2

finish!!!
amlogic@android:~/kernel$ 

rendegast
Beiträge: 15041
Registriert: 27.02.2006 16:50:33
Lizenz eigener Beiträge: MIT Lizenz

Re: ARM32 3.0.8 Kernel

Beitrag von rendegast » 26.02.2017 21:13:27

3.0.8 Kernel
Vielleicht sind die Probleme im Kernel 3.0.101 gefixt?

https://www.kernel.org/pub/linux/kernel/v3.0/
https://www.kernel.org/pub/linux/kernel/v3.x/

-------------------------------------------------
Ups, das Download ist ein stark stark angepaßter kernel 272MB gegenüber dem vanilla 485MB.
Und das, was die da zum Download anbieten,
könnte oder dürfte auch nicht das sein, von dem sie letztendlich ihren Kernel gebaut haben.
mfg rendegast
-----------------------
Viel Eifer, viel Irrtum; weniger Eifer, weniger Irrtum; kein Eifer, kein Irrtum.
(Lin Yutang "Moment in Peking")

Joe58

Re: ARM32 3.0.8 Kernel

Beitrag von Joe58 » 27.02.2017 14:43:45

Oh nein, das heißt der Kernel ist nicht komplett? Amlogic die der Chipsatz Hersteller sind von meinem ARM Tablet, habe es nicht so mit Quell Codes, was kann ich jetzt machen, der Kernel steht doch unter GPL? Wird das als GPL Lizenz Vergehen angesehen und dann http://gpl-violations.org/

Und jetzt?

Ich will umbedingt ein eigenen Kernel für das Tablet bauen.

rendegast
Beiträge: 15041
Registriert: 27.02.2006 16:50:33
Lizenz eigener Beiträge: MIT Lizenz

Re: ARM32 3.0.8 Kernel

Beitrag von rendegast » 27.02.2017 15:48:28

Ich würde sagen, da hast Du keine Chance.
Wenn du das eine Ding fixt, dürfte wohl der nächste Fehler auftauchen.

Du könntest den vanilla (weil er wohl problemlos durchkompiliert)
vielleicht mit system/cpu (CPU_V7 usw.) auf ungefähr das Target amlogic_meson einstellen.
(Sehe da erstmal keine plat, die dem meson richtig nahe kommt)
Und was ist mit dem (android)Rest?
Irgendwelche "kleinen" Probleme -> Das Ding bootet nicht durch.
Keine Grafik -> Das Ding nicht bedienbar.

Und Du hast keinen bootloader mit failback-Kernel wie auf einem PC.
Oder gibt es für diese Dinger eine sonstige failback-Strategie?
Ein Not-System, mit dem der Stock-Kernel schnell wieder zurückgespielt werden kann?





Ich denke eine alternative firmware ist erfolgversprechender
CyanogenMod / LineageOS(?)
https://www.androidpit.de/forum/507742/intenso-tab-814:
(Intenso TAB 814)
... für Baugleiche z.B. YIFANG inm805nd, Prestigio pmp5580c, Vandroid T4i (II) usw.)
...
... Das Tablett hat A9 Prozessor, Amlogic-MX (M6) Chipsatz und Mali400 GPU und wichtig !!!! UIBFS
Habe was gelesen, das wohl CM11 auf Deinem oder ähnlichen laufen sollte.
mfg rendegast
-----------------------
Viel Eifer, viel Irrtum; weniger Eifer, weniger Irrtum; kein Eifer, kein Irrtum.
(Lin Yutang "Moment in Peking")

Joe58

Re: ARM32 3.0.8 Kernel

Beitrag von Joe58 » 27.02.2017 16:10:39

Und Du hast keinen bootloader mit failback-Kernel wie auf einem PC.
Oder gibt es für diese Dinger eine sonstige failback-Strategie?
Ein Not-System, mit dem der Stock-Kernel schnell wieder zurückgespielt werden kann?
Also du meinst doch das wenn das Tablet komplett leer ist also keine Software mehr beinhaltet? Klar habe ich da einen failback Weg um das Gerät wieder zum Leben zu erwecken. Ich hatte das schon ein paar mal gebricked. Das geht so ich nehme die bootloader.img und schreibe die in den ersten 2023 Blöcken von meiner MicroSD Karte und dann kann das Tablet wieder booten. Ganz einfach und funktioniert immer, d.h. wir können nix kaputt machen und weiter probieren.

Die von dir genannten Systeme habe ich auch drauf aber diese sind von nnlynx einem russisch sprachigen portiert worden auf mein Tablet. Und der Kernel Code ist niergends zu finden, ist 3.0.8 Kernel. Christian Troy hat die grafischen Sachen wie das Android OS gemacht, aber der Bootloader wurde von keinem verändert. Mir passiert nix wenn ich alles formatiere, es gibt immer ein zurück. ;)

Code: Alles auswählen

u0_a69@grouper:/ $ su
root@grouper:/ # cat /proc/mtd
cat /proc/mtd
dev:    size   erasesize  name
mtd0: 01000000 00400000 "bootloader"
mtd1: 00800000 00400000 "logo"
mtd2: 00800000 00400000 "aml_logo"
mtd3: 00800000 00400000 "recovery"
mtd4: 00800000 00400000 "boot"
mtd5: 20000000 00400000 "system"
mtd6: 10000000 00400000 "cache"
mtd7: 40400000 00400000 "userdata"
mtd8: 18a400000 00400000 "NFTL_Part"
root@grouper:/ #
Super für eure Hilfe soweit! :THX:

Wenn der Code irgendwo sein soll, dann doch bei Amlogic auf deren Internetseite?

Hier ist was mit meson: http://openlinux.amlogic.com:8000/download/ARM/u-boot/

Woher soll ich wissen ob die Sachen stimmen die in meinem Systrm stehen da kann ja auch falsches drinne stehen, zumal es kein BIOS gibt.

Mein Mainboard hat folgende Nummer: M805ND-MB, welche aber mit Edding durchgestrichen wurde und dann hat Intenso deren Nummer iwo hin in der Software implementiert.

Joe58

Re: ARM32 3.0.8 Kernel

Beitrag von Joe58 » 28.02.2017 22:57:25

Kann ich mir den Kernel aus dem RAM holen?

Code: Alles auswählen

u0_a69@grouper:/ $ su
root@grouper:/ # cat /proc/meminfo
cat /proc/meminfo
MemTotal:         883848 kB
MemFree:           46568 kB
Buffers:               8 kB
Cached:           167508 kB
SwapCached:            0 kB
Active:           442944 kB
Inactive:          97092 kB
Active(anon):     375188 kB
Inactive(anon):    29112 kB
Active(file):      67756 kB
Inactive(file):    67980 kB
Unevictable:        2624 kB
Mlocked:               0 kB
HighTotal:        524288 kB
HighFree:           8152 kB
LowTotal:         359560 kB
LowFree:           38416 kB
SwapTotal:             0 kB
SwapFree:              0 kB
Dirty:                 0 kB
Writeback:             0 kB
AnonPages:        375144 kB
Mapped:            94416 kB
Shmem:             29156 kB
Slab:              25296 kB
SReclaimable:      11240 kB
SUnreclaim:        14056 kB
KernelStack:        4888 kB
PageTables:         7452 kB
NFS_Unstable:          0 kB
Bounce:                0 kB
WritebackTmp:          0 kB
CommitLimit:      441924 kB
Committed_AS:    5112940 kB
VmallocTotal:     262144 kB
VmallocUsed:      126688 kB
VmallocChunk:      87992 kB
root@grouper:/ #
Oder nicht:

[quote]
KernelStack: The memory the kernel stack uses. This is not reclaimable.
[/qoute]

Quelle: https://access.redhat.com/solutions/406773

Joe58

Re: ARM32 3.0.8 Kernel

Beitrag von Joe58 » 06.03.2017 16:42:23

Hallo ich habe den falschen Kompiler benutzt ich muss arm-eabi benutzen anstatt arm-none-eabi, damit ich auch andere Sachen kompilieren kann als mur u-boot bootloader, die nennen sich bare metal Kompiler. Mein Kompiler kommt von hier: https://releases.linaro.org/components/ ... /arm-eabi/

Aber wenn ich jetzt den Kernel bauen lassen will dann kommt das:

Code: Alles auswählen

amlogic@debian:~/kernel$ ./run.sh
*** Default configuration is based on 'GPL_BOARD_defconfig'
#
# configuration written to .config
#
make: arm-eabi-gcc: Kommando nicht gefunden
scripts/kconfig/conf --silentoldconfig Kconfig
make: arm-eabi-gcc: Kommando nicht gefunden
  CHK     include/linux/version.h
  CHK     include/generated/utsrelease.h
make[1]: 'include/generated/mach-types.h' is up to date.
  CC      kernel/bounds.s
/bin/sh: 1: arm-eabi-gcc: not found
/amlogic/kernel/./Kbuild:35: recipe for target 'kernel/bounds.s' failed
make[1]: *** [kernel/bounds.s] Error 127
Makefile:1035: recipe for target 'prepare0' failed
make: *** [prepare0] Error 2

finish!!!
amlogic@debian:~/kernel$ 
Hier sieht man das der ein arm-eabi Kompiler braucht, aber den gibt es nicht in den Denian Paketquellen.

So wenn ich dann den Kompiler den Kernel mitgeteilt habe kommt das hier:

Code: Alles auswählen

amlogic@debian:~/kernel$ export PATH=$PATH:/amlogic/toolchain/gcc-linaro-6.2.1-2016.11-x86_64_arm-eabi/bin
amlogic@debian:~/kernel$ ./run.sh
  HOSTCC  scripts/basic/fixdep
  HOSTCC  scripts/kconfig/conf.o
  SHIPPED scripts/kconfig/zconf.tab.c
  SHIPPED scripts/kconfig/lex.zconf.c
  SHIPPED scripts/kconfig/zconf.hash.c
  HOSTCC  scripts/kconfig/zconf.tab.o
  HOSTLD  scripts/kconfig/conf
*** Default configuration is based on 'GPL_BOARD_defconfig'
#
# configuration written to .config
#
scripts/kconfig/conf --silentoldconfig Kconfig
  CHK     include/linux/version.h
  UPD     include/linux/version.h
  CHK     include/generated/utsrelease.h
  UPD     include/generated/utsrelease.h
  Generating include/generated/mach-types.h
  CC      kernel/bounds.s
In file included from include/linux/compiler.h:48:0,
                 from include/linux/stddef.h:4,
                 from include/linux/posix_types.h:4,
                 from include/linux/types.h:17,
                 from include/linux/page-flags.h:8,
                 from kernel/bounds.c:9:
include/linux/compiler-gcc.h:94:30: fatal error: linux/compiler-gcc6.h: No such file or directory
 #include gcc_header(__GNUC__)
                              ^
compilation terminated.
/amlogic/kernel/./Kbuild:35: recipe for target 'kernel/bounds.s' failed
make[1]: *** [kernel/bounds.s] Error 1
Makefile:1035: recipe for target 'prepare0' failed
make: *** [prepare0] Error 2

finish!!!
amlogic@debian:~/kernel$ 
Die Intenso GmbH konnte mir heute versichern das die den Quellcode von Yifang haben und dieser komplett ist und für mein Tablet zugeschnitten ist. Und den ganzen Android Kram brauche ich nucht da diese ganzen Bilder und apps nachher nach dem Kernel drauf gepappt werden, somit brauche ich mich darum erstmal nicht zu sorgen, erst Kernel bauen und den flashen, was ich ja dann schonmal weiß geht mit flash_image boot /storage/sdcard0/kernelarmcortexa9compiled.img und voila, aber mit arm-none-eabi komme ich nicht weit, der u-boot soll sogar auch mich den anwendungsorientierten Kompiler gehen. Im Kernel ist meson-6 march platform und bootloader + das Mainboard, also alles da.

Ich bin für jede Hilfe dankbar.

Joe58

Re: ARM32 3.0.8 Kernel

Beitrag von Joe58 » 06.03.2017 21:55:20

So geht doch der Kompiler war zu neu ich kann folgende Kompiler nehmen: 4 & 3 aber leider finde ich keine arm-eabi Kompiler für mein Quellcode.

4.4.0 wurde beim Tablet verwendet.

Benutzeravatar
schorsch_76
Beiträge: 2601
Registriert: 06.11.2007 16:00:42
Lizenz eigener Beiträge: MIT Lizenz

Re: ARM32 3.0.8 Kernel

Beitrag von schorsch_76 » 07.03.2017 07:42:01


Joe58

Re: ARM32 3.0.8 Kernel

Beitrag von Joe58 » 07.03.2017 21:22:44

Der Kernel wurde kompiliert:

Code: Alles auswählen

[joe@localhost kernel]$ ./run.sh
*** Default configuration is based on 'GPL_BOARD_defconfig'
#
# configuration written to .config
#
scripts/kconfig/conf --silentoldconfig Kconfig
  CHK     include/linux/version.h
  CHK     include/generated/utsrelease.h
make[1]: 'include/generated/mach-types.h' is up to date.
  CALL    scripts/checksyscalls.sh
  CHK     include/generated/compile.h
gcc: error: directory: No such file or directory
gcc: error: directory": No such file or directory
gcc: error: directory: No such file or directory
gcc: error: directory": No such file or directory
gcc: error: directory: No such file or directory
gcc: error: directory": No such file or directory
gcc: error: directory: No such file or directory
gcc: error: directory": No such file or directory
gcc: error: directory: No such file or directory
gcc: error: directory": No such file or directory
gcc: error: directory: No such file or directory
gcc: error: directory": No such file or directory
gcc: error: directory: No such file or directory
gcc: error: directory": No such file or directory
  OBJCOPY arch/arm/boot/ccImage
  Kernel: arch/arm/boot/ccImage is ready
  Image arch/arm/boot/ccImage.lzma is ready
  UIMAGE  arch/arm/boot/uImage
Image Name:   Linux-3.0.8
Created:      Tue Mar  7 21:20:30 2017
Image Type:   ARM Linux Kernel Image (lzma compressed)
Data Size:    2986712 Bytes = 2916.71 kB = 2.85 MB
Load Address: 80008000
Entry Point:  80008000
  Image arch/arm/boot/uImage is ready

finish!!!
[joe@localhost kernel]$ 
Aber mein Tablet kann diesen Kernel nicht booten da dieser kein Splash Screen hat was nur ein Bild ist.

Benutzeravatar
schorsch_76
Beiträge: 2601
Registriert: 06.11.2007 16:00:42
Lizenz eigener Beiträge: MIT Lizenz

Re: ARM32 3.0.8 Kernel

Beitrag von schorsch_76 » 08.03.2017 12:15:15

Wie wird der Kernel denn geladen? Per uboot oder etwas anderem? Kannst du eine Serial Console für uboot anhängen?

Du könntest auch mal einen diff machen zwischen deinem neuen Kernel und dem laufendem Kernel.

Dieser 3.0.8 ist exakt der laufende Kernel? Gibt es Hinweise darauf dass der Kernel TAINTED ist? Sprich, ein proprietäres Modul geladen ist.
Kannst du eine dmesg Ausgabe des laufenden Kernels posten?

Wenn das exakt der richtige Kernelsource ist, und alles dabei ist, kann es nicht mehr viel sein.....

Joe58

Re: ARM32 3.0.8 Kernel

Beitrag von Joe58 » 08.03.2017 16:52:21

Der Kernel wird wahrscheinlich per U-Boot geladen, 100% sicher ist das allerdings nicht, und eine serielle Konsole dran anschließen kann ich nicht, da ich nicht weiß ob und wie das geht, habe viele Kontakte auf dem Mainboard unter anderem GND TX RX und VCC.

Der Kernel der original bei dem Tabket dabei ist heißt 3.0.8 + irgendwelche Ziffern als Zusatz, mein neuer Kernel heißt einfach nur 3.0.8 aber ohne Zusatz, im Kernel Source gibt es eine Dateien die mkuboot.SH heißt und andere Hinweise weisen auf RedBoot hin, aber meine Kernel Images sind u-boot Images.

Wie genau soll das mit Diff gehen?

Hier ist dmesg, sieht richtig spannend aus.

Bootloader Code *scheint* zu fehlen im Quellcode, das gibt Ärger.

Mit freundlichen Grüßen

Benutzeravatar
schorsch_76
Beiträge: 2601
Registriert: 06.11.2007 16:00:42
Lizenz eigener Beiträge: MIT Lizenz

Re: ARM32 3.0.8 Kernel

Beitrag von schorsch_76 » 09.03.2017 07:02:58

Diff ist einfach:

Code: Alles auswählen

man diff
Damit siehst du wie sich zwei Dateien unterscheiden. Für die zwei Kernel würde ich es so machen:

Code: Alles auswählen

hexdump -C kernel-a.img > kernel-a.txt
hexdump -C kernel-b.img > kernel-b.txt
diff kernel-a.txt kernel-b.txt |less
Wenn du den ganz gleichen Kernel erzeigt hast, gibt es keine Unterschiede. Da aber der Buildcomputer anderst ist, wird sich aber 100% der Version String unterscheiden.

In dem dmesg dump. sieht man bsp dass der Kernel eine console hat. Das wird sicher dein RX/TX/GND pin sein. Hier aber Vorsicht. Das ist sicher kein normaler RS232 sondern vermutlich 3.3V oder 5V. Hier könnte man einen Buspirate [1] nehmen um darauf zuzugreifen. Mit einem Oszilloskop könntest du hier die Spannungslevel messen ohne Schaden anzurichten.

[2][3] Sind RS232 Adapter für 5 bzw. 3.3V. Der Buspirate kann praktisch alles und ist Spannungstolerant von 0-5.5V. Er ist das Schweizer Taschenmesser um auf solche Dinge zuzugreifen ;) [4] [5] [6]

Der dmesg Dump sagt ja auch noch, welche cmdline der Kernel hat, dass er uboot gebootet wurde.

Wenn du dann die console bedienen kannst, kannst du auch den uboot bedienen und sehr frühe Ausgaben sehen.

[1] http://www.watterott.com/de/Bus-Pirate
[2] http://www.watterott.com/de/TTL-232R-US ... -Converter
[3] http://www.watterott.com/de/TTL-232R-US ... verter-33V
[4] http://dangerousprototypes.com/docs/Bus ... 1_tutorial
[5] http://dangerousprototypes.com/docs/Bus_Pirate
[6] http://dangerousprototypes.com/docs/UART

Joe58

Re: ARM32 3.0.8 Kernel

Beitrag von Joe58 » 09.03.2017 14:44:41

Anscheinend sind die Kernel sehr unterschiedlich, der diff Befehl zeigt mir enn ich Ende Knopf auf der Tastatur drücke: lines 412847-412889/412889 (END) an, heißt es ist viel anders?

Es wäre natürlich toll, wenn ich mein Tablet bedienen kann, bevor das <android Betriebssystem aufsetzt, ich könnte ja dann u-boot modifizieren, obwohl ich den Quellcode nicht habe, da der nicht im Kernel ist, richtig?

Benutzeravatar
schorsch_76
Beiträge: 2601
Registriert: 06.11.2007 16:00:42
Lizenz eigener Beiträge: MIT Lizenz

Re: ARM32 3.0.8 Kernel

Beitrag von schorsch_76 » 09.03.2017 15:36:21

Genau, du kannst mit der Serial console dann uboot bedienen bevor der Kernel gestartet hat. Vermutlich musst du uboot im ersten Schritt gar nicht ersetzen. Ich würde den bestehenden uboot nutzen. Ein schritt nach dem anderen ;)

Der Kernel ist meist ein zImage. Sprich komprimiert. Hier ergeben sich dann natürlich unterschiede. Ich habe im dmesg auch gesehen das der laufende Kernel mit gcc 4.4 oder so übersetzt wurde. Du hast 4.8 genutzt. Allein das gibt schon Unterschiede im Kernel. Stichwort: Optimierungen.

Der dmesg an sich, zeigt auch, das die Mali GPU genutzt wird. Hier könntest du auch mal schauen, ob das bei deiner config aktiv ist. Evtl kannst du auch aus /proc/config.gz die laufende Konfiguration auslesen. Bei Android ist das aber meiner Erfahrung nach, meist deaktiviert.

Mich hat das dmesg log irgendwie stark an einen RaspberryPi erinnert .... ;)

Du kannst auch aus dem zImage das uImage wieder extrahieren. Siehe
http://www.linuxquestions.org/questions ... ge-824499/
http://reverseengineering.stackexchange ... ing-zimage

Das könnte interessante Strings enthalten.

Code: Alles auswählen

man strings

Joe58

Re: ARM32 3.0.8 Kernel

Beitrag von Joe58 » 09.03.2017 16:38:00

Ahja das mit den Strings war mir auch schon durch den Kopf gegangen, aber leider kannte ich den Befehl da noch nicht, aber ich habe in den Dateien aufwändig nach Strings gesucht mal schauen. Linux auf dem Tablet wäre richtig toll. Ich lese mal eben die Stings aus.

Das Tablet beherbergt folgende Dateien:

u-boot.bin im bootloader.img Format wegen dd Befehl,

Der Kernel ist laut file Befehl im uImage Format, so kommt das auch am Ende bei den Kernel Code raus.
Ein weiterer Kernel der das Tablet im Notfall welchen ich eh umgehen kann, wieder rettet, kann einfach den Bootloader und alles auf SD Karte machen und alles läuft wieder, also kin Brick möglich, habe ich denke schonmal gesagt. Ich habe hier die Strings und lade gerade noch den Kernel + Bootloader originelle Laufwerkabbilder vom Tablet hoch: https://www.dropbox.com/sh/cl6p06or6kbb ... oFbBa?dl=0 + filedescriptions, nur der bootloader hat paar interessante Stings, was darauf hindeuten lässt das der Bootloader kein großen Umfang an Funktionen bereitstellt?, sonst wären da mehr Strings, ich sehe nur Bilder beim Starten des Tablets. Also außer dmesg nicht viel los.

Hier ist noch was über u-boot Bootloader was mein Chipsatz betrifft, aber meiner hat weniger Funktionen: http://www.slatedroid.com/topic/95977-h ... ice/page-6 ich bin dort Amlogic8726, hoffe mir sagt dort jemand wie man das mit dem Bild macht. ;) Ich habe ja Zeit, hole mir Informationen von vielen Stellen.

Herzlichen Dank an schorsch_76 für die super Hilfe, mal schauen wo das Projekt hingeht. :THX:

Ich habe schon nachgeschaut ob die config in /proc ist aber Fehlanzeige, die originale Kernelkonfiguration gibt kein Swap und kein Aufbewahren der .config her.

Ich habe jetzt eine initlogo.rle Datei gefunden im laufenden System, habe die bei Dropbox hochgeladen, anscheinend ist es das was ich gesucht habe. Jetzt muss ich nurnoch mein Kernel beim kompilieren sagen das der diese nehmen soll.

Joe

Joe58

Re: ARM32 3.0.8 Kernel

Beitrag von Joe58 » 10.03.2017 17:42:11

Was kann ich mit den Anschlüssen anfangen welche mein Mainboard bereitstellt mit folgenden Beschriftungen:

Code: Alles auswählen

GSG5-9102004A-G1 (Zeile darunter: JDK) -> Kamera
M805NC-MB
20120626
V1.3
SH
94V-0
E248779
1327
Nachfolgend sind Pins aufgelistet:
1.8_CM
2.8_CM
DC_5V
5V
VDDIO
VCCK
TDI
TDO
TMS
TCK
IO_AO
GND
VCOM
VDD1.1V
1.5V
VDD_RTC
L+ L- LED- -> Displaybeleuchtung
LED+ -> Displaybeleuchtung
B+ -> Akku
B- -> Akku
TC -> Akku
R+ -> Lautsprecher
R- -> Lautsprecher
AVDD2.5V
LCD_VCC
VGL
VGH
TX
RX
VCC
VOL-
VOL+
Kann ich wenn ich ein TTL Converter kaufe den für 5 Volt nehmen, und dann mit u-boot komminizieren? Obwohl u-boot wenige Strings hat? Wird das mit dem gehen?: http://m.ebay.de/itm/281353512577

Danke für Antworten, von den Sachen habe ich keinerlei Ahnung muss die aber wissen. :THX:

Benutzeravatar
schorsch_76
Beiträge: 2601
Registriert: 06.11.2007 16:00:42
Lizenz eigener Beiträge: MIT Lizenz

Re: ARM32 3.0.8 Kernel

Beitrag von schorsch_76 » 10.03.2017 20:02:20

Der Converter schaut gut aus. Wäre eine Versuch wert.

Joe58

Re: ARM32 3.0.8 Kernel

Beitrag von Joe58 » 10.03.2017 20:16:52

Wo schließe ich den COM Anschluss dann an und wofür ist der silberne Anschluss? Ich sehe auch das das Teil einen Versuch wert ist, immerhin scheint mein Tablet mit 5V betrieben zu sein. Ich kenne mich auf dem Gebiet noch nucht aus, wird sich aber schnell ändern.

Ich denke mein Teil so: Der Programmierer schreibt Code für den ARM Cortex A* Compiler der dann nach dem compilieren zuvor in Assemblercode assembliert wird und dann im binär verständliche Prozessor Sprache, so damit der Programmiert sieht was auf dem Teil Mainboard los ist, braucht es eine serielle Konsole.

Funktioniert das mit den ganzen auch über COM Anschluss gut in Linux? COM Anschluss haben meine Geräte.

Joe58

Re: ARM32 3.0.8 Kernel

Beitrag von Joe58 » 12.03.2017 11:09:11

Ich habe schon einmal eine serielle Konsole aufsetzen wollen: viewtopic.php?f=9&t=154964&hilit=freeco ... ge+gateway aber da war mir das alles noch zu komplex, na mal abwarten wenn das Teil ankommt, erstmal direkt an den FSG testen, und danach am Tablet, obwohl man nur drei Pinne brauch da die selber den Strom liefern,

schönen Sonntag :THX:

Benutzeravatar
schorsch_76
Beiträge: 2601
Registriert: 06.11.2007 16:00:42
Lizenz eigener Beiträge: MIT Lizenz

Re: ARM32 3.0.8 Kernel

Beitrag von schorsch_76 » 12.03.2017 11:44:03

Tty in linux funktioniert sehr gut. Ich nutze dafür Debianminicom.

Bin jetzt dann zwei Wochen im Land der Mitte und damit hier nicht aktiv :wink:

Antworten