Als «kernel» getaggte Fragen

103
Wofür ist __gxx_personality_v0?

Dies ist eine gebrauchte Frage von einer OS-Entwicklungsseite, die mich jedoch neugierig machte, da ich nirgendwo eine anständige Erklärung finden konnte. Beim Kompilieren und Verknüpfen eines freistehenden C ++ - Programms mit gcc tritt manchmal ein Linkerfehler wie der folgende...

101
Was bedeutet [N… M] in C-Aggregat-Initialisierern?

Aus der sys.c- Zeile 123: void *sys_call_table[__NR_syscalls] = { [0 ... __NR_syscalls-1] = sys_ni_syscall, #include <asm/unistd.h> }; sys_call_tableist ein generischer Zeiger auf Arrays, das kann ich sehen. Was ist jedoch die Notation: [0 ... __NR_syscalls-1] Was ist das...

93
Was ist? = In Makefile

KDIR ?= $(shell uname -r) Was bedeutet das ?=? Ich habe den Unterschied zwischen verstanden :=, +=und =von einem anderen Thread in Stack - Überlauf, aber nicht in der Lage , um die Erklärung zu finden

87
Was sind vdso und vsyscall?

Ich tat sudo cat /proc/1/maps -vv Ich versuche, die Ausgabe zu verstehen. Ich kann sehen, dass viele gemeinsam genutzte Bibliotheken wie erwartet dem Speicherzuordnungssegment zugeordnet werden. 7f3c00137000-7f3c00179000 r-xp 00000000 08:01 21233923

83
Die Verwendung von gdb für einstufigen Assembler-Code außerhalb der angegebenen ausführbaren Datei führt zu dem Fehler "Grenzen der aktuellen Funktion können nicht gefunden werden".

Ich bin außerhalb der ausführbaren Zieldatei von gdb und habe nicht einmal einen Stapel, der diesem Ziel entspricht. Ich möchte sowieso in einem Schritt arbeiten, damit ich überprüfen kann, was in meinem Assemblycode vor sich geht, da ich kein Experte für x86-Assembly bin. Leider weigert sich gdb,...

83
Bild vs zImage vs uImage

Was ist der Unterschied zwischen ihnen? Ich weiß, dass U-Boot einen Kernel im uImage-Format benötigt. Das System, das ich benutze, bootet zuerst vom Stage 1-Loader und ruft dann U-Boot auf. Ich möchte U-Boot verwerfen und direkt vom Stage 1-Loader booten. Welche Art von Kernel-Image muss ich...

82
Auswahl eines Linux I / O Schedulers

Ich habe gelesen, dass es angeblich möglich ist, den E / A-Scheduler für ein bestimmtes Gerät auf einem laufenden Kernel zu ändern, indem Sie in / sys / block / [disk] / queue / scheduler schreiben. Zum Beispiel kann ich auf meinem System sehen: anon@anon:~$ cat /sys/block/sda/queue/scheduler noop...