I have been experimenting with the RaspberryPi. In particular I wanted to get a webcam working with the Debian “squeeze” distro available on the Raspberry Pi downloads page.
The original Debian squeeze img contains a kernel that does not have v4l2 configured. However the latest firmware for the Raspberry Pi does include a recompiled kernel with v4l2 support added.
There is a tool for updating the Raspberry Pi firmware – however a bit of cajoling was required to get it to work.
$ sudo apt-get install ca-certificates $ sudo apt-get install git-core $ sudo wget http://goo.gl/1BOfJ -O /usr/bin/rpi-update $ sudo chmod +x /usr/bin/rpi-update $ sudo rpi-update Raspberry Pi firmware updater by Hexxeh, enhanced by AndrewS Performing self-update Autodetecting memory split Using ARM/GPU memory split of 192MB/64MB We're running for the first time Setting up firmware (this will take a few minutes) Using SoftFP libraries /opt/vc/sbin/vcfiled: error while loading shared libraries: libvchiq_arm.so: cannot open shared object file: No such file or directory If no errors appeared, your firmware was successfully setup A reboot is needed to activate the new firmware
The first time I tried this I ignored the error and rebooted only to get a black screen and the Raspberry Pi’s “red light of fail”.
So I set up a fresh image and started again.
This time I added a couple of extra steps
$ sudo rpi-update Raspberry Pi firmware updater by Hexxeh, enhanced by AndrewS Performing self-update Autodetecting memory split Using ARM/GPU memory split of 192MB/64MB We're running for the first time Setting up firmware (this will take a few minutes) Using SoftFP libraries /opt/vc/sbin/vcfiled: error while loading shared libraries: libvchiq_arm.so: cannot open shared object file: No such file or directory If no errors appeared, your firmware was successfully setup A reboot is needed to activate the new firmware $ sudo ldconfig $ sudo rpi-update Raspberry Pi firmware updater by Hexxeh, enhanced by AndrewS Performing self-update Autodetecting memory split Using ARM/GPU memory split of 192MB/64MB Updating firmware (this will take a few minutes) Your firmware is already up to date $ sudo reboot
By running
$ sudo ldconfig $ sudo rpi-update
After the first failure, the rpi-update completes and reboot is successful.
On reboot running
$ ls /dev/
shows that /dev/video0 is now available.