Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.kernel > #1445421 > unrolled thread

running "make dtbs" for test builds

Started byArnd Bergmann <arnd@arndb.de>
First post2016-07-18 14:10 +0200
Last post2016-07-18 15:10 +0200
Articles 6 — 2 participants

Back to article view | Back to linux.kernel


Contents

  running "make dtbs" for test builds Arnd Bergmann <arnd@arndb.de> - 2016-07-18 14:10 +0200
    Re: running "make dtbs" for test builds Fengguang Wu <lkp@intel.com> - 2016-07-18 14:40 +0200
      Re: running "make dtbs" for test builds Arnd Bergmann <arnd@arndb.de> - 2016-07-18 15:00 +0200
    Re: running "make dtbs" for test builds Fengguang Wu <lkp@intel.com> - 2016-07-18 14:50 +0200
      Re: running "make dtbs" for test builds Arnd Bergmann <arnd@arndb.de> - 2016-07-18 15:00 +0200
        Re: running "make dtbs" for test builds Fengguang Wu <lkp@intel.com> - 2016-07-18 15:10 +0200

#1445421 — running "make dtbs" for test builds

FromArnd Bergmann <arnd@arndb.de>
Date2016-07-18 14:10 +0200
Subjectrunning "make dtbs" for test builds
Message-ID<rWfx0-5XZ-17@gated-at.bofh.it>
Hi Fengguang,

I've recently run into a number of cases in which I pulled a branch that
was building fine with "make vmlinux", but that failed for "make dtbs",
and I wonder if this is something that could be checked by the kbuild
test robot so we catch it earlier.

There are parts of this:

- running "make" without a target will build the default image file
  and also do the "dtbs" target on ARM and other architectures. I
  don't know if this is what you do, or if you always build
  "make vmlinux ; make modules", which doesn't include it.
  The dtbs makefile target is available on arc, arm, arm64, h8300,
  metag, mips, nios2, and xtensa but not the others, so if you
  call it explicitly, that has to be in an architecture specific
  way.

- setting CONFIG_OF_ALL_DTBS will catch all files, not just the
  ones that are built by default for the set of configurations you
  have. It's possible to simply override this on the command line,
  using "make CONFIG_OF_ALL_DTBS=y", it doesn't actually have to
  be part of the configuration. The result is independent of the
  actual configuration, so it should be enough to do this once
  per architecture and source revision.

Is this something you can add?

	Arnd

[toc] | [next] | [standalone]


#1445439

FromFengguang Wu <lkp@intel.com>
Date2016-07-18 14:40 +0200
Message-ID<rWg02-68X-35@gated-at.bofh.it>
In reply to#1445421
Hi Arnd,

On Mon, Jul 18, 2016 at 02:01:17PM +0200, Arnd Bergmann wrote:
>Hi Fengguang,
>
>I've recently run into a number of cases in which I pulled a branch that
>was building fine with "make vmlinux", but that failed for "make dtbs",
>and I wonder if this is something that could be checked by the kbuild
>test robot so we catch it earlier.

Yes, sure.

>There are parts of this:
>
>- running "make" without a target will build the default image file
>  and also do the "dtbs" target on ARM and other architectures. I
>  don't know if this is what you do, or if you always build

My typical build command sequences are

        make oldnoconfig
        make prepare
        make headers_install
        make ARCH=xxx
        make install

So it looks good already. :)

>  "make vmlinux ; make modules", which doesn't include it.
>  The dtbs makefile target is available on arc, arm, arm64, h8300,
>  metag, mips, nios2, and xtensa but not the others, so if you
>  call it explicitly, that has to be in an architecture specific
>  way.

Got it.

>- setting CONFIG_OF_ALL_DTBS will catch all files, not just the
>  ones that are built by default for the set of configurations you
>  have. It's possible to simply override this on the command line,
>  using "make CONFIG_OF_ALL_DTBS=y", it doesn't actually have to
>  be part of the configuration. The result is independent of the
>  actual configuration, so it should be enough to do this once
>  per architecture and source revision.
>
>Is this something you can add?

Do you mean to simply change the main "make" command line to

        make ARCH=xxx CONFIG_OF_ALL_DTBS=y

Which looks safe even for ARCHs that do not support it.

The arch/.../Makefile that actually use it are:

        arch/arc/boot/dts/Makefile
        arch/arm/boot/dts/Makefile
        arch/arm64/boot/dts/Makefile
        arch/h8300/boot/dts/Makefile
        arch/metag/boot/dts/Makefile
        arch/mips/boot/dts/Makefile
        arch/xtensa/boot/dts/Makefile

Regards,
Fengguang

[toc] | [prev] | [next] | [standalone]


#1445468

