Debian Bug report logs - #836679
Warning for missing DTB unclear

version graph

Package: flash-kernel; Maintainer for flash-kernel is Debian Install System Team <debian-boot@lists.debian.org>; Source for flash-kernel is src:flash-kernel (PTS, buildd, popcon).

Reported by: Dominique <dod@debian.org>

Date: Sun, 4 Sep 2016 16:18:01 UTC

Severity: normal

Fixed in version flash-kernel/3.74

Done: Christian Perrier <bubulle@debian.org>

Bug is archived. No further changes may be made.

Toggle useless messages

View this report as an mbox folder, status mbox, maintainer mbox


Report forwarded to debian-bugs-dist@lists.debian.org, Debian Install System Team <debian-boot@lists.debian.org>:
Bug#836679; Package flash-kernel. (Sun, 04 Sep 2016 16:18:05 GMT) (full text, mbox, link).


Acknowledgement sent to Dominique <dod@debian.org>:
New Bug report received and forwarded. Copy sent to Debian Install System Team <debian-boot@lists.debian.org>. (Sun, 04 Sep 2016 16:18:05 GMT) (full text, mbox, link).


Message #5 received at submit@bugs.debian.org (full text, mbox, reply):

From: Dominique <dod@debian.org>
To: Debian Bug Tracking System <submit@bugs.debian.org>
Subject: flash-kernel: cannot configure kernel 4.7 with new flash-kernel
Date: Sun, 04 Sep 2016 18:15:48 +0200
Package: flash-kernel
Version: 3.68
Severity: important

Dear Maintainer,

I cannot install latest kernel on my OlinuXino card:
# dpkg --configure linux-image-4.7.0-1-armmp-lpae
dpkg: dependency problems prevent configuration of linux-image-4.7.0-1-armmp-lpae:
 linux-image-4.7.0-1-armmp-lpae depends on initramfs-tools (>= 0.110~) | linux-initramfs-tool; however:
  Package initramfs-tools is not configured yet.
  Package linux-initramfs-tool is not installed.
  Package initramfs-tools which provides linux-initramfs-tool is not configured yet.

dpkg: error processing package linux-image-4.7.0-1-armmp-lpae (--configure):
 dependency problems - leaving unconfigured
Errors were encountered while processing:
 linux-image-4.7.0-1-armmp-lpae

After this failure, flash-kernel fails with the following message:
# flash-kernel
DTB: sun7i-a20-olinuxino-lime.dtb
Couldn't find 

Indeed, there's no DTB file for kernel 4.7 in /boot:
# ls /boot/dtbs/
4.4.0-1-armmp-lpae  4.5.0-2-armmp-lpae  4.6.0-1-armmp-lpae

This may be because kernel 4.7 is not yet fully installed:
# dpkg -l linux-image*
Desired=Unknown/Install/Remove/Purge/Hold
| Status=Not/Inst/Conf-files/Unpacked/halF-conf/Half-inst/trig-aWait/Trig-pend
|/ Err?=(none)/Reinst-required (Status,Err: uppercase=bad)
||/ Name                                   Version                  Architecture             Description
+++-======================================-========================-========================-==================================================================================
rc  linux-image-3.16.0-4-armmp-lpae        3.16.7-ckt25-1           armhf                    Linux 3.16 for ARMv7 multiplatform compatible SoCs supporting LPAE
ii  linux-image-4.4.0-1-armmp-lpae         4.4.6-1                  armhf                    Linux 4.4 for ARMv7 multiplatform compatible SoCs supporting LPAE
hi  linux-image-4.5.0-2-armmp-lpae         4.5.2-1                  armhf                    Linux 4.5 for ARMv7 multiplatform compatible SoCs supporting LPAE
ii  linux-image-4.6.0-1-armmp-lpae         4.6.4-1                  armhf                    Linux 4.6 for ARMv7 multiplatform compatible SoCs supporting LPAE
iF  linux-image-4.7.0-1-armmp-lpae         4.7.2-1                  armhf                    Linux 4.7 for ARMv7 multiplatform compatible SoCs supporting LPAE (signed)
un  linux-image-4.7.0-1-armmp-lpae-unsigne <none>                   <none>                   (no description available)
iU  linux-image-armmp-lpae                 4.7+75                   armhf                    Linux for ARMv7 multiplatform compatible SoCs supporting LPAE (meta-package)

Once I remove the fix done with #833097 [1] , I get:
# flash-kernel 
DTB: sun7i-a20-olinuxino-lime.dtb
flash-kernel: installing version 4.7.0-1-armmp-lpae
Generating boot script u-boot image... done.
Taking backup of boot.scr.
Installing new boot.scr.

Which is much better...

Now I can finish the installation:
# dpkg --configure --pending
Setting up initramfs-tools (0.125) ...
update-initramfs: deferring update (trigger activated)
Setting up linux-image-4.7.0-1-armmp-lpae (4.7.2-1) ...
/etc/kernel/postinst.d/initramfs-tools:
update-initramfs: Generating /boot/initrd.img-4.7.0-1-armmp-lpae
cp: cannot stat '/etc/modprobe.d/*': No such file or directory
DTB: sun7i-a20-olinuxino-lime.dtb
flash-kernel: deferring update (trigger activated)
/etc/kernel/postinst.d/zz-flash-kernel:
DTB: sun7i-a20-olinuxino-lime.dtb
flash-kernel: deferring update (trigger activated)
Setting up linux-image-armmp-lpae (4.7+75) ...
Processing triggers for initramfs-tools (0.125) ...
update-initramfs: Generating /boot/initrd.img-4.7.0-1-armmp-lpae
cp: cannot stat '/etc/modprobe.d/*': No such file or directory
DTB: sun7i-a20-olinuxino-lime.dtb
flash-kernel: installing version 4.7.0-1-armmp-lpae
Generating boot script u-boot image... done.
Taking backup of boot.scr.
Installing new boot.scr.
Processing triggers for flash-kernel (3.68) ...
DTB: sun7i-a20-olinuxino-lime.dtb
flash-kernel: installing version 4.7.0-1-armmp-lpae
Generating boot script u-boot image... done.
Taking backup of boot.scr.
Installing new boot.scr.


Could find another fix for #833097 ?

All the best

[1] https://anonscm.debian.org/cgit/d-i/flash-kernel.git/commit/?id=33929c93c03d9d48bc4e1c58610bcb2ab3efdd04



-- System Information:
Debian Release: stretch/sid
  APT prefers unstable
  APT policy: (500, 'unstable'), (500, 'testing')
Architecture: armhf (armv7l)

Kernel: Linux 4.6.0-1-armmp-lpae (SMP w/2 CPU cores)
Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash
Init: systemd (via /run/systemd/system)

Versions of packages flash-kernel depends on:
ii  debconf [debconf-2.0]  1.5.59
ii  devio                  1.2-1.2
ih  initramfs-tools        0.125
ii  linux-base             4.4
ii  mtd-utils              1:1.5.2-1
ii  ucf                    3.0036

Versions of packages flash-kernel recommends:
ii  u-boot-tools  2016.03+dfsg1-6

flash-kernel suggests no packages.

-- debconf information:
* flash-kernel/linux_cmdline: quiet



Information forwarded to debian-bugs-dist@lists.debian.org, Debian Install System Team <debian-boot@lists.debian.org>:
Bug#836679; Package flash-kernel. (Sun, 04 Sep 2016 19:21:04 GMT) (full text, mbox, link).


Acknowledgement sent to dod@debian.org:
Extra info received and forwarded to list. Copy sent to Debian Install System Team <debian-boot@lists.debian.org>. (Sun, 04 Sep 2016 19:21:04 GMT) (full text, mbox, link).


Message #10 received at 836679@bugs.debian.org (full text, mbox, reply):

From: Dominique Dumont <dod@debian.org>
To: 836679@bugs.debian.org
Subject: Re: Bug#836679: flash-kernel: cannot configure kernel 4.7 with new flash-kernel
Date: Sun, 04 Sep 2016 21:16:39 +0200
On the other there's no dtb file in linux-image-4.7.0-1-armmp-lpae ...
$ dpkg --listfiles linux-image-4.7.0-1-armmp-lpae | grep dtb
[ nothing ]

Did I miss something ?


-- 
 https://github.com/dod38fr/   -o- http://search.cpan.org/~ddumont/
http://ddumont.wordpress.com/  -o-   irc: dod at irc.debian.org



Information forwarded to debian-bugs-dist@lists.debian.org, Debian Install System Team <debian-boot@lists.debian.org>:
Bug#836679; Package flash-kernel. (Sun, 04 Sep 2016 19:36:03 GMT) (full text, mbox, link).


Acknowledgement sent to Martin Michlmayr <tbm@cyrius.com>:
Extra info received and forwarded to list. Copy sent to Debian Install System Team <debian-boot@lists.debian.org>. (Sun, 04 Sep 2016 19:36:03 GMT) (full text, mbox, link).


Message #15 received at 836679@bugs.debian.org (full text, mbox, reply):

From: Martin Michlmayr <tbm@cyrius.com>
To: dod@debian.org, 836679@bugs.debian.org
Cc: debian-kernel@lists.debian.org
Subject: Re: Bug#836679: flash-kernel: cannot configure kernel 4.7 with new flash-kernel
Date: Sun, 4 Sep 2016 12:34:03 -0700
* Dominique Dumont <dod@debian.org> [2016-09-04 21:16]:
> On the other there's no dtb file in linux-image-4.7.0-1-armmp-lpae ...
> $ dpkg --listfiles linux-image-4.7.0-1-armmp-lpae | grep dtb
> [ nothing ]
> 
> Did I miss something ?

Maybe the real bug is that the signed package doesn't contain the
DTBs.

-- 
Martin Michlmayr
http://www.cyrius.com/



Information forwarded to debian-bugs-dist@lists.debian.org, Debian Install System Team <debian-boot@lists.debian.org>:
Bug#836679; Package flash-kernel. (Sun, 04 Sep 2016 21:30:03 GMT) (full text, mbox, link).


Acknowledgement sent to Ben Hutchings <ben@decadent.org.uk>:
Extra info received and forwarded to list. Copy sent to Debian Install System Team <debian-boot@lists.debian.org>. (Sun, 04 Sep 2016 21:30:03 GMT) (full text, mbox, link).


Message #20 received at 836679@bugs.debian.org (full text, mbox, reply):

From: Ben Hutchings <ben@decadent.org.uk>
To: Martin Michlmayr <tbm@cyrius.com>, 836679@bugs.debian.org
Subject: Re: Bug#836679: flash-kernel: cannot configure kernel 4.7 with new flash-kernel
Date: Sun, 04 Sep 2016 22:27:21 +0100
[Message part 1 (text/plain, inline)]
Control: reassign -1 src:linux-signed 2
Control: retitle -1 DTBs are not included in signed kernel packages
Control: forcemerge 836255 -1

