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 <vagr...@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