Message ID | 1543823457-32478-3-git-send-email-yamada.masahiro@socionext.com |
---|---|
State | New |
Headers | show |
Series | microblaze: fix various problems in building boot images | expand |
On 03. 12. 18 8:50, Masahiro Yamada wrote: > "make ARCH=microblaze help" mentions simpleImage.<dt>.unstrip, > but it never works because Makefile assumes "system.unstrip" is > the name of DT. > > $ make ARCH=microblaze CROSS_COMPILE=microblaze-linux- simpleImage.system.unstrip > [ snip ] > make[1]: *** No rule to make target 'arch/microblaze/boot/dts/system.unstrip.dtb', needed by 'arch/microblaze/boot/dts/system.dtb'. Stop. > make: *** [Makefile;1060: arch/microblaze/boot/dts] Error 2 > make: *** Waiting for unfinished jobs.... > > Rip off the never-working target. > > In my understanding, simpleImage.<dt> works like a phony target that > generates multiple images. Reflect the behavior to the help message. > > Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com> > --- > > arch/microblaze/Makefile | 4 +--- > 1 file changed, 1 insertion(+), 3 deletions(-) > > diff --git a/arch/microblaze/Makefile b/arch/microblaze/Makefile > index 0823d29..97e1384 100644 > --- a/arch/microblaze/Makefile > +++ b/arch/microblaze/Makefile > @@ -89,9 +89,7 @@ define archhelp > echo '* linux.bin - Create raw binary' > echo ' linux.bin.gz - Create compressed raw binary' > echo ' linux.bin.ub - Create U-Boot wrapped raw binary' > - echo ' simpleImage.<dt> - ELF image with $(arch)/boot/dts/<dt>.dts linked in' > - echo ' - stripped elf with fdt blob' > - echo ' simpleImage.<dt>.unstrip - full ELF image with fdt blob' > + echo ' simpleImage.<dt> - Create images with $(arch)/boot/dts/<dt>.dts linked in' > echo ' *_defconfig - Select default config from arch/microblaze/configs' > echo '' > echo ' Targets with <dt> embed a device tree blob inside the image' > I understand what you are trying to say but I would still like to keep information about unstrip file. It is correct that it is not build target. It is just generated file and message above was used for description what it is. Definitely agree that this should be the part of targets but it should be in description. The same is for missing description for simpleImage.<dt>.strip and simpleImage.<dt>.ub files. Thanks, Michal -- Michal Simek, Ing. (M.Eng), OpenPGP -> KeyID: FE3D1F91 w: www.monstr.eu p: +42-0-721842854 Maintainer of Linux kernel - Xilinx Microblaze Maintainer of Linux kernel - Xilinx Zynq ARM and ZynqMP ARM64 SoCs U-Boot custodian - Xilinx Microblaze/Zynq/ZynqMP/Versal SoCs
Hi Michal, On Thu, Dec 6, 2018 at 12:41 AM Michal Simek <monstr@monstr.eu> wrote: > > On 03. 12. 18 8:50, Masahiro Yamada wrote: > > "make ARCH=microblaze help" mentions simpleImage.<dt>.unstrip, > > but it never works because Makefile assumes "system.unstrip" is > > the name of DT. > > > > $ make ARCH=microblaze CROSS_COMPILE=microblaze-linux- simpleImage.system.unstrip > > [ snip ] > > make[1]: *** No rule to make target 'arch/microblaze/boot/dts/system.unstrip.dtb', needed by 'arch/microblaze/boot/dts/system.dtb'. Stop. > > make: *** [Makefile;1060: arch/microblaze/boot/dts] Error 2 > > make: *** Waiting for unfinished jobs.... > > > > Rip off the never-working target. > > > > In my understanding, simpleImage.<dt> works like a phony target that > > generates multiple images. Reflect the behavior to the help message. > > > > Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com> > > --- > > > > arch/microblaze/Makefile | 4 +--- > > 1 file changed, 1 insertion(+), 3 deletions(-) > > > > diff --git a/arch/microblaze/Makefile b/arch/microblaze/Makefile > > index 0823d29..97e1384 100644 > > --- a/arch/microblaze/Makefile > > +++ b/arch/microblaze/Makefile > > @@ -89,9 +89,7 @@ define archhelp > > echo '* linux.bin - Create raw binary' > > echo ' linux.bin.gz - Create compressed raw binary' > > echo ' linux.bin.ub - Create U-Boot wrapped raw binary' > > - echo ' simpleImage.<dt> - ELF image with $(arch)/boot/dts/<dt>.dts linked in' > > - echo ' - stripped elf with fdt blob' > > - echo ' simpleImage.<dt>.unstrip - full ELF image with fdt blob' > > + echo ' simpleImage.<dt> - Create images with $(arch)/boot/dts/<dt>.dts linked in' > > echo ' *_defconfig - Select default config from arch/microblaze/configs' > > echo '' > > echo ' Targets with <dt> embed a device tree blob inside the image' > > > > I understand what you are trying to say but I would still like to keep > information about unstrip file. > It is correct that it is not build target. It is just generated file and > message above was used for description what it is. > Definitely agree that this should be the part of targets but it should > be in description. > The same is for missing description for simpleImage.<dt>.strip and > simpleImage.<dt>.ub files. > > Thanks, > Michal > If we want to be precise to the current behavior, we could describe more. (Is it too much?) Architecture specific targets (microblaze): * linux.bin - Create raw binary linux.bin.gz - Create compressed raw binary linux.bin.ub - Create U-Boot wrapped raw binary simpleImage.<dt> - Create the following images with arch/macroblaze/boot/dts/<dt>.dts linked in simpleImage.<dt> : raw image simpleImage.<dt>.ub : raw image with U-Boot header simpleImage.<dt>.unstrip: ELF (identical to vmlinux) simpleImage.<dt>.strip : stripped ELF *_defconfig - Select default config from arch/microblaze/configs If you want to modify as you like, I will not touch it though. BTW, "make ARCH=microblaze help" looks like follows: * linux.bin - Create raw binary linux.bin.gz - Create compressed raw binary linux.bin.ub - Create U-Boot wrapped raw binary simpleImage.<dt> - ELF image with /boot/dts/<dt>.dts linked in - stripped elf with fdt blob simpleImage.<dt>.unstrip - full ELF image with fdt blob *_defconfig - Select default config from arch/microblaze/configs Since "arch" is not set anywhere, $(arch) is empty, "ELF image with /boot/dts/<dt>.dts linked in" looks strange. -- Best Regards Masahiro Yamada
On 06. 12. 18 6:27, Masahiro Yamada wrote: > Hi Michal, > > On Thu, Dec 6, 2018 at 12:41 AM Michal Simek <monstr@monstr.eu> wrote: >> >> On 03. 12. 18 8:50, Masahiro Yamada wrote: >>> "make ARCH=microblaze help" mentions simpleImage.<dt>.unstrip, >>> but it never works because Makefile assumes "system.unstrip" is >>> the name of DT. >>> >>> $ make ARCH=microblaze CROSS_COMPILE=microblaze-linux- simpleImage.system.unstrip >>> [ snip ] >>> make[1]: *** No rule to make target 'arch/microblaze/boot/dts/system.unstrip.dtb', needed by 'arch/microblaze/boot/dts/system.dtb'. Stop. >>> make: *** [Makefile;1060: arch/microblaze/boot/dts] Error 2 >>> make: *** Waiting for unfinished jobs.... >>> >>> Rip off the never-working target. >>> >>> In my understanding, simpleImage.<dt> works like a phony target that >>> generates multiple images. Reflect the behavior to the help message. >>> >>> Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com> >>> --- >>> >>> arch/microblaze/Makefile | 4 +--- >>> 1 file changed, 1 insertion(+), 3 deletions(-) >>> >>> diff --git a/arch/microblaze/Makefile b/arch/microblaze/Makefile >>> index 0823d29..97e1384 100644 >>> --- a/arch/microblaze/Makefile >>> +++ b/arch/microblaze/Makefile >>> @@ -89,9 +89,7 @@ define archhelp >>> echo '* linux.bin - Create raw binary' >>> echo ' linux.bin.gz - Create compressed raw binary' >>> echo ' linux.bin.ub - Create U-Boot wrapped raw binary' >>> - echo ' simpleImage.<dt> - ELF image with $(arch)/boot/dts/<dt>.dts linked in' >>> - echo ' - stripped elf with fdt blob' >>> - echo ' simpleImage.<dt>.unstrip - full ELF image with fdt blob' >>> + echo ' simpleImage.<dt> - Create images with $(arch)/boot/dts/<dt>.dts linked in' >>> echo ' *_defconfig - Select default config from arch/microblaze/configs' >>> echo '' >>> echo ' Targets with <dt> embed a device tree blob inside the image' >>> >> >> I understand what you are trying to say but I would still like to keep >> information about unstrip file. >> It is correct that it is not build target. It is just generated file and >> message above was used for description what it is. >> Definitely agree that this should be the part of targets but it should >> be in description. >> The same is for missing description for simpleImage.<dt>.strip and >> simpleImage.<dt>.ub files. >> >> Thanks, >> Michal >> > > If we want to be precise to the current behavior, > we could describe more. > (Is it too much?) > > > Architecture specific targets (microblaze): > * linux.bin - Create raw binary > linux.bin.gz - Create compressed raw binary > linux.bin.ub - Create U-Boot wrapped raw binary > simpleImage.<dt> - Create the following images with > arch/macroblaze/boot/dts/<dt>.dts linked in type - microblaze maybe <dtb> here. > simpleImage.<dt> : raw image > simpleImage.<dt>.ub : raw image with U-Boot header > simpleImage.<dt>.unstrip: ELF (identical to vmlinux) > simpleImage.<dt>.strip : stripped ELF > *_defconfig - Select default config from arch/microblaze/configs > > > > > If you want to modify as you like, > I will not touch it though. what you have above is fine for me. > > > > > > BTW, "make ARCH=microblaze help" looks like follows: > > * linux.bin - Create raw binary > linux.bin.gz - Create compressed raw binary > linux.bin.ub - Create U-Boot wrapped raw binary > simpleImage.<dt> - ELF image with /boot/dts/<dt>.dts linked in > - stripped elf with fdt blob > simpleImage.<dt>.unstrip - full ELF image with fdt blob > *_defconfig - Select default config from arch/microblaze/configs > > > > > Since "arch" is not set anywhere, $(arch) is empty, > "ELF image with /boot/dts/<dt>.dts linked in" looks strange. As I said good to fix it in a way you have above. Thanks, Michal -- Michal Simek, Ing. (M.Eng), OpenPGP -> KeyID: FE3D1F91 w: www.monstr.eu p: +42-0-721842854 Maintainer of Linux kernel - Xilinx Microblaze Maintainer of Linux kernel - Xilinx Zynq ARM and ZynqMP ARM64 SoCs U-Boot custodian - Xilinx Microblaze/Zynq/ZynqMP/Versal SoCs
On Thu, Dec 6, 2018 at 9:54 PM Michal Simek <monstr@monstr.eu> wrote: > > On 06. 12. 18 6:27, Masahiro Yamada wrote: > > Hi Michal, > > > > On Thu, Dec 6, 2018 at 12:41 AM Michal Simek <monstr@monstr.eu> wrote: > >> > >> On 03. 12. 18 8:50, Masahiro Yamada wrote: > >>> "make ARCH=microblaze help" mentions simpleImage.<dt>.unstrip, > >>> but it never works because Makefile assumes "system.unstrip" is > >>> the name of DT. > >>> > >>> $ make ARCH=microblaze CROSS_COMPILE=microblaze-linux- simpleImage.system.unstrip > >>> [ snip ] > >>> make[1]: *** No rule to make target 'arch/microblaze/boot/dts/system.unstrip.dtb', needed by 'arch/microblaze/boot/dts/system.dtb'. Stop. > >>> make: *** [Makefile;1060: arch/microblaze/boot/dts] Error 2 > >>> make: *** Waiting for unfinished jobs.... > >>> > >>> Rip off the never-working target. > >>> > >>> In my understanding, simpleImage.<dt> works like a phony target that > >>> generates multiple images. Reflect the behavior to the help message. > >>> > >>> Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com> > >>> --- > >>> > >>> arch/microblaze/Makefile | 4 +--- > >>> 1 file changed, 1 insertion(+), 3 deletions(-) > >>> > >>> diff --git a/arch/microblaze/Makefile b/arch/microblaze/Makefile > >>> index 0823d29..97e1384 100644 > >>> --- a/arch/microblaze/Makefile > >>> +++ b/arch/microblaze/Makefile > >>> @@ -89,9 +89,7 @@ define archhelp > >>> echo '* linux.bin - Create raw binary' > >>> echo ' linux.bin.gz - Create compressed raw binary' > >>> echo ' linux.bin.ub - Create U-Boot wrapped raw binary' > >>> - echo ' simpleImage.<dt> - ELF image with $(arch)/boot/dts/<dt>.dts linked in' > >>> - echo ' - stripped elf with fdt blob' > >>> - echo ' simpleImage.<dt>.unstrip - full ELF image with fdt blob' > >>> + echo ' simpleImage.<dt> - Create images with $(arch)/boot/dts/<dt>.dts linked in' > >>> echo ' *_defconfig - Select default config from arch/microblaze/configs' > >>> echo '' > >>> echo ' Targets with <dt> embed a device tree blob inside the image' > >>> > >> > >> I understand what you are trying to say but I would still like to keep > >> information about unstrip file. > >> It is correct that it is not build target. It is just generated file and > >> message above was used for description what it is. > >> Definitely agree that this should be the part of targets but it should > >> be in description. > >> The same is for missing description for simpleImage.<dt>.strip and > >> simpleImage.<dt>.ub files. > >> > >> Thanks, > >> Michal > >> > > > > If we want to be precise to the current behavior, > > we could describe more. > > (Is it too much?) > > > > > > Architecture specific targets (microblaze): > > * linux.bin - Create raw binary > > linux.bin.gz - Create compressed raw binary > > linux.bin.ub - Create U-Boot wrapped raw binary > > simpleImage.<dt> - Create the following images with > > arch/macroblaze/boot/dts/<dt>.dts linked in > > type - microblaze > maybe <dtb> here. > > > simpleImage.<dt> : raw image > > simpleImage.<dt>.ub : raw image with U-Boot header > > simpleImage.<dt>.unstrip: ELF (identical to vmlinux) > > simpleImage.<dt>.strip : stripped ELF > > *_defconfig - Select default config from arch/microblaze/configs > > > > > > > > > > If you want to modify as you like, > > I will not touch it though. > > what you have above is fine for me. OK, I will send v2 with the typo fixed. Thanks. -- Best Regards Masahiro Yamada
On Thu, Dec 6, 2018 at 9:54 PM Michal Simek <monstr@monstr.eu> wrote: > > On 06. 12. 18 6:27, Masahiro Yamada wrote: > > Hi Michal, > > > > On Thu, Dec 6, 2018 at 12:41 AM Michal Simek <monstr@monstr.eu> wrote: > >> > >> On 03. 12. 18 8:50, Masahiro Yamada wrote: > >>> "make ARCH=microblaze help" mentions simpleImage.<dt>.unstrip, > >>> but it never works because Makefile assumes "system.unstrip" is > >>> the name of DT. > >>> > >>> $ make ARCH=microblaze CROSS_COMPILE=microblaze-linux- simpleImage.system.unstrip > >>> [ snip ] > >>> make[1]: *** No rule to make target 'arch/microblaze/boot/dts/system.unstrip.dtb', needed by 'arch/microblaze/boot/dts/system.dtb'. Stop. > >>> make: *** [Makefile;1060: arch/microblaze/boot/dts] Error 2 > >>> make: *** Waiting for unfinished jobs.... > >>> > >>> Rip off the never-working target. > >>> > >>> In my understanding, simpleImage.<dt> works like a phony target that > >>> generates multiple images. Reflect the behavior to the help message. > >>> > >>> Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com> > >>> --- > >>> > >>> arch/microblaze/Makefile | 4 +--- > >>> 1 file changed, 1 insertion(+), 3 deletions(-) > >>> > >>> diff --git a/arch/microblaze/Makefile b/arch/microblaze/Makefile > >>> index 0823d29..97e1384 100644 > >>> --- a/arch/microblaze/Makefile > >>> +++ b/arch/microblaze/Makefile > >>> @@ -89,9 +89,7 @@ define archhelp > >>> echo '* linux.bin - Create raw binary' > >>> echo ' linux.bin.gz - Create compressed raw binary' > >>> echo ' linux.bin.ub - Create U-Boot wrapped raw binary' > >>> - echo ' simpleImage.<dt> - ELF image with $(arch)/boot/dts/<dt>.dts linked in' > >>> - echo ' - stripped elf with fdt blob' > >>> - echo ' simpleImage.<dt>.unstrip - full ELF image with fdt blob' > >>> + echo ' simpleImage.<dt> - Create images with $(arch)/boot/dts/<dt>.dts linked in' > >>> echo ' *_defconfig - Select default config from arch/microblaze/configs' > >>> echo '' > >>> echo ' Targets with <dt> embed a device tree blob inside the image' > >>> > >> > >> I understand what you are trying to say but I would still like to keep > >> information about unstrip file. > >> It is correct that it is not build target. It is just generated file and > >> message above was used for description what it is. > >> Definitely agree that this should be the part of targets but it should > >> be in description. > >> The same is for missing description for simpleImage.<dt>.strip and > >> simpleImage.<dt>.ub files. > >> > >> Thanks, > >> Michal > >> > > > > If we want to be precise to the current behavior, > > we could describe more. > > (Is it too much?) > > > > > > Architecture specific targets (microblaze): > > * linux.bin - Create raw binary > > linux.bin.gz - Create compressed raw binary > > linux.bin.ub - Create U-Boot wrapped raw binary > > simpleImage.<dt> - Create the following images with > > arch/macroblaze/boot/dts/<dt>.dts linked in > > type - microblaze > maybe <dtb> here. I will keep <dt> as is. I see more <dt> references a few lines below: echo ' Targets with <dt> embed a device tree blob inside the image' echo ' These targets support board with firmware that does not' echo ' support passing a device tree directly. Replace <dt> with the' echo ' name of a dts file from the arch/microblaze/boot/dts/ directory' echo ' (minus the .dts extension).' -- Best Regards Masahiro Yamada
On 07. 12. 18 11:21, Masahiro Yamada wrote: > On Thu, Dec 6, 2018 at 9:54 PM Michal Simek <monstr@monstr.eu> wrote: >> >> On 06. 12. 18 6:27, Masahiro Yamada wrote: >>> Hi Michal, >>> >>> On Thu, Dec 6, 2018 at 12:41 AM Michal Simek <monstr@monstr.eu> wrote: >>>> >>>> On 03. 12. 18 8:50, Masahiro Yamada wrote: >>>>> "make ARCH=microblaze help" mentions simpleImage.<dt>.unstrip, >>>>> but it never works because Makefile assumes "system.unstrip" is >>>>> the name of DT. >>>>> >>>>> $ make ARCH=microblaze CROSS_COMPILE=microblaze-linux- simpleImage.system.unstrip >>>>> [ snip ] >>>>> make[1]: *** No rule to make target 'arch/microblaze/boot/dts/system.unstrip.dtb', needed by 'arch/microblaze/boot/dts/system.dtb'. Stop. >>>>> make: *** [Makefile;1060: arch/microblaze/boot/dts] Error 2 >>>>> make: *** Waiting for unfinished jobs.... >>>>> >>>>> Rip off the never-working target. >>>>> >>>>> In my understanding, simpleImage.<dt> works like a phony target that >>>>> generates multiple images. Reflect the behavior to the help message. >>>>> >>>>> Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com> >>>>> --- >>>>> >>>>> arch/microblaze/Makefile | 4 +--- >>>>> 1 file changed, 1 insertion(+), 3 deletions(-) >>>>> >>>>> diff --git a/arch/microblaze/Makefile b/arch/microblaze/Makefile >>>>> index 0823d29..97e1384 100644 >>>>> --- a/arch/microblaze/Makefile >>>>> +++ b/arch/microblaze/Makefile >>>>> @@ -89,9 +89,7 @@ define archhelp >>>>> echo '* linux.bin - Create raw binary' >>>>> echo ' linux.bin.gz - Create compressed raw binary' >>>>> echo ' linux.bin.ub - Create U-Boot wrapped raw binary' >>>>> - echo ' simpleImage.<dt> - ELF image with $(arch)/boot/dts/<dt>.dts linked in' >>>>> - echo ' - stripped elf with fdt blob' >>>>> - echo ' simpleImage.<dt>.unstrip - full ELF image with fdt blob' >>>>> + echo ' simpleImage.<dt> - Create images with $(arch)/boot/dts/<dt>.dts linked in' >>>>> echo ' *_defconfig - Select default config from arch/microblaze/configs' >>>>> echo '' >>>>> echo ' Targets with <dt> embed a device tree blob inside the image' >>>>> >>>> >>>> I understand what you are trying to say but I would still like to keep >>>> information about unstrip file. >>>> It is correct that it is not build target. It is just generated file and >>>> message above was used for description what it is. >>>> Definitely agree that this should be the part of targets but it should >>>> be in description. >>>> The same is for missing description for simpleImage.<dt>.strip and >>>> simpleImage.<dt>.ub files. >>>> >>>> Thanks, >>>> Michal >>>> >>> >>> If we want to be precise to the current behavior, >>> we could describe more. >>> (Is it too much?) >>> >>> >>> Architecture specific targets (microblaze): >>> * linux.bin - Create raw binary >>> linux.bin.gz - Create compressed raw binary >>> linux.bin.ub - Create U-Boot wrapped raw binary >>> simpleImage.<dt> - Create the following images with >>> arch/macroblaze/boot/dts/<dt>.dts linked in >> >> type - microblaze >> maybe <dtb> here. > > > I will keep <dt> as is. > > I see more <dt> references a few lines below: > > > echo ' Targets with <dt> embed a device tree blob inside the image' > echo ' These targets support board with firmware that does not' > echo ' support passing a device tree directly. Replace <dt> with the' > echo ' name of a dts file from the arch/microblaze/boot/dts/ directory' > echo ' (minus the .dts extension).' > ok. Not a problem. M
diff --git a/arch/microblaze/Makefile b/arch/microblaze/Makefile index 0823d29..97e1384 100644 --- a/arch/microblaze/Makefile +++ b/arch/microblaze/Makefile @@ -89,9 +89,7 @@ define archhelp echo '* linux.bin - Create raw binary' echo ' linux.bin.gz - Create compressed raw binary' echo ' linux.bin.ub - Create U-Boot wrapped raw binary' - echo ' simpleImage.<dt> - ELF image with $(arch)/boot/dts/<dt>.dts linked in' - echo ' - stripped elf with fdt blob' - echo ' simpleImage.<dt>.unstrip - full ELF image with fdt blob' + echo ' simpleImage.<dt> - Create images with $(arch)/boot/dts/<dt>.dts linked in' echo ' *_defconfig - Select default config from arch/microblaze/configs' echo '' echo ' Targets with <dt> embed a device tree blob inside the image'
"make ARCH=microblaze help" mentions simpleImage.<dt>.unstrip, but it never works because Makefile assumes "system.unstrip" is the name of DT. $ make ARCH=microblaze CROSS_COMPILE=microblaze-linux- simpleImage.system.unstrip [ snip ] make[1]: *** No rule to make target 'arch/microblaze/boot/dts/system.unstrip.dtb', needed by 'arch/microblaze/boot/dts/system.dtb'. Stop. make: *** [Makefile;1060: arch/microblaze/boot/dts] Error 2 make: *** Waiting for unfinished jobs.... Rip off the never-working target. In my understanding, simpleImage.<dt> works like a phony target that generates multiple images. Reflect the behavior to the help message. Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com> --- arch/microblaze/Makefile | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) -- 2.7.4