Open jpluimers opened 8 years ago
rpi-update is designed for raspbian. You should really ask opensuse maintainers if it is suitable for their distribution.
Did /opt/vc/lib
exist before you ran rpi-update?
opt/vc/lib
need to be added to library path somehow. raspbian does it with:
$ cat /etc/ld.so.conf.d/00-vmcs.conf
/opt/vc/lib
but use of LD_LIBRARY_PATH
and no doubt other ways are possible. Does:
LD_LIBRARY_PATH=/opt/vc/lib /opt/vc/bin/vcgencmd version
work?
Found that out myself as well that this works:
LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/opt/vc/lib/
export LD_LIBRARY_PATH
/opt/vc/bin/vcgencmd version
There was no /opt/vc/lib
before installing rpi-update
and I totally forgot that in the Linux world PATH
and LD_LIBRARY_PATH
are two different things. The #opensuse-arm IRC channel reminded me about that though (:
I've made the README text for rpi-update more explicit that it is designed for raspbian and should only be used on other distributions if the maintainers report it is safe.
I suspect you shouldn't be using it with opensuse.
I was assuming rpi-update
would update the embedded firmware (GPU, etc) only, not touch kernels and such.
But looking at do_update
it does much more.
It updates the gpu firmware, the kernel and the userland (user libs for communicating with the firmware). Often changes are required in all three to support a new gpu feature. They should ideally be updated together.
This opens even more questions for me:
Thanks for all the help so far.
Obviously if a new feature required a change to say, firmware and kernel or to firmware and userland then you won't benefit from that feature if you only update one of them.
In general we try to handle mismatched versions as cleanly as possible - we think about whether the behaviour is sensible if one component is updated without another, and in general if you don't use the new feature things will continue to work and if you do try then errors are reported rather than a fatal condition.
But some bigger changes do require some cooperation. The 4.4 kernel tree only works with device tree which is injected from firmware. A 4.4 kernel won't boot without a firmware that is new enough to create the device tree. That sort of change is pretty rare.
In general we aim that you can always update gpu firmware (bootcode.bin/start.elf/fixup.dat) safely. Updating kernel or userland will normally work, but occasionally will require the firmware to be at least as new.
I verified the files that go with opensuse Tumbleweed
match with what rpi-update
installed:
5bbb5f25dfe16f2871d5defcc48ac9ff /boot/efi/bootcode.bin
5bbb5f25dfe16f2871d5defcc48ac9ff /boot/vc/bootcode.bin
03f6b11cdc10260ebd1e8edfd4897356 /boot/efi/start.elf
e99d0923fea1914db8d5a87a2bb1cbf0 /boot/vc/start.elf
562dc460ce68eca4e017c6666ee2dbb7 /boot/efi/fixup.dat
363b45a30518c3b8cada40ef7953b5d4 /boot/vc/fixup.dat
03f6b11cdc10260ebd1e8edfd4897356 /boot/efi/start.elf
e99d0923fea1914db8d5a87a2bb1cbf0 /boot/vc/start.elf
These are missing in opensuse:
md5sum: /boot/start_cd.elf: No such file or directory
md5sum: /boot/start_db.elf: No such file or directory
md5sum: /boot/start.elf: No such file or directory
md5sum: /boot/start_x.elf: No such file or directory
On opensuse, /opt
is empty, that's why I think a "userland-only" or similar feature would be nice.
I've made a proposal called SKIP_FIRMWARE
that I think will do and post that as a pull-request for this issue # shortly.
Hi jpluimers, Have you check there : http://software.opensuse.org/download.html?project=hardware&package=raspberrypi-firmware
I just checked and both these rpms are installed by default on the openSUSE-Tumbleweed-ARM-JeOS-raspberrypi2.armv7l.raw.xz image:
# rpm -qa | grep raspberrypi-firmware
raspberrypi-firmware-2016.08.23-1.1.noarch
raspberrypi-firmware-config-rpi2-2016.08.23-1.1.noarch
But these do not include the userland binaries.
If you want, I could post a small update to this pull request that also gets rid of this message in the SKIP_FIRMWARE=1 UPDATE_SELF=0 ./rpi-update
case:
*** A reboot is needed to activate the new firmware
@jpluimers can this issue be closed?
I'm running an almost pristine openSUSE-Tumbleweed-ARM-JeOS-raspberrypi2.armv7l.raw.xz on a Raspberry Pi 2 Model B v1.1
(All above steps successful)
I get this:
Any idea what I'm missing?