Ich versuche, meinen Kernel auf die neueste Version zu aktualisieren. apt
wird aktualisiert und aktualisiert und rpi-update
endet ohne Fehler. Beim Neustart wird jedoch immer noch der alte Kernel ausgeführt. Irgendwelche Ideen?
$ uname -a
Linux raspberrypi 3.10.26+ #2 Fri Jan 17 22:13:59 EST 2014 armv6l GNU/Linux
$ sudo rpi-update
*** Raspberry Pi firmware updater by Hexxeh, enhanced by AndrewS and Dom
*** Performing self-update
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 7811 100 7811 0 0 18023 0 --:--:-- --:--:-- --:--:-- 26388
*** Relaunching after update
*** Raspberry Pi firmware updater by Hexxeh, enhanced by AndrewS and Dom
*** We're running for the first time
*** Backing up files (this will take a few minutes)
*** Backing up firmware
*** Backing up modules 3.10.26+
*** Downloading specific firmware revision (this will take a few minutes)
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 23.0M 100 23.0M 0 0 1123k 0 0:00:21 0:00:21 --:--:-- 1385k
*** Updating firmware
*** Updating kernel modules
*** depmod 3.12.36+
*** Updating VideoCore libraries
*** Using HardFP libraries
*** Updating SDK
*** Running ldconfig
*** Storing current firmware revision
*** Deleting downloaded files
*** Syncing changes to disk
*** If no errors appeared, your firmware was successfully updated to 6413da9f74871b239c5bd27d7edf90a8afeab363
*** A reboot is needed to activate the new firmware
$ sudo reboot
==============
$ uname -a
Linux raspberrypi 3.10.26+ #2 Fri Jan 17 22:13:59 EST 2014 armv6l GNU/Linux
Wenn es einen Unterschied macht, führe ich Raspbian (Wheezy) in QEMU auf einem Mac aus.
/boot
bei laufendem System bereitgestellt wird. Prüfen Sie, welche Datei auf die gezeigt wird durchkernel=
inconfig.txt
, und welche.img
Dateien vorhanden sind (das sind alle Kerne).rpi-update
ist es für die meisten Zwecke nutzlos; wahrscheinlich wird auch die Firmware nicht verwendet).Antworten:
Der QEMU-Emulator spiegelt den tatsächlichen Startvorgang des Pi nicht genau wider, wahrscheinlich weil ein Großteil der CPU und GPU auf dem Pi nicht Open Source sind und der Kernel auf dem Pi zuerst von der GPU geladen wird. Aufgrund der geschlossenen Quelle der GPU ist es nahezu unmöglich, dass der Kernel, der auf der GPU ausgeführt wird, in einem Emulator genauso ausgeführt wird. Darüber hinaus
rpi-update
wird der Kernel aufgrund seines optimierten Kernels relativ nutzlos, da die Kernelversion vom QEMU-Team festgelegt wird und sie bei Aktualisierungen darauf angewiesen sind.quelle
Alte Versionen von QEMU emulierten nicht den Raspberry Pi, sondern ein "Versatile PB" Board. Eine spezielle, extern angeordnete "Versatile" -Kerndatei ist erforderlich, um ordnungsgemäß von offiziellen Image-Dateien zu starten.
Neue Versionen (seit 2.6) sind besser, ahmen jedoch den GPU-basierten Startvorgang nicht nach und müssen zusammen mit einer ext4-Rootfs-Datei auf die offizielle Pi-Kernel-Datei verwiesen werden. Daher sind Änderungen am Verzeichnis / boot (der ersten SD-Partition auf echtem Pis) für QEMU irrelevant.
Man könnte RPI-Update zu ändern , dies zu erkennen, aber man braucht einen Mechanismus , um Platz / Schreib - Dateien zur Verwendung innerhalb QEMU auf dem Host - System.
quelle