[Pkg-raspi-maintainers] Bug#858428: raspi3-firmware: avail package on armhf architecture

Michael Stapelberg stapelberg at debian.org
Mon May 15 20:14:53 UTC 2017


Thanks for your patch and tests. As we’re currently in a freeze, I’ll hold
off uploading this. Could you ping this bug once the freeze is over please?

On Wed, May 3, 2017 at 1:24 AM, Vagrant Cascadian <vagrant at debian.org>
wrote:

> On 2017-05-02, Vagrant Cascadian wrote:
> > Obviously, etc/kernel/postinst.d/raspi3-firmware will need some
> > adjustments, as it's currently hard-coded for raspberry pi 3.
>
> Wow, it's hard-coded in all sorts of ways... the commandline options,
> the boot options, etc.
>
> Patch below to at least to hard-code support raspberry pi2 on armhf,
> which doesn't handle running armhf on raspberry pi 3 (a plausible
> configuration). Maybe it should support /etc/default/raspi3-firmware and
> only set defaults for dtb if unspecified.
>
>
> diff --git a/debian/kernel/postinst.d/raspi3-firmware
> b/debian/kernel/postinst.d/raspi3-firmware
> index ca4d158..bfd16c9 100755
> --- a/debian/kernel/postinst.d/raspi3-firmware
> +++ b/debian/kernel/postinst.d/raspi3-firmware
> @@ -10,6 +10,18 @@ exec </dev/null >&2
>
>  eval set -- "$DEB_MAINT_PARAMS"
>
> +
> +# Detect appropriate .dtb
> +arch=$(dpkg --print-architecture)
> +case ${arch} in
> +       armhf)
> +               dtb=bcm2836-rpi-2-b.dtb
> +               ;;
> +       arm64)
> +               dtb=bcm2837-rpi-3-b.dtb
> +               ;;
> +esac
> +
>  # Only run on configure to avoid unnecessary work.
>  if [ -z "$1" ] || [ "$1" != "configure" ]; then
>    exit 0
> @@ -34,7 +46,7 @@ if [ -z "$latest_initrd" ]; then
>    exit 0
>  fi
>
> -latest_dtb="/usr/lib/linux-image-${latest_kernel#/boot/
> vmlinuz-}/broadcom/bcm2837-rpi-3-b.dtb"
> +latest_dtb="/usr/lib/linux-image-${latest_kernel#/boot/
> vmlinuz-}/broadcom/${dtb}"
>
>  if [ ! -e "$latest_dtb" ]; then
>    echo "raspi3-firmware: device tree file ${latest_dtb} does not exist,
> cannot populate /boot/firmware"
> @@ -49,10 +61,15 @@ latest_kernel_basename=$(basename "$latest_kernel")
>  latest_initrd_basename=$(basename "$latest_initrd")
>  latest_dtb_basename=$(basename "$latest_dtb")
>
> -cat >/boot/firmware/config.txt <<EOF
> +if [ "arm64" = "$arch" ]; then
> +       cat >/boot/firmware/config.txt <<EOF
>  # Switch the CPU from ARMv7 into ARMv8 (aarch64) mode
>  arm_control=0x200
>
> +EOF
> +fi
> +
> +cat >/boot/firmware/config.txt <<EOF
>  enable_uart=1
>
>  device_tree=${latest_dtb_basename}
>
>
>
> live well,
>   vagrant
>
> p.s. FWIW, I also tested that u-boot works with the firmware from
> raspi3-firmware.
>



-- 
Best regards,
Michael
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.alioth.debian.org/pipermail/pkg-raspi-maintainers/attachments/20170515/bfd967c3/attachment.html>


More information about the Pkg-raspi-maintainers mailing list