3

Will the new Raspbian image, whose kernel has been optimized for the Pi 2's arm v7 chip, work on the old Model B? Just a bit confused as to how it could be cross compatible.

4

Yes, the recent Raspbian image works spiffingly on all 3, B, +, & of course Pi2. How do I know this because I've been testing an image I prepared earlier, & just tested it on Pi2. In /boot, there are two kernels, the old kernel.img and a new kernel7.img.

  • Thanks, figured a 2 kernel solution was necessary. Now the question is how the correct kernel is chosen at boot time? – David Hallman Feb 3 '15 at 22:18
4

With regard to the kernel, no.1 If it has been compiled for ARMv7, it presumably exploits features that are not part of ARMv6 (and as per here, there are obviously some specific differences regarding the two Broadcom SoCs). Although it's hard to tell from this, it's unequivocally stated here that while ARMv7 might be backward compatible with ARMv6, ARMv6 is not forward compatible with ARMv7.

More evidence of this comes from the fact that if you could run ARMv7 code on the original pi, there would never have been any such thing as Raspbian, etc.; Debian already had a stock ARMv7 Wheezy available. Other distros (Ubuntu, Fedora) currently do too, and although I do not know exactly when that started, they've been around long enough that we would have heard of oodles of people using them on the pi already. Instead, an R&D group had to produce a special version of Fedora just for the pi.

These are the same distributions that are used essentially unmodified on the pi's ARMv7 competitors (Banana Pi, Cubieboard, etc.) which do not require a special OS compilation just for them. The reason for this is that other than the pi, there are not many things around that use ARMv6, whereas there are lots and lots and lots of ARMv7 devices -- wikipedia notes it is "the most widely used architecture in mobile devices".


1. Based on tvjon's answer, it seems that the newest Raspbian includes an ARMv7 and an ARMv6 kernel, but the userland is presumably still the same ARMv6 binaries, which the new pi would be backward compatible with. I can't imagine they are going to come out with an entirely new version just for the new pi, seeing as how regular Debian already works on it.

1

I got my new Pi2 yesterday and of course it didn't boot on my heavily loaded SD as I don't seem to have kernel7.img (my SD card system was ordered 3 months before the first A-model came out). I will have to do a kernel transplant and I hope it goes OK (am downloading a Wheezy image right now). I think they should have anticipated the problem under the regular update schedule or at least have made a patch download available to install a kernel7.img.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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