FromArnd Bergmann <arnd@arndb.de>
Date2016-07-18 15:00 +0200
Message-ID<rWgjn-6g0-13@gated-at.bofh.it>
In reply to#1445439
On Monday, July 18, 2016 8:29:47 PM CEST Fengguang Wu wrote:
> >- setting CONFIG_OF_ALL_DTBS will catch all files, not just the
> >  ones that are built by default for the set of configurations you
> >  have. It's possible to simply override this on the command line,
> >  using "make CONFIG_OF_ALL_DTBS=y", it doesn't actually have to
> >  be part of the configuration. The result is independent of the
> >  actual configuration, so it should be enough to do this once
> >  per architecture and source revision.
> >
> >Is this something you can add?
> 
> Do you mean to simply change the main "make" command line to
> 
>         make ARCH=xxx CONFIG_OF_ALL_DTBS=y
> 
> Which looks safe even for ARCHs that do not support it.
> 
> The arch/.../Makefile that actually use it are:
> 
>         arch/arc/boot/dts/Makefile
>         arch/arm/boot/dts/Makefile
>         arch/arm64/boot/dts/Makefile
>         arch/h8300/boot/dts/Makefile
>         arch/metag/boot/dts/Makefile
>         arch/mips/boot/dts/Makefile
>         arch/xtensa/boot/dts/Makefile
> 

Sounds good, thanks!

	Arnd

[toc] | [prev] | [next] | [standalone]


#1445449

FromFengguang Wu <lkp@intel.com>
Date2016-07-18 14:50 +0200
Message-ID<rWg9I-6cJ-47@gated-at.bofh.it>
In reply to#1445421
Hi Arnd,

On Mon, Jul 18, 2016 at 02:01:17PM +0200, Arnd Bergmann wrote:
>Hi Fengguang,
>
>I've recently run into a number of cases in which I pulled a branch that
>was building fine with "make vmlinux", but that failed for "make dtbs",
>and I wonder if this is something that could be checked by the kbuild
>test robot so we catch it earlier.

We initially run "make" without vmlinux, however during bisect more
specific make targets will be used to speed it up. To do that it's
necessary to know the regex patterns of "make dtbs" error messages,
so that they can be correctly bisected.

Can you give some "make dtbs" error messages or patterns?

Thanks,
Fengguang

[toc] | [prev] | [next] | [standalone]


#1445465

FromArnd Bergmann <arnd@arndb.de>
Date2016-07-18 15:00 +0200
Message-ID<rWgjn-6g0-3@gated-at.bofh.it>
In reply to#1445449
On Monday, July 18, 2016 8:41:22 PM CEST Fengguang Wu wrote:
> Hi Arnd,
> 
> On Mon, Jul 18, 2016 at 02:01:17PM +0200, Arnd Bergmann wrote:
> >Hi Fengguang,
> >
> >I've recently run into a number of cases in which I pulled a branch that
> >was building fine with "make vmlinux", but that failed for "make dtbs",
> >and I wonder if this is something that could be checked by the kbuild
> >test robot so we catch it earlier.
> 
> We initially run "make" without vmlinux, however during bisect more
> specific make targets will be used to speed it up. To do that it's
> necessary to know the regex patterns of "make dtbs" error messages,
> so that they can be correctly bisected.
> 
> Can you give some "make dtbs" error messages or patterns?
> 

A typical error looks like

Error: arch/arm/boot/dts/sun7i-a20-bananapi-m1-plus.dts:252.1-18 Label or path usb_power_supply not found
FATAL ERROR: Syntax error parsing input tree
scripts/Makefile.lib:312: recipe for target 'arch/arm/boot/dts/sun7i-a20-bananapi-m1-plus.dtb' failed
make[3]: *** [arch/arm/boot/dts/sun7i-a20-bananapi-m1-plus.dtb] Error 1

There should be almost 100% correlation between seeing "arch/${ARCH}/boot/dts/"
in stderr and having a problem in the "make dtbs" stage.

	Arnd

[toc] | [prev] | [next] | [standalone]


#1445473

FromFengguang Wu <lkp@intel.com>
Date2016-07-18 15:10 +0200
Message-ID<rWgt3-6Eh-21@gated-at.bofh.it>
In reply to#1445465
On Mon, Jul 18, 2016 at 02:52:32PM +0200, Arnd Bergmann wrote:
>On Monday, July 18, 2016 8:41:22 PM CEST Fengguang Wu wrote:
>> Hi Arnd,
>>
>> On Mon, Jul 18, 2016 at 02:01:17PM +0200, Arnd Bergmann wrote:
>> >Hi Fengguang,
>> >
>> >I've recently run into a number of cases in which I pulled a branch that
>> >was building fine with "make vmlinux", but that failed for "make dtbs",
>> >and I wonder if this is something that could be checked by the kbuild
>> >test robot so we catch it earlier.
>>
>> We initially run "make" without vmlinux, however during bisect more
>> specific make targets will be used to speed it up. To do that it's
>> necessary to know the regex patterns of "make dtbs" error messages,
>> so that they can be correctly bisected.
>>
>> Can you give some "make dtbs" error messages or patterns?
>>
>
>A typical error looks like
>
>Error: arch/arm/boot/dts/sun7i-a20-bananapi-m1-plus.dts:252.1-18 Label or path usb_power_supply not found
>FATAL ERROR: Syntax error parsing input tree
>scripts/Makefile.lib:312: recipe for target 'arch/arm/boot/dts/sun7i-a20-bananapi-m1-plus.dtb' failed
>make[3]: *** [arch/arm/boot/dts/sun7i-a20-bananapi-m1-plus.dtb] Error 1
>
>There should be almost 100% correlation between seeing "arch/${ARCH}/boot/dts/"
>in stderr and having a problem in the "make dtbs" stage.

Got it, thank you for the tips!

Regards,
Fengguang

[toc] | [prev] | [standalone]


Back to top | Article view | linux.kernel


csiph-web