Bug#789886: linux-image-3.2.0-4-kirkwood: Couldn't find /usr/lib/linux-image-3.2.0-4-kirkwood/kirkwood-sheevaplug.dtb
It seems I never applied this patch because I was waiting for Ian to
review it.
Ian, do you have some time to look at the proposed patch?
* Martin Michlmayr <tbm@cyrius.com> [2016-08-05 19:46]:
> * Jesse Adelman <jesse@boldandbusted.com> [2015-06-20 20:35]:
> > When I upgrade this package on my Debian Wheezy Sheevaplug, I get this error:
> >
> > Couldn't find /usr/lib/linux-image-3.2.0-4-kirkwood/kirkwood-sheevaplug.dtb
>
> > Full log:
> >
> > flash-kernel: installing version 3.2.0-4-kirkwood
> > Generating kernel u-boot image... done.
> > Taking backup of uImage.
> > Installing new uImage.
> > Generating initramfs u-boot image... done.
> > Taking backup of uInitrd.
> > Installing new uInitrd.
> > Couldn't find /usr/lib/linux-image-3.2.0-4-kirkwood/kirkwood-sheevaplug.dtb
> > dpkg: error processing package flash-kernel (--configure):
> > subprocess installed post-installation script returned error exit status 1
>
> Sorry for the delay in responding to this bug. I believe I know what
> the issue is. I've copied Ian Campbell who knows the code best.
>
> Ian, I've attached a proposed patch below. Do you agree with the
> logic described or am I missing something?
>
> The log also shows:
>
> > update-initramfs: Generating /boot/initrd.img-3.2.0-4-kirkwood
> > /usr/lib/linux-image-3.2.0-4-kirkwood/kirkwood-sheevaplug.dtb not found
> > /usr/lib/linux-image-3.2.0-4-kirkwood/kirkwood-sheevaplug.dtb not found
>
> I'm not sure where this is from but it seems isn't not causing an
> actual error.
>
>
> Only create DTB boot file on kernels that require DTB
>
> Boot-DTB-Path can be specified to install the DTB to a file. Some
> machines, such as the SheevaPlug, contain both a DTB-Append-From and
> a Boot-DTB-Path.
>
> If DTB-Append-From is set, a verson check is performed to see if the
> DTB is required and dtb_append is set to "yes" or "no" accordingly.
> However, there is no version check for Boot-DTB-Path. This can lead
> to errors that the DTB couldn't be found on older kernels (i.e. older
> than the version specified in DTB-Append-From).
>
> Arguably, DTB-Append-From and Boot-DTB-Path together don't make sense
> (why would you append the DTB _and_ install it to /boot), but it's
> possible that users rely on this behaviour.
>
> Therefore, only honour Boot-DTB-Path if $dtb_append is not "no". If
> it's "yes" or empty, we want to install the DTB to Boot-DTB-Path.
> But if $dtb_append is "no", it means we're on an old kernel without
> DTBs.
>
> diff --git a/functions b/functions
> index 368cbf2..c4ef6a3 100644
> --- a/functions
> +++ b/functions
> @@ -939,7 +939,7 @@ case "$method" in
> boot_script="$tmpdir/boot.scr"
> backup_and_install "$boot_script" "$boot_script_path"
> fi
> - if [ -n "$boot_dtb_path" ]; then
> + if [ -n "$boot_dtb_path" ] && [ "$dtb_append" != "no" ]; then
> boot_dtb_path="$boot_mnt_dir/$boot_dtb_path"
> boot_dtb=$(find_dtb_file)
> if [ ! -f "$boot_dtb" ]; then
>
> --
> Martin Michlmayr
> http://www.cyrius.com/
--
Martin Michlmayr
http://www.cyrius.com/
Reply to: