diff mbox series

MIPS: zboot: put appended dtb into a section

Message ID 20201026122926.1774569-1-gch981213@gmail.com (mailing list archive)
State Accepted
Commit d2e850e961835825492f37346ae76670bf4758f5
Headers show
Series MIPS: zboot: put appended dtb into a section | expand

Commit Message

Chuanhong Guo Oct. 26, 2020, 12:29 p.m. UTC
This will make a separated section for dtb appear in ELF, and we can
then use objcopy to patch a dtb into vmlinuz when RAW_APPENDED_DTB
is set in kernel config.

command to patch a dtb:
objcopy --set-section-flags=.appended_dtb=alloc,contents \
        --update-section=.appended_dtb=<target>.dtb vmlinuz

Signed-off-by: Chuanhong Guo <gch981213@gmail.com>
---
Note:
This should supersede this patch on linux-mips:
[2/2] mips: boot compressed: add support for vlinuz ELF DTB [0]

[0] https://patchwork.kernel.org/project/linux-mips/patch/20201015201100.4130-2-git@johnthomson.fastmail.com.au/
 
 arch/mips/boot/compressed/ld.script | 9 ++++++---
 1 file changed, 6 insertions(+), 3 deletions(-)

Comments

John Thomson Oct. 26, 2020, 1:11 p.m. UTC | #1
On Mon, 26 Oct 2020, at 12:29, Chuanhong Guo wrote:
> This will make a separated section for dtb appear in ELF, and we can
> then use objcopy to patch a dtb into vmlinuz when RAW_APPENDED_DTB
> is set in kernel config.

Thank you Chuanhong Guo, this worked for me.

I have successfully network boot tested this change on ath79 hardware:
- kernel vmlinuz.bin
  then appended DTB, and packed into a uImage (out of kernel tree)
- kernel vmlinuz
  then updated ELF DTB appended_dtb section, and ELF booted

Cheers,
Thomas Bogendoerfer Nov. 6, 2020, 10:48 a.m. UTC | #2
On Mon, Oct 26, 2020 at 08:29:25PM +0800, Chuanhong Guo wrote:
> This will make a separated section for dtb appear in ELF, and we can
> then use objcopy to patch a dtb into vmlinuz when RAW_APPENDED_DTB
> is set in kernel config.
> 
> command to patch a dtb:
> objcopy --set-section-flags=.appended_dtb=alloc,contents \
>         --update-section=.appended_dtb=<target>.dtb vmlinuz
> 
> Signed-off-by: Chuanhong Guo <gch981213@gmail.com>
> ---
> Note:
> This should supersede this patch on linux-mips:
> [2/2] mips: boot compressed: add support for vlinuz ELF DTB [0]
> 
> [0] https://patchwork.kernel.org/project/linux-mips/patch/20201015201100.4130-2-git@johnthomson.fastmail.com.au/
>  
>  arch/mips/boot/compressed/ld.script | 9 ++++++---
>  1 file changed, 6 insertions(+), 3 deletions(-)

applied to mips-next.

Thomas.
diff mbox series

Patch

diff --git a/arch/mips/boot/compressed/ld.script b/arch/mips/boot/compressed/ld.script
index 2ed08fbef8e7..0ebb667274d6 100644
--- a/arch/mips/boot/compressed/ld.script
+++ b/arch/mips/boot/compressed/ld.script
@@ -31,9 +31,12 @@  SECTIONS
 		CONSTRUCTORS
 		. = ALIGN(16);
 	}
-	__appended_dtb = .;
-	/* leave space for appended DTB */
-	. += 0x100000;
+
+	.appended_dtb : {
+		__appended_dtb = .;
+		/* leave space for appended DTB */
+		. += 0x100000;
+	}
 
 	_edata = .;
 	/* End of data section */