embedded-linux

___ answer5090106 ___

Sie können die folgende Tastenkombination versuchen

SysRq + c

oder

  

echo c & gt; / proc / sysrq-trigger

    
___ tag123linux ___ LINUX FRAGEN MÜSSEN PROGRAMMIEREN VERWANDT SEIN. Verwenden Sie dieses Tag nur dann, wenn sich Ihre Frage auf das Programmieren mit Linux-APIs oder das Linux-spezifische Verhalten bezieht, nicht nur, weil Sie Ihren Code unter Linux ausführen. Wenn Sie Linux-Unterstützung benötigen, können Sie https://unix.stackexchange.com oder https://askubuntu.com ausprobieren ___ qstnhdr ___ Wie testet man den Kernel auf Kernel Panics? ___ tag123linuxkernel ___ Dieses Tag ist für Fragen zu den Interna des Linux-Kernels selbst gedacht - insbesondere zum Schreiben von Code, der im Kontext des Kernels läuft (wie Kernel-Module oder Treiber). Fragen zum Schreiben von Userspace-Code in Linux sollten stattdessen mit [linux] getaggt werden. Da sich die Interna des Linux-Kernels ständig ändern, ist es hilfreich, genau die Kernel-Version (en) anzugeben, an denen Sie interessiert sind. ___ qstntxt ___

Ich teste den Linux-Kernel auf einem Embedded-Gerät und möchte Situationen / Szenarien finden, in denen der Linux-Kernel Panics auslösen würde.

Können Sie einige Testschritte vorschlagen (manuell oder mit Code automatisiert), um Kernel Panics zu erzeugen?

    
___ answer11813201 ___

Es ist bekannt, dass Crashme unbekannte Kernel-Panic-Situationen findet, aber es muss auf eine potente Art und Weise ausgeführt werden, die eine Vielzahl von Signalausnahmen erzeugt, die innerhalb des Prozesses und einer Vielzahl von Prozessausstiegsbedingungen behandelt werden.

Der Hauptzweck der von Crashme erzeugten Nachrichten besteht darin, festzustellen, ob genügend interessante Dinge passieren, um eine mögliche Potenz anzuzeigen. Wenn beispielsweise der Aufruf %code% benötigt wird, um Speicher mit %code% als Anweisungen auszuführen, und wenn Sie% cr_de% im Quelltext crashme.c für Ihre Plattform nicht aktiviert haben, dann Crashme ist impotent.

Es scheint, dass Betriebssysteme auf x64-Architekturen dazu neigen, die Ausführung von Datensegmenten zu deaktivieren. Kürzlich habe ich die crashme.c auf Ссылка aktualisiert, um %code% im Falle von %code% zu verwenden und getestet auf einem laufenden MacBook Pro MAC OS X Löwe. Dies ist das erste ernsthafte Update für Crashme seit 1994. Rechne damit, bald Centos und Freebsd zu sehen.

    
___ answer5085831 ___

Es gibt eine Vielzahl von Tools, die Sie verwenden können, um Ihren Computer zum Absturz zu bringen:

crashme versucht, zufälligen Code auszuführen; Dies ist gut zum Testen des Lebenszykluscodes des Prozesses.

fsx ist ein Werkzeug, um zu versuchen, den Dateisystemcode ausgiebig auszuüben; es ist gut zum Testen von Treibern, Block-io und Dateisystemcode.

Das Linux-Testprojekt zielt darauf ab, ein großes Repository von Kernel-Testfällen zu erstellen. Es ist möglicherweise nicht speziell mit abstürzenden Systemen ausgelegt, aber es kann viel dazu beitragen, dass Sie und Ihr Team alles so halten, wie es geplant ist. (Beachten Sie, dass das LTP nicht proskriptiv ist - die Kernel-Gemeinschaft behandelt ihre Tests nicht als etwas Wichtiges - aber das LTP-Team versucht sehr, deskriptiv zu sein was der Kernel tut und was nicht.)

Wenn Ihr Gerät mit dem Netzwerk verbunden ist, können Sie nmap mit einer Vielzahl von Scanoptionen ausführen: %code% versucht dies finde Versionen aller laufenden Dienste (dies kann stressig sein), %code% wird versuchen, das Betriebssystem zu bestimmen, indem man seltsame Netzwerkpakete auf die Maschine wirft und nach Antworten rät, was die Ausgabe ist.

