7

I'm trying to update my kernel to the latest version. apt is updated and upgraded, and rpi-update finishes without error. However when I reboot, I'm still running the old kernel. Any ideas?

$ 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

If it makes any difference, I'm running Raspbian (Wheezy) in QEMU on a Mac.

7
  • Have a look in the first partition, mounted on /boot when the system is running. Check what file is pointed to by kernel= in config.txt, and what .img files are there (those are all kernels).
    – goldilocks
    Jan 17, 2015 at 18:48
  • @goldilocks: I don't have kernel or initramfs configuration settings in /boot/config.txt. I tried adding both pointing to the correct versions, and got the same result. Jan 18, 2015 at 13:52
  • I'm starting to suspect that QEMU is doing something I'm not aware of, but I'm at a loss still. Jan 18, 2015 at 13:53
  • Yeah. The QEMU emulator perhaps does not exactly mirror the pi's actual boot process. I haven't used it. I guess you have to find out where it loads a kernel from. I get the impression glancing around that in fact QEMU can't run the normal pi kernel, it must use a further tweaked version (in which case rpi-update will be useless for most purposes; it probably doesn't use the firmware either).
    – goldilocks
    Jan 18, 2015 at 15:21
  • Pretty sure you're correct. If you'd like to answer as such, I'll accept. Jan 18, 2015 at 16:21

2 Answers 2

1

The QEMU emulator does not exactly mirror the pi's actual boot process, likely because a lot of the cpu and gpu on the pi are not open source, and the kernel on the pi, is loaded by the gpu first. Because of the closed source of the gpu it is nearly impossible for the kernel that is being run on the gpu to be run the exact same way in an emulator. Furthermore because of its tweaked kernel rpi-update becomes relatively useless as the kernel version is determined by the QEMU team, and it is relied upon them to make updates.

0
  1. Old versions of QEMU did not emulate the Raspberry Pi , but a "Versatile PB" board. A special , externally located "Versatile" kernel file is needed to boot properly from official image files.

  2. New versions (since 2.6) are better , but still do not mimic the GPU-based boot process and have to be pointed to the official Pi kernel file along with an ext4 rootfs file. Therefore modifications to the /boot directory ( the first SD partition on real Pis) are irrelevant to QEMU.

One could modify rpi-update to detect this , but one would need to use an mechanism to place/write files from inside QEMU on the host system.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

Not the answer you're looking for? Browse other questions tagged or ask your own question.