From: Domenico Andreoli <[email protected]>
Make 'make tar-pkg' install dtbs on arm64.
Signed-off-by: Domenico Andreoli <[email protected]>
v2:
- Destination path includes the kernel version, as expected
---
scripts/package/buildtar | 9 +++++++++
1 file changed, 9 insertions(+)
Index: b/scripts/package/buildtar
===================================================================
--- a/scripts/package/buildtar
+++ b/scripts/package/buildtar
@@ -125,6 +125,15 @@ case "${ARCH}" in
;;
esac
+#
+# Install dtbs
+#
+case "${ARCH}" in
+ arm64)
+ make ARCH="${ARCH}" -f ${srctree}/Makefile INSTALL_DTBS_PATH="${tmpdir}/boot/dtbs/${KERNELRELEASE}" dtbs_install
+ ;;
+esac
+
if [ "${1}" = dir-pkg ]; then
echo "Kernel tree successfully created in $tmpdir"
exit 0
--
rsa4096: 3B10 0CA1 8674 ACBA B4FE FCD2 CE5B CF17 9960 DE13
ed25519: FFB4 0CC3 7F2E 091D F7DA 356E CC79 2832 ED38 CB05
On Fri, Jun 26, 2020 at 5:51 AM Domenico Andreoli
<[email protected]> wrote:
>
> From: Domenico Andreoli <[email protected]>
>
> Make 'make tar-pkg' install dtbs on arm64.
>
> Signed-off-by: Domenico Andreoli <[email protected]>
>
> v2:
> - Destination path includes the kernel version, as expected
>
> ---
> scripts/package/buildtar | 9 +++++++++
> 1 file changed, 9 insertions(+)
>
> Index: b/scripts/package/buildtar
> ===================================================================
> --- a/scripts/package/buildtar
> +++ b/scripts/package/buildtar
> @@ -125,6 +125,15 @@ case "${ARCH}" in
> ;;
> esac
>
> +#
> +# Install dtbs
> +#
> +case "${ARCH}" in
Instead of checking ${ARCH},
can you you do
if grep -q '^CONFIG_OF_EARLY_FLATTREE=y' include/config/auto.conf; then
?
This is what the deb package build does:
https://github.com/masahir0y/linux/blob/v5.7/scripts/package/builddeb#L145
> + arm64)
> + make ARCH="${ARCH}" -f ${srctree}/Makefile INSTALL_DTBS_PATH="${tmpdir}/boot/dtbs/${KERNELRELEASE}" dtbs_install
> + ;;
> +esac
> +
Or, you can use INSTALL_PATH="${tmpdir}/boot"
to make it shorter.
--
Best Regards
Masahiro Yamada
On Fri, Jun 26, 2020 at 03:16:58PM +0900, Masahiro Yamada wrote:
> On Fri, Jun 26, 2020 at 5:51 AM Domenico Andreoli
> <[email protected]> wrote:
> >
> > From: Domenico Andreoli <[email protected]>
> >
> > Make 'make tar-pkg' install dtbs on arm64.
> >
> > Signed-off-by: Domenico Andreoli <[email protected]>
> >
> > v2:
> > - Destination path includes the kernel version, as expected
> >
> > ---
> > scripts/package/buildtar | 9 +++++++++
> > 1 file changed, 9 insertions(+)
> >
> > Index: b/scripts/package/buildtar
> > ===================================================================
> > --- a/scripts/package/buildtar
> > +++ b/scripts/package/buildtar
> > @@ -125,6 +125,15 @@ case "${ARCH}" in
> > ;;
> > esac
> >
> > +#
> > +# Install dtbs
> > +#
> > +case "${ARCH}" in
>
> Instead of checking ${ARCH},
> can you you do
>
> if grep -q '^CONFIG_OF_EARLY_FLATTREE=y' include/config/auto.conf; then
>
> ?
Done in v3.
>
> This is what the deb package build does:
> https://github.com/masahir0y/linux/blob/v5.7/scripts/package/builddeb#L145
>
>
> > + arm64)
> > + make ARCH="${ARCH}" -f ${srctree}/Makefile INSTALL_DTBS_PATH="${tmpdir}/boot/dtbs/${KERNELRELEASE}" dtbs_install
> > + ;;
> > +esac
> > +
>
>
> Or, you can use INSTALL_PATH="${tmpdir}/boot"
> to make it shorter.
This does not work, INSTALL_DTBS_PATH gets somehow defined along the
twisted path to buildtar and therefore needs to be explicitly specified
for the new destination.
> --
> Best Regards
> Masahiro Yamada
Thank you for the review.
Regards,
Domenico
--
rsa4096: 3B10 0CA1 8674 ACBA B4FE FCD2 CE5B CF17 9960 DE13
ed25519: FFB4 0CC3 7F2E 091D F7DA 356E CC79 2832 ED38 CB05
On Sat, Jun 27, 2020 at 6:40 AM Domenico Andreoli
<[email protected]> wrote:
>
> On Fri, Jun 26, 2020 at 03:16:58PM +0900, Masahiro Yamada wrote:
> > On Fri, Jun 26, 2020 at 5:51 AM Domenico Andreoli
> > <[email protected]> wrote:
> > >
> > > From: Domenico Andreoli <[email protected]>
> > >
> > > Make 'make tar-pkg' install dtbs on arm64.
> > >
> > > Signed-off-by: Domenico Andreoli <[email protected]>
> > >
> > > v2:
> > > - Destination path includes the kernel version, as expected
> > >
> > > ---
> > > scripts/package/buildtar | 9 +++++++++
> > > 1 file changed, 9 insertions(+)
> > >
> > > Index: b/scripts/package/buildtar
> > > ===================================================================
> > > --- a/scripts/package/buildtar
> > > +++ b/scripts/package/buildtar
> > > @@ -125,6 +125,15 @@ case "${ARCH}" in
> > > ;;
> > > esac
> > >
> > > +#
> > > +# Install dtbs
> > > +#
> > > +case "${ARCH}" in
> >
> > Instead of checking ${ARCH},
> > can you you do
> >
> > if grep -q '^CONFIG_OF_EARLY_FLATTREE=y' include/config/auto.conf; then
> >
> > ?
>
> Done in v3.
>
> >
> > This is what the deb package build does:
> > https://github.com/masahir0y/linux/blob/v5.7/scripts/package/builddeb#L145
> >
> >
> > > + arm64)
> > > + make ARCH="${ARCH}" -f ${srctree}/Makefile INSTALL_DTBS_PATH="${tmpdir}/boot/dtbs/${KERNELRELEASE}" dtbs_install
> > > + ;;
> > > +esac
> > > +
> >
> >
> > Or, you can use INSTALL_PATH="${tmpdir}/boot"
> > to make it shorter.
>
> This does not work, INSTALL_DTBS_PATH gets somehow defined along the
> twisted path to buildtar and therefore needs to be explicitly specified
> for the new destination.
It works.
See line 1002 of the top Makefile
export INSTALL_DTBS_PATH ?= $(INSTALL_PATH)/dtbs/$(KERNELRELEASE)
> > --
> > Best Regards
> > Masahiro Yamada
>
> Thank you for the review.
>
> Regards,
> Domenico
>
> --
> rsa4096: 3B10 0CA1 8674 ACBA B4FE FCD2 CE5B CF17 9960 DE13
> ed25519: FFB4 0CC3 7F2E 091D F7DA 356E CC79 2832 ED38 CB05
--
Best Regards
Masahiro Yamada
On Sat, Jun 27, 2020 at 09:02:52PM +0900, Masahiro Yamada wrote:
> On Sat, Jun 27, 2020 at 6:40 AM Domenico Andreoli <[email protected]> wrote:
> > On Fri, Jun 26, 2020 at 03:16:58PM +0900, Masahiro Yamada wrote:
> > > On Fri, Jun 26, 2020 at 5:51 AM Domenico Andreoli <[email protected]> wrote:
[...]
> > > >
> > > > + arm64)
> > > > + make ARCH="${ARCH}" -f ${srctree}/Makefile INSTALL_DTBS_PATH="${tmpdir}/boot/dtbs/${KERNELRELEASE}" dtbs_install
> > > > + ;;
> > > > +esac
> > > > +
> > >
> > >
> > > Or, you can use INSTALL_PATH="${tmpdir}/boot"
> > > to make it shorter.
> >
> > This does not work, INSTALL_DTBS_PATH gets somehow defined along the
> > twisted path to buildtar and therefore needs to be explicitly specified
> > for the new destination.
>
> It works.
>
> See line 1002 of the top Makefile
>
> export INSTALL_DTBS_PATH ?= $(INSTALL_PATH)/dtbs/$(KERNELRELEASE)
Exactly. INSTALL_DTBS_PATH is _exported_ in the top Makefile.
This is what it seems to happen, in the order:
1. outer 'make dir-pkg'
INSTALL_DTBS_PATH is exported with some content
2. control arrives to buildtar
INSTALL_DTBS_PATH is there as environment variable
3. inner 'make INSTALL_PATH=${tmpdir}/boot dtbs_install'
INSTALL_DTBS_PATH is already set, therefore it is not modified
To make the inner invocation work, I see these two options:
1. 'make INSTALL_DTBS_PATH= INSTALL_PATH=${tmpdir}/boot dtb_install' (untested)
2. 'make INSTALL_DTBS_PATH=${tmpdir}/boot/dtbs/${KERNELRELEASE} dtbs_install'
I chose 2 but I can switch to 1, if you prefer. No problem.
Regards,
Domenico
--
rsa4096: 3B10 0CA1 8674 ACBA B4FE FCD2 CE5B CF17 9960 DE13
ed25519: FFB4 0CC3 7F2E 091D F7DA 356E CC79 2832 ED38 CB05
On Sun, Jun 28, 2020 at 6:21 AM Domenico Andreoli
<[email protected]> wrote:
>
> On Sat, Jun 27, 2020 at 09:02:52PM +0900, Masahiro Yamada wrote:
> > On Sat, Jun 27, 2020 at 6:40 AM Domenico Andreoli <[email protected]> wrote:
> > > On Fri, Jun 26, 2020 at 03:16:58PM +0900, Masahiro Yamada wrote:
> > > > On Fri, Jun 26, 2020 at 5:51 AM Domenico Andreoli <[email protected]> wrote:
>
> [...]
>
> > > > >
> > > > > + arm64)
> > > > > + make ARCH="${ARCH}" -f ${srctree}/Makefile INSTALL_DTBS_PATH="${tmpdir}/boot/dtbs/${KERNELRELEASE}" dtbs_install
> > > > > + ;;
> > > > > +esac
> > > > > +
> > > >
> > > >
> > > > Or, you can use INSTALL_PATH="${tmpdir}/boot"
> > > > to make it shorter.
> > >
> > > This does not work, INSTALL_DTBS_PATH gets somehow defined along the
> > > twisted path to buildtar and therefore needs to be explicitly specified
> > > for the new destination.
> >
> > It works.
> >
> > See line 1002 of the top Makefile
> >
> > export INSTALL_DTBS_PATH ?= $(INSTALL_PATH)/dtbs/$(KERNELRELEASE)
>
> Exactly. INSTALL_DTBS_PATH is _exported_ in the top Makefile.
>
>
> This is what it seems to happen, in the order:
>
> 1. outer 'make dir-pkg'
> INSTALL_DTBS_PATH is exported with some content
>
> 2. control arrives to buildtar
> INSTALL_DTBS_PATH is there as environment variable
>
> 3. inner 'make INSTALL_PATH=${tmpdir}/boot dtbs_install'
> INSTALL_DTBS_PATH is already set, therefore it is not modified
Sorry, I was wrong.
Your analysis is definitely right.
I will apply v4.
Thanks.
>
> To make the inner invocation work, I see these two options:
>
> 1. 'make INSTALL_DTBS_PATH= INSTALL_PATH=${tmpdir}/boot dtb_install' (untested)
>
> 2. 'make INSTALL_DTBS_PATH=${tmpdir}/boot/dtbs/${KERNELRELEASE} dtbs_install'
>
> I chose 2 but I can switch to 1, if you prefer. No problem.
>
>
> Regards,
> Domenico
>
> --
> rsa4096: 3B10 0CA1 8674 ACBA B4FE FCD2 CE5B CF17 9960 DE13
> ed25519: FFB4 0CC3 7F2E 091D F7DA 356E CC79 2832 ED38 CB05
--
Best Regards
Masahiro Yamada
On Sun, Jun 28, 2020 at 12:46:28PM +0900, Masahiro Yamada wrote:
> On Sun, Jun 28, 2020 at 6:21 AM Domenico Andreoli
> <[email protected]> wrote:
> >
> > On Sat, Jun 27, 2020 at 09:02:52PM +0900, Masahiro Yamada wrote:
> > > On Sat, Jun 27, 2020 at 6:40 AM Domenico Andreoli <[email protected]> wrote:
> > > > On Fri, Jun 26, 2020 at 03:16:58PM +0900, Masahiro Yamada wrote:
> > > > > On Fri, Jun 26, 2020 at 5:51 AM Domenico Andreoli <[email protected]> wrote:
> >
> > [...]
> >
> > > > > >
> > > > > > + arm64)
> > > > > > + make ARCH="${ARCH}" -f ${srctree}/Makefile INSTALL_DTBS_PATH="${tmpdir}/boot/dtbs/${KERNELRELEASE}" dtbs_install
> > > > > > + ;;
> > > > > > +esac
> > > > > > +
> > > > >
> > > > >
> > > > > Or, you can use INSTALL_PATH="${tmpdir}/boot"
> > > > > to make it shorter.
> > > >
> > > > This does not work, INSTALL_DTBS_PATH gets somehow defined along the
> > > > twisted path to buildtar and therefore needs to be explicitly specified
> > > > for the new destination.
> > >
> > > It works.
> > >
> > > See line 1002 of the top Makefile
> > >
> > > export INSTALL_DTBS_PATH ?= $(INSTALL_PATH)/dtbs/$(KERNELRELEASE)
> >
> > Exactly. INSTALL_DTBS_PATH is _exported_ in the top Makefile.
> >
> >
> > This is what it seems to happen, in the order:
> >
> > 1. outer 'make dir-pkg'
> > INSTALL_DTBS_PATH is exported with some content
> >
> > 2. control arrives to buildtar
> > INSTALL_DTBS_PATH is there as environment variable
> >
> > 3. inner 'make INSTALL_PATH=${tmpdir}/boot dtbs_install'
> > INSTALL_DTBS_PATH is already set, therefore it is not modified
>
> Sorry, I was wrong.
> Your analysis is definitely right.
>
>
> I will apply v4.
>
> Thanks.
>
Thanks to you!
Domenico
--
rsa4096: 3B10 0CA1 8674 ACBA B4FE FCD2 CE5B CF17 9960 DE13
ed25519: FFB4 0CC3 7F2E 091D F7DA 356E CC79 2832 ED38 CB05