Das nessus Scan-Tool übernimmt auch die Versionsidentifizierung laufender Services; Es kann aber auch Verbesserungen gegenüber nmap bieten oder auch nicht.

Sie können Ihr Gerät auch an Benutzer weitergeben. Sie finden die verrücktesten Dinge, die mit Software zu tun haben, sie werden Fehler entdecken, die Sie nie für nötig halten würden. :)

    
___ tag123embeddedwindux ___ Embedded Linux ist die Verwendung von Linux in eingebetteten Computersystemen wie Mobiltelefonen, Personal Digital Assistants, Media Playern, Set-Top-Boxen und anderen Geräten der Unterhaltungselektronik, Netzwerkausrüstung, Maschinensteuerung, Industrieautomatisierung, Navigationsausrüstung und Medizin Instrumente. ___ tag123linuxdevicedriver ___ Gerätetreiber übernehmen im Linux-Kernel eine besondere Rolle. Es sind programmatisch abstrahierte "Black Boxes", die ein bestimmtes Hardware-Teil auf eine wohldefinierte interne Programmierschnittstelle reagieren lassen. Sie verbergen vollständig die Details, wie das Gerät funktioniert. ___
2
Antworten

Einen Teil des SDRAM reservieren, um Daten zwischen U-Boot und Linux Kernel zu übertragen

Wie kann ich einen Teil des SDRAM reservieren, etwa 4 Bytes, um ein Flag zwischen U-Boot und dem Linux-Kernel zu übergeben, damit dieser reservierte Speicherplatz nicht vom Linker initialisiert wird und der Wert nach einem Warmstart erhalten ble...
26.04.2012, 21:02
2
Antworten

select (), poll () oder epoll ()? für sysfs-Attribut

Ich arbeite mit gpio interrupts. Ich habe eine Datei in "/ sys / class / gpio / gpio38 / value". Ich möchte eine Benachrichtigung erhalten, wenn sich das Attribut value ändert. Wie kann ich das im User-Space erreichen? Da ich bereits Informati...
22.09.2012, 07:53
2
Antworten

Linux-Kernel-Treiber: Welches Modell für den NVRAM-Zugriff?

Ich habe gerade einen RTC-Treiber für einen NXP-RTC-Chip auf meinem Board geschrieben, es funktioniert großartig. Dieser Chip hat auch einige batteriegestützte RAM, die ich einer Benutzerraumanwendung zur Verfügung stellen möchte. Das RTC-Framew...
29.06.2010, 00:15
2
Antworten

Standard-Baudrate - Linux / U-Boot

Ich arbeite an der Entwicklung eines eingebetteten Linux-Systems mit u-boot. U-boot legt die Baudrate des seriellen Ports ttyS0 mit der Konsole = bootarg fest, aber ich möchte auch die Standard-Baudrate von ttyS [1-3] (auf etwas anderes als 9600...
16.11.2011, 05:58
1
Antwort

MTD Erase Blockgröße von Null für SRAM

Raffinierte Frage Wie liest und schreibt man Textinformationen von einem MTD SRAM-Gerät mit der Löschblockgröße Null? Anmerkungen: Ich verwende den 23K256 Treiber Versuche, MTD-Util-Tools zu verwenden, sind fehlgeschlagen, weil...
18.10.2017, 17:19
0
Antworten

Linux: So aktivieren Sie Execute in Place (XIP) für RAMFS / TMPFS

Ich arbeite an einem eingebetteten System, bei dem rootfs in einer tmpfs Partition durch den init -Prozess konstruiert wird. Nachdem die rootfs abgeschlossen ist, führt sie einen Pivot-Root aus und startet Laichprozesse, die sich in...
19.05.2016, 08:12
0
Antworten

Linux-Timer hängt irgendwann und stoppt bei 1ns

Ich habe ein Embedded Board mit PowerPC 5200 auf dem Realtime Linux mit der Version 2.6.33 läuft. Meine Anwendung verwendet einen hochauflösenden Timer in Linux für Alarme. Dieser Timer ist manchmal nicht abgelaufen. Das Problem tritt sehr selte...
25.11.2013, 03:51
3
Antworten

Wie testet man den Kernel auf Kernel Panics?

Ich teste den Linux-Kernel auf einem Embedded-Gerät und möchte Situationen / Szenarien finden, in denen der Linux-Kernel Panics auslösen würde. Können Sie einige Testschritte vorschlagen (manuell oder mit Code automatisiert), um Kernel Panics...
22.02.2011, 23:06