On Sun, 2016-09-04 at 12:34 -0700, Martin Michlmayr wrote:
> * Dominique Dumont <dod@debian.org> [2016-09-04 21:16]:
> > 
> > On the other there's no dtb file in linux-image-4.7.0-1-armmp-lpae
> > ...
> > $ dpkg --listfiles linux-image-4.7.0-1-armmp-lpae | grep dtb
> > [ nothing ]
> > 
> > Did I miss something ?
> 
> Maybe the real bug is that the signed package doesn't contain the
> DTBs.

Exactly

Ben.

-- 
Ben Hutchings
Once a job is fouled up, anything done to improve it makes it worse.
[signature.asc (application/pgp-signature, inline)]

Bug reassigned from package 'flash-kernel' to 'src:linux-signed'. Request was from Ben Hutchings <ben@decadent.org.uk> to 836679-submit@bugs.debian.org. (Sun, 04 Sep 2016 21:30:04 GMT) (full text, mbox, link).


No longer marked as found in versions flash-kernel/3.68. Request was from Ben Hutchings <ben@decadent.org.uk> to 836679-submit@bugs.debian.org. (Sun, 04 Sep 2016 21:30:04 GMT) (full text, mbox, link).


Marked as found in versions linux-signed/2. Request was from Ben Hutchings <ben@decadent.org.uk> to 836679-submit@bugs.debian.org. (Sun, 04 Sep 2016 21:30:05 GMT) (full text, mbox, link).


Changed Bug title to 'DTBs are not included in signed kernel packages' from 'flash-kernel: cannot configure kernel 4.7 with new flash-kernel'. Request was from Ben Hutchings <ben@decadent.org.uk> to 836679-submit@bugs.debian.org. (Sun, 04 Sep 2016 21:30:06 GMT) (full text, mbox, link).


Severity set to 'serious' from 'important' Request was from Ben Hutchings <ben@decadent.org.uk> to 836679-submit@bugs.debian.org. (Sun, 04 Sep 2016 21:30:08 GMT) (full text, mbox, link).


Merged 836255 836679 Request was from Ben Hutchings <ben@decadent.org.uk> to 836679-submit@bugs.debian.org. (Sun, 04 Sep 2016 21:30:10 GMT) (full text, mbox, link).


Information forwarded to debian-bugs-dist@lists.debian.org, Debian Kernel Team <debian-kernel@lists.debian.org>:
Bug#836679; Package src:linux-signed. (Mon, 05 Sep 2016 07:57:04 GMT) (full text, mbox, link).


Acknowledgement sent to dod@debian.org:
Extra info received and forwarded to list. Copy sent to Debian Kernel Team <debian-kernel@lists.debian.org>. (Mon, 05 Sep 2016 07:57:04 GMT) (full text, mbox, link).


Message #37 received at 836679@bugs.debian.org (full text, mbox, reply):

From: Dominique Dumont <dod@debian.org>
To: Martin Michlmayr <tbm@cyrius.com>, 836679@bugs.debian.org
Subject: Re: Bug#836679: flash-kernel: cannot configure kernel 4.7 with new flash-kernel
Date: Mon, 05 Sep 2016 09:42:29 +0200
On Sunday, September 4, 2016 12:34:03 PM CEST you wrote:
> Maybe the real bug is that the signed package doesn't contain the
> DTBs.

Indeed. This issue has also been reported in #836255.

On the other hand the error message returned by flash-kernel could be 
improved. 

When the dtb is missing, flash-kernel shows:

# flash-kernel
DTB: sun7i-a20-olinuxino-lime.dtb
Couldn't find 

Reading that, I thought that the dtb file was found, but something else was 
wrong.

Could you improve this error message ?

All the best

-- 
 https://github.com/dod38fr/   -o- http://search.cpan.org/~ddumont/
http://ddumont.wordpress.com/  -o-   irc: dod at irc.debian.org



Disconnected #836679 from all other report(s). Request was from Martin Michlmayr <tbm@cyrius.com> to control@bugs.debian.org. (Mon, 05 Sep 2016 16:48:03 GMT) (full text, mbox, link).


Bug reassigned from package 'src:linux-signed' to 'flash-kernel'. Request was from Martin Michlmayr <tbm@cyrius.com> to control@bugs.debian.org. (Mon, 05 Sep 2016 16:48:05 GMT) (full text, mbox, link).


No longer marked as found in versions linux-signed/2. Request was from Martin Michlmayr <tbm@cyrius.com> to control@bugs.debian.org. (Mon, 05 Sep 2016 16:48:06 GMT) (full text, mbox, link).


Severity set to 'normal' from 'serious' Request was from Martin Michlmayr <tbm@cyrius.com> to control@bugs.debian.org. (Mon, 05 Sep 2016 16:48:07 GMT) (full text, mbox, link).


Changed Bug title to 'Warning for missing DTB unclear' from 'DTBs are not included in signed kernel packages'. Request was from Martin Michlmayr <tbm@cyrius.com> to control@bugs.debian.org. (Mon, 05 Sep 2016 16:48:08 GMT) (full text, mbox, link).


Information forwarded to debian-bugs-dist@lists.debian.org, Debian Install System Team <debian-boot@lists.debian.org>:
Bug#836679; Package flash-kernel. (Wed, 14 Sep 2016 22:42:06 GMT) (full text, mbox, link).


