2023-10-24 14:53:33

by Geert Uytterhoeven

[permalink] [raw]
Subject: [PATCH] riscv: boot: Fix creation of loader.bin

When flashing loader.bin for K210 using kflash:

    [ERROR] This is an ELF file and cannot be programmed to flash directly: arch/riscv/boot/loader.bin

Before, loader.bin relied on "OBJCOPYFLAGS := -O binary" in the main
RISC-V Makefile to create a boot image with the right format. With this
removed, the image is now created in the wrong (ELF) format.

Fix this by adding an explicit rule.

Fixes: 505b02957e74f0c5 ("riscv: Remove duplicate objcopy flag")
Signed-off-by: Geert Uytterhoeven <[email protected]>
---
arch/riscv/boot/Makefile | 1 +
1 file changed, 1 insertion(+)

diff --git a/arch/riscv/boot/Makefile b/arch/riscv/boot/Makefile
index 22b13947bd131e84..8e7fc0edf21d3ece 100644
--- a/arch/riscv/boot/Makefile
+++ b/arch/riscv/boot/Makefile
@@ -17,6 +17,7 @@
KCOV_INSTRUMENT := n

OBJCOPYFLAGS_Image :=-O binary -R .note -R .note.gnu.build-id -R .comment -S
+OBJCOPYFLAGS_loader.bin :=-O binary
OBJCOPYFLAGS_xipImage :=-O binary -R .note -R .note.gnu.build-id -R .comment -S

targets := Image Image.* loader loader.o loader.lds loader.bin
--
2.34.1


2023-10-25 07:27:57

by Damien Le Moal

[permalink] [raw]
Subject: Re: [PATCH] riscv: boot: Fix creation of loader.bin

On 10/24/23 23:53, Geert Uytterhoeven wrote:
> When flashing loader.bin for K210 using kflash:
>
>     [ERROR] This is an ELF file and cannot be programmed to flash directly: arch/riscv/boot/loader.bin
>
> Before, loader.bin relied on "OBJCOPYFLAGS := -O binary" in the main
> RISC-V Makefile to create a boot image with the right format. With this
> removed, the image is now created in the wrong (ELF) format.
>
> Fix this by adding an explicit rule.
>
> Fixes: 505b02957e74f0c5 ("riscv: Remove duplicate objcopy flag")
> Signed-off-by: Geert Uytterhoeven <[email protected]>

Looks OK to me.

Reviewed-by: Damien Le Moal <[email protected]>

--
Damien Le Moal
Western Digital Research

Subject: Re: [PATCH] riscv: boot: Fix creation of loader.bin

Hello:

This patch was applied to riscv/linux.git (for-next)
by Palmer Dabbelt <[email protected]>:

On Tue, 24 Oct 2023 16:53:18 +0200 you wrote:
> When flashing loader.bin for K210 using kflash:
>
>     [ERROR] This is an ELF file and cannot be programmed to flash directly: arch/riscv/boot/loader.bin
>
> Before, loader.bin relied on "OBJCOPYFLAGS := -O binary" in the main
> RISC-V Makefile to create a boot image with the right format. With this
> removed, the image is now created in the wrong (ELF) format.
>
> [...]

Here is the summary with links:
- riscv: boot: Fix creation of loader.bin
https://git.kernel.org/riscv/c/57a4542cb7c9

You are awesome, thank you!
--
Deet-doot-dot, I am a bot.
https://korg.docs.kernel.org/patchwork/pwbot.html