Ich habe versucht, einfache Kernel-Modul (mit Quelle von Developer.sonymobile.com heruntergeladen) zu bauen, aber nach dem Kompilieren kann ich es nicht insmod: Unbekanntes Symbol __gnu_mcount_nc so habe ich eine Lösung gegründet und ich schrieb ein anderes Modul mit Assembler und ich exportierte diese Funktion . Nachdem dieses Modul korrekt instormiert wurde, sehe ich in lsmod, dass alle Module permanent sind. Ich habe ein Problem mit einfachen Dateisystem (Berechtigung verweigert - Standardaktion, wenn Zeiger Null ist), auf PC funktioniert dieser Code ohne Fehler.Sony-Gerät hat eine andere Kernel-Konfiguration als die Quelle. Warum?
Ich denke, die Config ist falsch im Quellcode, (wahrscheinlich Offset von einigen Feldern in der Struktur ist eine andere als im Gerät).
Version von gebaut ist: 24.0.A.5.14 (heruntergeladen von developer.sonymobile.com Website).
Kann ich etwas tun, um die gleiche Konfiguration wie im Gerät zu erhalten?
Ich hatte nicht /proc/config.gz so kann ich es nicht leicht bekommen.
Module Quelle:
#include <linux/module.h>
#include <linux/kernel.h>
int __init example_init(void)
{
printk("Hello world!\n");
return 0;
}
void __exit example_exit(void)
{
printk("example module exit\n");
}
module_init(example_init);
module_exit(example_exit);
Und ich Hallo Welt sehen! in dmesg aber Modul ist immer noch permament.
Quelle von __gnu_mcount_nc fand ich hier: http://doc.ironwoodlabs.com/arm-arm-none-eabi/html/getting-started/arm-mcount.html