[opensuse-arm] New package for ARM: raspberrypi-firmware
Hello, I have submitted the raspberrypi-firmware package for inclusion in Factory: https://build.opensuse.org/request/show/341314 This package contains VideoCore IV binaries that are read from a FAT partition by the Raspberry Pi boot ROM. Without these files neither the ARM U-Boot bootloader nor an ARM kernel can be booted on that device. It is not really needed on x86 systems, so as alternative we could submit it to openSUSE:Factory:ARM instead. However, since in the past some non-free binaries snuck into this package (disguised as SUSE-Firmware instead of SUSE-NonFree license and probably without obtaining permission first), I think it makes sense to have it go through the full legal review process of openSUSE:Factory. Similarly, I would like to split out arndale-bl1.img from u-boot package as arndale-firmware (a signed version of GPL'ed U-Boot Secondary Program Loader) and to submit odroid{,xu}-firmware at some point, possibly more. This will allow us to build JeOS images for boards with upstream U-Boot and upstream kernel support centrally in openSUSE:Factory:ARM rather than in some Contrib project. In particular my intent here is to drop the devel:ARM:Factory:Contrib:RaspberryPi:upstream project in favor of openSUSE:Factory:ARM. Regards, Andreas -- SUSE Linux GmbH, Maxfeldstr. 5, 90409 Nürnberg, Germany GF: Felix Imendörffer, Jane Smithard, Graham Norton; HRB 21284 (AG Nürnberg) -- To unsubscribe, e-mail: opensuse-arm+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-arm+owner@opensuse.org
Hello, While the new firmware package and U-Boot v2015.10 seem to work fine on original Raspberry Pi B (and making the second rather than the first partition bootable now resolves the need for a second boot.scr in my local testing), a word of warning about the new kernel in Kernel:HEAD: 1) 4.4 changes the dtb filename from bcm2835-rpi-b.dtb to bcm2835-rpi-b-rev2.dtb. U-Boot's $fdtfile has the new filename in v2015.10, but our JeOS-generated boot.scr seems to overwrite that. As a workaround I have changed my boot.scr to use the new filename and provided a symlink in my local dtb-4.3.0-2 dir to the old one. You can also manually enter the four boot commands (3x load + bootz). 2) 4.4.0-rc3-1.g3d7391b-default fails to initialize USB, i.e. no built-in Ethernet and no USB ports working. Probably related to: [ 21.730717] dwc2 20980000.usb: Configuration mismatch. Forcing host mode [ 21.739834] dwc2 20980000.usb: no platform data or transceiver defined Regards, Andreas -- SUSE Linux GmbH, Maxfeldstr. 5, 90409 Nürnberg, Germany GF: Felix Imendörffer, Jane Smithard, Graham Norton; HRB 21284 (AG Nürnberg) -- To unsubscribe, e-mail: opensuse-arm+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-arm+owner@opensuse.org
On 12/02/2015 03:22 PM, Andreas Färber wrote:
While the new firmware package and U-Boot v2015.10 seem to work fine on original Raspberry Pi B (and making the second rather than the first partition bootable now resolves the need for a second boot.scr in my local testing), a word of warning about the new kernel in Kernel:HEAD:
Is there an overview which platform/version works on which Pi version? I was never able to make the Pi I version B working for example, and never tried a Pi II yet. regards, kai -- To unsubscribe, e-mail: opensuse-arm+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-arm+owner@opensuse.org
Hi Andreas, the dtb was not renamed, but added. RPi 1 B really has revisions 1.x and 2.0 with hardware differences. Rev 2.0 has 2 mounting holes, the P6 reset header, and most importantly the (unpopulated) P5 header with GPIOs 28-31, providing the I2S signal needed for HifiBerry and the like. www.raspberrypi-spy.co.uk/2012/09/raspberry-pi-board-revisions/#prettyPhoto/2/ Kind regards, Stefan -- Stefan Brüns / Bergstraße 21 / 52062 Aachen phone: +49 241 53809034 mobile: +49 151 50412019 -- To unsubscribe, e-mail: opensuse-arm+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-arm+owner@opensuse.org
Hi Stefan, Am 02.12.2015 um 17:08 schrieb Brüns, Stefan:
the dtb was not renamed, but added. RPi 1 B really has revisions 1.x and 2.0 with hardware differences. Rev 2.0 has 2 mounting holes, the P6 reset header, and most importantly the (unpopulated) P5 header with GPIOs 28-31, providing the I2S signal needed for HifiBerry and the like.
www.raspberrypi-spy.co.uk/2012/09/raspberry-pi-board-revisions/#prettyPhoto/2/
You are right. The problem however was that for whatever reason the non-rev2 .dtb file was not present in my filesystem (dtb -> dtb-foo migration fallout?). I have confirmed that it is in the .rpm, and a zypper install -f restored it. Anyway, booting works the same with either, only GPIOs should be affected I guess. Fact is that rev2 users like me have to deal with a changing file name. Another mysterious phenomenon is that my Pi is the only device that can still read its SD card, whereas other readers don't even recognize it is inserted. That's especially bad because despite me running systemctl disable purge-kernels earlier, my 4.3.0-1/-2 and 3.16.x kernels got removed and I was left with a USB- and network-less Pi... Since armv6l Tumbleweed images are currently stuck building, and using some old image with a new SD card wasn't so appealing to me, here's my recovery solution: Naive idea: Transfer the Tumbleweed kernel rpm via serial console: pi$ base64 -d > kernel-default.rpm host$ base64 kernel-default-foo.rpm | base64 > /dev/ttyUSB0 Took a long time and ended in "base64: invalid input". Unfortunately the JeOS did not seem to contain any other helpful tools for serial file transfer (uuencode, rz). And trying the same base64 approach for the rzsz package (93KB < 28MB) failed the same way. Workaround was to split it into chunks after base64'ing it: host$ dd if=rzsz-foo.rpm.b64 of=/dev/ttyUSB0 bs=16k count=1 skip=0..n checking the file size to match for each chunk (ll vs. dd output) and repeating otherwise, finally cat'ing them together, running base64 -d and checksumming it (sha256sum). zypper in ./rzsz.rpm then installed it fine. From here on pi$ rz can be used to receive files, and minicom can be used to upload them with zmodem protocol, providing automatic error detection and retransmission as well as convenient file name transfer. Took around an hour for transferring the kernel rpm but worked fine. Regards, Andreas -- SUSE Linux GmbH, Maxfeldstr. 5, 90409 Nürnberg, Germany GF: Felix Imendörffer, Jane Smithard, Graham Norton; HRB 21284 (AG Nürnberg) -- To unsubscribe, e-mail: opensuse-arm+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-arm+owner@opensuse.org
Am 02.12.2015 um 15:22 schrieb Andreas Färber:
2) 4.4.0-rc3-1.g3d7391b-default fails to initialize USB, i.e. no built-in Ethernet and no USB ports working. Probably related to:
[ 21.730717] dwc2 20980000.usb: Configuration mismatch. Forcing host mode [ 21.739834] dwc2 20980000.usb: no platform data or transceiver defined
This finally seems fixed in 4.4.0-rc5-2.g1e923a3-default! Cheers, Andreas -- SUSE Linux GmbH, Maxfeldstr. 5, 90409 Nürnberg, Germany GF: Felix Imendörffer, Jane Smithard, Graham Norton; HRB 21284 (AG Nürnberg) -- To unsubscribe, e-mail: opensuse-arm+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-arm+owner@opensuse.org
Am 02.12.2015 um 15:22 schrieb Andreas Färber:
the new firmware package and U-Boot v2015.10 seem to work fine on original Raspberry Pi B (and making the second rather than the first partition bootable now resolves the need for a second boot.scr in my local testing)
As second step, the firmware files have now been relocated from /boot to /boot/vc and a -branding-openSUSE package has been added for our Config.txt. TW: The corresponding :Factory:ARM changes are in place and :Contrib:RaspberryPi2/JeOS-raspberrypi2 is waiting to get rebuilt. Build355 and 356 were lacking one change, effectively leaving the FAT partition empty. (Thanks to nebadon for the quick report.) u-boot: https://build.opensuse.org/request/show/350127 13.2: https://build.opensuse.org/request/show/350144 13.1: https://build.opensuse.org/request/show/350146 Cheers, Andreas -- SUSE Linux GmbH, Maxfeldstr. 5, 90409 Nürnberg, Germany GF: Felix Imendörffer, Jane Smithard, Graham Norton; HRB 21284 (AG Nürnberg) -- To unsubscribe, e-mail: opensuse-arm+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-arm+owner@opensuse.org
Am 21.12.2015 um 17:36 schrieb Andreas Färber:
the firmware files have now been relocated from /boot to /boot/vc and a -branding-openSUSE package has been added for our Config.txt.
TW: The corresponding :Factory:ARM changes are in place and :Contrib:RaspberryPi2/JeOS-raspberrypi2 is waiting to get rebuilt. Build355 and 356 were lacking one change, effectively leaving the FAT partition empty. (Thanks to nebadon for the quick report.)
Update: Merged into Kiwi (https://github.com/openSUSE/kiwi/pull/533). Backport: https://build.opensuse.org/request/show/350334 For the record, to locally build an official Raspberry Pi 1 image, run: # zypper install qemu-linux-user # /usr/sbin/qemu-binfmt-conf.sh $ osc checkout openSUSE:Factory:ARM JeOS $ cd openSUSE:Factory:ARM/JeOS $ osc build --vm-type=chroot images armv6l JeOS-raspberrypi.kiwi The resulting .raw image file will become available after a long wait in /var/tmp/build-root/images-armv6l/usr/src/packages/KIWI-oem/ As long as the above fix is not yet merged, after an initial build, you can patch the two Kiwi files in /var/tmp/build-root/images-armv6l/usr/share/kiwi/modules/ Cheers, Andreas -- SUSE Linux GmbH, Maxfeldstr. 5, 90409 Nürnberg, Germany GF: Felix Imendörffer, Jane Smithard, Graham Norton; HRB 21284 (AG Nürnberg) -- To unsubscribe, e-mail: opensuse-arm+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-arm+owner@opensuse.org
participants (3)
-
Andreas Färber
-
Brüns, Stefan
-
Kai Dupke