Acknowledgement sent to Martin Michlmayr <tbm@cyrius.com>:
Extra info received and forwarded to list. Copy sent to Debian Install System Team <debian-boot@lists.debian.org>. (Wed, 14 Sep 2016 22:42:06 GMT) (full text, mbox, link).


Message #52 received at 836679@bugs.debian.org (full text, mbox, reply):

From: Martin Michlmayr <tbm@cyrius.com>
To: Dominique Dumont <dod@debian.org>
Cc: 836679@bugs.debian.org
Subject: Re: Bug#836679: flash-kernel: cannot configure kernel 4.7 with new flash-kernel
Date: Wed, 14 Sep 2016 15:39:53 -0700
* Dominique Dumont <dod@debian.org> [2016-09-05 09:42]:
> On the other hand the error message returned by flash-kernel could be 
> improved. 
> 
> When the dtb is missing, flash-kernel shows:
> 
> # flash-kernel
> DTB: sun7i-a20-olinuxino-lime.dtb
> Couldn't find 
> 
> Reading that, I thought that the dtb file was found, but something else was 
> wrong.
> 
> Could you improve this error message ?

Sorry for the delay.  I didn't notice the broken error message when
you first pointed it out.  This happened because I changed the code
that looks for the DTB.

I can change it to:
    Couldn't find sun7i-a20-olinuxino-lime.dtb
Does this work?

-- 
Martin Michlmayr
http://www.cyrius.com/



Information forwarded to debian-bugs-dist@lists.debian.org, Debian Install System Team <debian-boot@lists.debian.org>:
Bug#836679; Package flash-kernel. (Thu, 15 Sep 2016 06:21:20 GMT) (full text, mbox, link).


Acknowledgement sent to dod@debian.org:
Extra info received and forwarded to list. Copy sent to Debian Install System Team <debian-boot@lists.debian.org>. (Thu, 15 Sep 2016 06:21:20 GMT) (full text, mbox, link).


Message #57 received at 836679@bugs.debian.org (full text, mbox, reply):

From: Dominique Dumont <dod@debian.org>
To: Martin Michlmayr <tbm@cyrius.com>
Cc: 836679@bugs.debian.org
Subject: Re: Bug#836679: flash-kernel: cannot configure kernel 4.7 with new flash-kernel
Date: Thu, 15 Sep 2016 08:06:57 +0200
On Wednesday, 14 September 2016 15:39:53 CEST you wrote:
> I can change it to:
>     Couldn't find sun7i-a20-olinuxino-lime.dtb
> Does this work?

All in all, user would see:
# flash-kernel
 DTB: sun7i-a20-olinuxino-lime.dtb
Couldn't find sun7i-a20-olinuxino-lime.dtb

I guess that the intent is to let user know the the right DTB for his board is 
sun7i-a20-olinuxino-lime.dtb but this file cannot be found in the expected 
location (which is I guess /boot). 

I think this require some context knowledge from user to intepret this 
correctly. I think also that indicating where the DTB file is expected would 
give user a hint to look for an issue with kernel installation or kernel 
content.

How about something like:
# flash-kernel
This board requires DTB file: sun7i-a20-olinuxino-lime.dtb
Couldn't find sun7i-a20-olinuxino-lime.dtb in /boot


Hope this helps

-- 
 https://github.com/dod38fr/   -o- http://search.cpan.org/~ddumont/
http://ddumont.wordpress.com/  -o-   irc: dod at irc.debian.org



Information forwarded to debian-bugs-dist@lists.debian.org, Debian Install System Team <debian-boot@lists.debian.org>:
Bug#836679; Package flash-kernel. (Fri, 30 Sep 2016 18:24:03 GMT) (full text, mbox, link).


Acknowledgement sent to Martin Michlmayr <tbm@cyrius.com>:
Extra info received and forwarded to list. Copy sent to Debian Install System Team <debian-boot@lists.debian.org>. (Fri, 30 Sep 2016 18:24:03 GMT) (full text, mbox, link).


Message #62 received at 836679@bugs.debian.org (full text, mbox, reply):

From: Martin Michlmayr <tbm@cyrius.com>
To: Dominique Dumont <dod@debian.org>
Cc: 836679@bugs.debian.org, Ian Campbell <ijc@debian.org>
Subject: Re: Bug#836679: flash-kernel: cannot configure kernel 4.7 with new flash-kernel
Date: Fri, 30 Sep 2016 11:21:55 -0700
* Dominique Dumont <dod@debian.org> [2016-09-15 08:06]:
> I guess that the intent is to let user know the the right DTB for his board is 
> sun7i-a20-olinuxino-lime.dtb but this file cannot be found in the expected 
> location (which is I guess /boot). 

No, it's usually found under /usr/lib/linux-image-$kvers (it ships
with the kernel) but flash-kernel also allows users to put DTBs in
/etc/flash-kernel/dtbs

(flash-kernel will take the DTB from there and then store it under
/boot for the boot process.)

> I think this require some context knowledge from user to intepret
> this correctly. I think also that indicating where the DTB file is
> expected would give user a hint to look for an issue with kernel
> installation or kernel content.

> How about something like:
> # flash-kernel
> This board requires DTB file: sun7i-a20-olinuxino-lime.dtb
> Couldn't find sun7i-a20-olinuxino-lime.dtb in /boot

We could definitely do:

> This board requires DTB file: sun7i-a20-olinuxino-lime.dtb
> Couldn't find sun7i-a20-olinuxino-lime.dtb

