Annahmen:
Die Platform:
anisha@linux-dopx:~/> uname -a
Linux linux-dopx 2.6.34-12-desktop #1 SMP PREEMPT 2010-06-29 02:39:08 +0200 x86_64 x86_64 x86_64 GNU/Linux
Der heruntergeladene Kernel ist der neueste stabile von kernel.org.
- Wir lassen die Standardeinstellungen in den Optionen von beibehalten (keine Änderungen vornehmen)
make menuconfig
. - Geben Sie einfach
make
,make install
,grub-update
, und starten neu.
Müssen wir nun nach diesen Annahmen noch einige zusätzliche Änderungen an Dateien vornehmen oder einige zusätzliche Treiber kompilieren, um einen fehlerfreien Neustart sicherzustellen?
Wenn ja, von welchen Dingen hängen diese Änderungen ab?
EDIT 1:
anisha@linux-dopx:/> sudo /sbin/lspci -n
00:00.0 0600: 8086:29c0 (rev 10)
00:02.0 0300: 8086:29c2 (rev 10)
00:1b.0 0403: 8086:27d8 (rev 01)
00:1c.0 0604: 8086:27d0 (rev 01)
00:1c.1 0604: 8086:27d2 (rev 01)
00:1d.0 0c03: 8086:27c8 (rev 01)
00:1d.1 0c03: 8086:27c9 (rev 01)
00:1d.2 0c03: 8086:27ca (rev 01)
00:1d.3 0c03: 8086:27cb (rev 01)
00:1d.7 0c03: 8086:27cc (rev 01)
00:1e.0 0604: 8086:244e (rev e1)
00:1f.0 0601: 8086:27b8 (rev 01)
00:1f.1 0101: 8086:27df (rev 01)
00:1f.2 0101: 8086:27c0 (rev 01)
00:1f.3 0c05: 8086:27da (rev 01)
01:00.0 0200: 10ec:8136 (rev 01)
writing linux drivers
mit dem 2.6 kernel zu folgen . I Meine Fedora 24-Konfiguration enthält viele ungültige Werte für den 2.6-Kernel. Irgendwelche Vorschläge, welche Konfiguration verwendet werden soll, um den 2.6-Kernel zu installieren?Echte Hardware / Distributionen funktionieren mit defconfig wahrscheinlich nicht richtig
Wie in dieser Antwort erwähnt , wird alles, was nicht von der Distribution oder dem Hardwareanbieter angegeben wird, höchstwahrscheinlich auf subtile oder weniger subtile Weise fehlschlagen, z.
Abgesehen von bestimmten Konfigurationen ist es für Anbieter normal, große Patchsets auf den Vanillekernel anzuwenden, selbst Ubuntu tut dies beispielsweise.
Insbesondere für Ubuntu / Debian habe ich beschrieben, wie der unterstützte Kernel aus dem Quellcode kompiliert wird: /ubuntu/281763/is-there-any-prebuilt-qemu-ubuntu-image32bit-online/1081171# 1081171 Das Ändern dieser stabilen Kernelbasis ist das Vernünftigste, was Sie in diesem Fall tun können.
QEMU arbeitet mit defconfig
Eine Sache,
defconfig
die gut funktioniert, ist das Booten auf QEMU, getestet auf Kernel v4.20, QEMU 2.12.Hier ist ein vollautomatisches Beispiel mit Buildroot .
Wie unter diesem Link angegeben, benötigen Sie die folgenden Optionen, um von der Festplatte zu starten:
obwohl sie für initrd nicht benötigt werden.
Für die Kreuzkompilierung zu einem anderen Bogen, z. B. aarch64, benötigen Sie:
Aber wie erklärt hier , obwohl arm64 bootet auf QEMU, erzeugt er einen Super aufgeblähten Kernel, und Sie wollen wahrscheinlich etwas mehr minimal zB ausrollen , wie hier beschrieben .
Was
make defconfig
macht genau?Wir können leicht erkennen, welche Konfigurationsdatei mit einem ausführlichen Build verwendet wurde:
welche Ausgaben auf v4.19:
Daraus schließen wir, dass die verwendete Datei arch / x86 / configs / x86_64_defconfig sein muss .
Siehe auch: /programming/41885015/what-exactly-does-linux-kernels-make-defconfig-do
make help
zeigt auch andere interessante Standardziele wiealldefconfig
undsavedefconfig
die nützlich sein können.quelle