It's harder to specify the location because there are several options
(find_dtb_file accepts absolute paths, and there's
/usr/lib/linux-image-$kvers and /etc/flash-kernel/dtbs)

Looking at the code, all uses of find_dtb_file() check for the result
and produce an error if the file doesn't exist, so maybe we should
just move the error messages into find_dtb_file().  Then we could tell
the user where we were looking.

Ian, any comments?

-- 
Martin Michlmayr
http://www.cyrius.com/



Information forwarded to debian-bugs-dist@lists.debian.org, Debian Install System Team <debian-boot@lists.debian.org>:
Bug#836679; Package flash-kernel. (Sat, 01 Oct 2016 07:36:03 GMT) (full text, mbox, link).


Acknowledgement sent to Ian Campbell <ijc@debian.org>:
Extra info received and forwarded to list. Copy sent to Debian Install System Team <debian-boot@lists.debian.org>. (Sat, 01 Oct 2016 07:36:03 GMT) (full text, mbox, link).


Message #67 received at 836679@bugs.debian.org (full text, mbox, reply):

From: Ian Campbell <ijc@debian.org>
To: Martin Michlmayr <tbm@cyrius.com>, 836679@bugs.debian.org, Dominique Dumont <dod@debian.org>
Subject: Re: Bug#836679: flash-kernel: cannot configure kernel 4.7 with new flash-kernel
Date: Sat, 01 Oct 2016 08:29:48 +0100
On Fri, 2016-09-30 at 11:21 -0700, Martin Michlmayr wrote:
> Looking at the code, all uses of find_dtb_file() check for the result
> and produce an error if the file doesn't exist, so maybe we should
> just move the error messages into find_dtb_file().  Then we could
> tell
> the user where we were looking.
> 
> Ian, any comments?

Nope, sounds sensible to me!

Looks like handle_dtb() doesn't produce an error if the file doesn't
exist -- but it probably should. Need to take care in the postrm.d case
(where the file might legitimately not be there) though -- fortunately
it looks like the result of find_dtb_file isn't actually used in that
half of the if, so it could probably be moved.

Cheers,
Ian.




Information forwarded to debian-bugs-dist@lists.debian.org, Debian Install System Team <debian-boot@lists.debian.org>:
Bug#836679; Package flash-kernel. (Sat, 17 Dec 2016 22:12:02 GMT) (full text, mbox, link).


Acknowledgement sent to Martin Michlmayr <tbm@cyrius.com>:
Extra info received and forwarded to list. Copy sent to Debian Install System Team <debian-boot@lists.debian.org>. (Sat, 17 Dec 2016 22:12:02 GMT) (full text, mbox, link).


Message #72 received at 836679@bugs.debian.org (full text, mbox, reply):

From: Martin Michlmayr <tbm@cyrius.com>
To: Ian Campbell <ijc@debian.org>
Cc: 836679@bugs.debian.org, Dominique Dumont <dod@debian.org>
Subject: Re: Bug#836679: flash-kernel: cannot configure kernel 4.7 with new flash-kernel
Date: Sat, 17 Dec 2016 14:09:58 -0800
* Ian Campbell <ijc@debian.org> [2016-10-01 08:29]:
> > Looking at the code, all uses of find_dtb_file() check for the result
> > and produce an error if the file doesn't exist, so maybe we should
> > just move the error messages into find_dtb_file().  Then we could
> > tell
> > the user where we were looking.
> > 
> > Ian, any comments?
> 
> Nope, sounds sensible to me!
> 
> Looks like handle_dtb() doesn't produce an error if the file doesn't
> exist -- but it probably should. Need to take care in the postrm.d case
> (where the file might legitimately not be there) though -- fortunately
> it looks like the result of find_dtb_file isn't actually used in that
> half of the if, so it could probably be moved.

Sorry for the delay (again!).  I finally looked into this again.
I came up with the patch below and I get:

> Using DTB: XXXarmada-370-seagate-personal-cloud.dtb
> Couldn't find DTB XXXarmada-370-seagate-personal-cloud.dtb in /usr/lib/linux-image-4.9.0-rc8-armmp or /etc/flash-kernel/dtbs

So that part looks good.

But then I get:

> Installing  into /boot/dtbs/4.9.0-rc8-armmp/XXXarmada-370-seagate-personal-cloud.dtb
> cp: cannot stat '': No such file or directory

It seems the exit called from find_dtb_file() doesn't exit the whole
program.  I know this is normal because it's called in a subshell, but
flash-kernel itself does a "set -e" so I thought any exit should
trigger the whole script to stop.

Ian, any idea?

Here's the patch so far:

diff --git a/functions b/functions
index e050269..acc1a33 100644
--- a/functions
+++ b/functions
@@ -249,7 +249,7 @@ get_dtb_name() {
 		;;
 	esac
 	if [ -n "$dtb_name" ] ; then
-		echo "DTB: $dtb_name" >&2
+		echo "Using DTB: $dtb_name" >&2
 	fi
 }
 
@@ -561,18 +561,25 @@ android_flash() {
 }
 
 find_dtb_file() {
+	local dtb
 	case "$dtb_name" in
 	/*)
-		echo "$dtb_name"
+		dtb="$dtb_name"
+		if [ ! -f "$dtb" ]; then
+			error "Couldn't find $dtb"
+		fi
 		;;
 	*)
-		local dtb=$(find /etc/flash-kernel/dtbs -name $dtb_name 2>/dev/null | head -n 1)
+		dtb=$(find /etc/flash-kernel/dtbs -name $dtb_name 2>/dev/null | head -n 1)
 		if [ -z "$dtb" ]; then
 			dtb=$(find /usr/lib/linux-image-$kvers -name $dtb_name 2>/dev/null | head -n 1)
 		fi
-		echo $dtb
+		if [ ! -f "$dtb" ]; then
+			error "Couldn't find DTB $dtb_name in /usr/lib/linux-image-$kvers or /etc/flash-kernel/dtbs"
+		fi
 		;;
 	esac
+	echo $dtb
 }
 
 handle_dtb() {
@@ -580,9 +587,8 @@ handle_dtb() {
 		return
 	fi
 
-	local dtb=$(find_dtb_file)
-	local dtb_name=$(basename $dtb_name)
 	if [ "x$FK_KERNEL_HOOK_SCRIPT" = "xpostrm.d" ] ; then
+		local dtb_name=$(basename $dtb_name)
 		rm -f "/boot/dtbs/$kvers/$dtb_name"
 
 		# This was the old name we installed under. We
@@ -606,26 +612,24 @@ handle_dtb() {
 			rmdir --ignore-fail-on-non-empty /boot/dtbs
 		fi
 	else
-		if [ -e "$dtb" ]; then
-			echo "Installing $dtb into /boot/dtbs/$kvers/$dtb_name" >&2
-			mkdir -p /boot/dtbs/$kvers/
-			cp "$dtb" "/boot/dtbs/$kvers/$dtb_name.new"
-			backup_and_install \
-				"/boot/dtbs/$kvers/$dtb_name.new" \
-				"/boot/dtbs/$kvers/$dtb_name"
-
-			# Historically we installed the dtb as
-			# dtb-$kvers, keep it around as an alternative
-			# for now. Useful for platforms which do not
-			# set ${fdtfile}
-			ln -nfs "dtbs/$kvers/$dtb_name" "/boot/dtb-$kvers"
-
-			# This can be used along with the unversioned
-			# vmlinuz+initrd.gz e.g. as a fallback option
-			ln -nfs "dtbs/$kvers/$dtb_name" "/boot/dtb"
-		else
-			error "Couldn't find $dtb"
-		fi
+		local dtb=$(find_dtb_file)
+		local dtb_name=$(basename $dtb_name)
+		echo "Installing $dtb into /boot/dtbs/$kvers/$dtb_name" >&2
+		mkdir -p /boot/dtbs/$kvers/
+		cp "$dtb" "/boot/dtbs/$kvers/$dtb_name.new"
+		backup_and_install \
+			"/boot/dtbs/$kvers/$dtb_name.new" \
+			"/boot/dtbs/$kvers/$dtb_name"
+
+		# Historically we installed the dtb as
+		# dtb-$kvers, keep it around as an alternative
+		# for now. Useful for platforms which do not
+		# set ${fdtfile}
+		ln -nfs "dtbs/$kvers/$dtb_name" "/boot/dtb-$kvers"
+
+		# This can be used along with the unversioned
+		# vmlinuz+initrd.gz e.g. as a fallback option
+		ln -nfs "dtbs/$kvers/$dtb_name" "/boot/dtb"
 	fi
 }
 
@@ -864,9 +868,6 @@ case "$method" in
 		initrd="$ifile"
 		if [ "$dtb_append" = "yes" ]; then
 			dtb=$(find_dtb_file)
-			if [ ! -f "$dtb" ]; then
-				error "Couldn't find $dtb"
-			fi
 			append_dtb "$kernel" "$dtb" "$tmpdir/kernel"
 			kernel="$tmpdir/kernel"
 		elif [ -n "$machine_id" ]; then
@@ -945,9 +946,6 @@ case "$method" in
 		if [ -n "$boot_dtb_path" ]; then
 			boot_dtb_path="$boot_mnt_dir/$boot_dtb_path"
 			boot_dtb=$(find_dtb_file)
-			if [ ! -f "$boot_dtb" ]; then
-				error "Couldn't find $boot_dtb"
-			fi
 			dtb="$tmpdir/dtb"
 			cp "$boot_dtb" "$dtb"
 			backup_and_install "$dtb" "$boot_dtb_path"

-- 
Martin Michlmayr
http://www.cyrius.com/



Information forwarded to debian-bugs-dist@lists.debian.org, Debian Install System Team <debian-boot@lists.debian.org>:
Bug#836679; Package flash-kernel. (Fri, 23 Dec 2016 00:27:03 GMT) (full text, mbox, link).


Acknowledgement sent to Ian Campbell <ijc@debian.org>:
Extra info received and forwarded to list. Copy sent to Debian Install System Team <debian-boot@lists.debian.org>. (Fri, 23 Dec 2016 00:27:03 GMT) (full text, mbox, link).


Message #77 received at 836679@bugs.debian.org (full text, mbox, reply):

From: Ian Campbell <ijc@debian.org>
To: Martin Michlmayr <tbm@cyrius.com>
Cc: 836679@bugs.debian.org, Dominique Dumont <dod@debian.org>
Subject: Re: Bug#836679: flash-kernel: cannot configure kernel 4.7 with new flash-kernel
Date: Fri, 23 Dec 2016 00:23:57 +0000
On Sat, 2016-12-17 at 14:09 -0800, Martin Michlmayr wrote:

> It seems the exit called from find_dtb_file() doesn't exit the whole
> program.  I know this is normal because it's called in a subshell,
> but
> flash-kernel itself does a "set -e" so I thought any exit should
> trigger the whole script to stop.
> 
> Ian, any idea?

IIRC "set -e" doesn't propagate to subshells with Bash, my
understanding of this is from http://xenbits.xen.org/gitweb/?p=osstest.
git;a=commit;h=6ffbf6eee57d0e4a7f1a669a66dc1a0ae1f7d8d6

But flash-kernel uses /bin/sh which these days ought to be dash not
bash and the original bug report does say:

    Shell: /bin/sh linked to /bin/dash

Maybe there is some similar oddity with function calls in dash?

Ian.



Information forwarded to debian-bugs-dist@lists.debian.org, Debian Install System Team <debian-boot@lists.debian.org>:
Bug#836679; Package flash-kernel. (Sun, 01 Jan 2017 20:45:04 GMT) (full text, mbox, link).


Acknowledgement sent to Martin Michlmayr <tbm@cyrius.com>:
Extra info received and forwarded to list. Copy sent to Debian Install System Team <debian-boot@lists.debian.org>. (Sun, 01 Jan 2017 20:45:05 GMT) (full text, mbox, link).


Message #82 received at 836679@bugs.debian.org (full text, mbox, reply):

From: Martin Michlmayr <tbm@cyrius.com>
To: Ian Campbell <ijc@debian.org>
Cc: 836679@bugs.debian.org, Dominique Dumont <dod@debian.org>
Subject: Re: Bug#836679: flash-kernel: cannot configure kernel 4.7 with new flash-kernel
Date: Sun, 1 Jan 2017 12:40:22 -0800
* Ian Campbell <ijc@debian.org> [2016-12-23 00:23]:
> IIRC "set -e" doesn't propagate to subshells with Bash, my
> understanding of this is from http://xenbits.xen.org/gitweb/?p=osstest.
> git;a=commit;h=6ffbf6eee57d0e4a7f1a669a66dc1a0ae1f7d8d6
> 
> But flash-kernel uses /bin/sh which these days ought to be dash not
> bash and the original bug report does say:
> 
>     Shell: /bin/sh linked to /bin/dash
> 
> Maybe there is some similar oddity with function calls in dash?

Thanks for pointing out this issue.  We use /bin/sh so we're not
running into this issue.  However, I investigated a bit more and found
out that it relates to the use of "local".  See e.g.
http://superuser.com/questions/363444/how-do-i-get-the-output-and-exit-value-of-a-subshell-when-using-bash-e/1103711#1103711
for an explanation.  Fortunately this is easy enough to work around.

-- 
Martin Michlmayr
http://www.cyrius.com/



Information forwarded to debian-bugs-dist@lists.debian.org, Debian Install System Team <debian-boot@lists.debian.org>:
Bug#836679; Package flash-kernel. (Mon, 02 Jan 2017 15:42:03 GMT) (full text, mbox, link).


Acknowledgement sent to Ian Campbell <ijc@debian.org>:
Extra info received and forwarded to list. Copy sent to Debian Install System Team <debian-boot@lists.debian.org>. (Mon, 02 Jan 2017 15:42:03 GMT) (full text, mbox, link).


Message #87 received at 836679@bugs.debian.org (full text, mbox, reply):

From: Ian Campbell <ijc@debian.org>
To: Martin Michlmayr <tbm@cyrius.com>
Cc: 836679@bugs.debian.org, Dominique Dumont <dod@debian.org>
Subject: Re: Bug#836679: flash-kernel: cannot configure kernel 4.7 with new flash-kernel
Date: Mon, 02 Jan 2017 15:38:35 +0000
On Sun, 2017-01-01 at 12:40 -0800, Martin Michlmayr wrote:
> I investigated a bit more and
> found
> out that it relates to the use of "local".  See e.g.
> http://superuser.com/questions/363444/how-do-i-get-the-output-and-exi
> t-value-of-a-subshell-when-using-bash-e/1103711#1103711
> for an explanation. 

How exciting!

>  Fortunately this is easy enough to work around.

Great!

Ian.



Reply sent to Christian Perrier <bubulle@debian.org>:
You have taken responsibility. (Wed, 11 Jan 2017 06:06:05 GMT) (full text, mbox, link).


Notification sent to Dominique <dod@debian.org>:
Bug acknowledged by developer. (Wed, 11 Jan 2017 06:06:05 GMT) (full text, mbox, link).


Message #92 received at 836679-close@bugs.debian.org (full text, mbox, reply):

From: Christian Perrier <bubulle@debian.org>
To: 836679-close@bugs.debian.org
Subject: Bug#836679: fixed in flash-kernel 3.74
Date: Wed, 11 Jan 2017 06:03:29 +0000
Source: flash-kernel
Source-Version: 3.74

We believe that the bug you reported is fixed in the latest version of
flash-kernel, which is due to be installed in the Debian FTP archive.

A summary of the changes between this version and the previous one is
attached.

Thank you for reporting the bug, which will now be closed.  If you
have further comments please address them to 836679@bugs.debian.org,
and the maintainer will reopen the bug report if appropriate.

Debian distribution maintenance software
pp.
Christian Perrier <bubulle@debian.org> (supplier of updated flash-kernel package)

(This message was generated automatically at their request; if you
believe that there is a problem with it please contact the archive
administrators by mailing ftpmaster@ftp-master.debian.org)


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256

Format: 1.8
Date: Wed, 11 Jan 2017 05:48:07 +0100
Source: flash-kernel
Binary: flash-kernel flash-kernel-installer
Architecture: source armel
Version: 3.74
Distribution: unstable
Urgency: medium
Maintainer: Debian Install System Team <debian-boot@lists.debian.org>
Changed-By: Christian Perrier <bubulle@debian.org>
Description:
 flash-kernel - utility to make certain embedded devices bootable
 flash-kernel-installer - Make the system bootable (udeb)
Closes: 789886 836679 845779
Changes:
 flash-kernel (3.74) unstable; urgency=medium
 .
   [ Martin Michlmayr ]
   * Add machine db entry for Marvell ESPRESSOBin.
   * Only create DTB boot file on kernels that require DTB (Closes:
     #789886)
   * Improve error message when DTB is missing by showing the search
     path for DTB (Closes: #836679)
 .
   [ Heinrich Schuchardt ]
   * Call mkimage with correct architecture (Closes: #845779)
Checksums-Sha1:
 255dfcc8f9fbd2a1ede08952a42aba7f928bc21f 1859 flash-kernel_3.74.dsc
 869988e9997275f2e2f880c317acbfa0680dbd42 68628 flash-kernel_3.74.tar.xz
 f4146efedaeba1fe6a8ea429eaa6e715a4831577 25674 flash-kernel-installer_3.74_armel.udeb
 8a9d73437dda912554fa9fe7fe45315d01f4fe51 4929 flash-kernel_3.74_armel.buildinfo
 44a5032f36d53d60ea32bac55ae17e52d6c2b935 45276 flash-kernel_3.74_armel.deb
Checksums-Sha256:
 a1383a29b47b7dfd0f67f185ebaf6b2684fb7fe37dd57ca1d02809e3cabcbd52 1859 flash-kernel_3.74.dsc
 79dea0248999d4e384121c6dbe0abbbd9b05c2059e523d586525ebbacce6c9f0 68628 flash-kernel_3.74.tar.xz
 bf3c19a642394c25672b97aacb6d3ee3d195cd30bbb7098cae9850ad8e5775f7 25674 flash-kernel-installer_3.74_armel.udeb
 7d32537fb8f05b78c4514531537dc0366b8a8adad590611d469b2be7a05e3205 4929 flash-kernel_3.74_armel.buildinfo
 cd82bae71a78187976f2c1bede78b0854054b3309b86a439d1a83fdada3a921c 45276 flash-kernel_3.74_armel.deb
Files:
 cb847bccf5f829a6a44838dd507d7830 1859 utils optional flash-kernel_3.74.dsc
 eea9a3f7e5248bc1b9db8007f2eb07a5 68628 utils optional flash-kernel_3.74.tar.xz
 d97ecba735e92b8caf1456ac74cf8161 25674 debian-installer standard flash-kernel-installer_3.74_armel.udeb
 6df94026ab9a103565ee7c70a80d0de2 4929 utils optional flash-kernel_3.74_armel.buildinfo
 35fcb60f9f60c710baadeef7e7bcb339 45276 utils optional flash-kernel_3.74_armel.deb

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1

iQIcBAEBCAAGBQJYdcd/AAoJEIcvcCxNbiWomscQAKhlnJiZe71HZdrXgdz8BXTb
9lWJ0W2eWtq7FCXL6C0omdd707WQOas87Un/LR8FZAXu57WUEGPCLfCQZBjKnttn
baTeL8w7/vHwF08EK2GCa1y0iBh6augDt2uCUsjv7xILuNhC4B0SZVPUnYlcX57H
PdwDR8F7q0Lbv1EFBD1FQHWFw0YsVhn+3NQV3pXc9aXJTPS6tO8hq00VWqsvmPAv
I1PP1GDDJM29/AtLCQEICdTxpvdGOypF02tv0Ve64YW++MsJxuu6PQdwBS0b8U9H
x4KHjwqMw4IVwQ2SFD+do3TtsLRz8ePa+06Zuk/dmRt2130Eke6CWahlxW9fLAAb
btuFd4WGI/oApPNMUnlM7c952Bii0CeQGpJo62Wh+5/P7FGCaM6ZfU6RTcQWE3SG
jJb64Qgo1ZKwd8ebC9OwMFQKCBgNWN0ZZHIcytR9vfhzQ1NYP6V7NAiGkpdZ8ndE
jmtGAgcoMhGnu3jhmDistllvaA48zjy8A4YkQmjSlYzyYixcPJ4UGk3BHF9nOavm
Snyf1CUsWWPdGC8zd9Ea2PqvYTLWXCKngKh4o1wFRd0y9eGnKmeiXdsWPmG1IkJn
kgdffPuIjUVhwh8un/JSPvGKVdrq9Dnht1fmlq7X9WsdgYunRCkGCp8HYiOWcHbf
66SKvKA1qzLQfmnWXnkE
=nnGr
-----END PGP SIGNATURE-----




Bug archived. Request was from Debbugs Internal Request <owner@bugs.debian.org> to internal_control@bugs.debian.org. (Thu, 09 Feb 2017 07:32:17 GMT) (full text, mbox, link).


Send a report that this bug log contains spam.


Debian bug tracking system administrator <owner@bugs.debian.org>. Last modified: Sun Jun 4 06:50:23 2023; Machine Name: buxtehude

Debian Bug tracking system

Debbugs is free software and licensed under the terms of the GNU Public License version 2. The current version can be obtained from https://bugs.debian.org/debbugs-source/.

Copyright © 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson, 2005-2017 Don Armstrong, and many other contributors.