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 |
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,
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 --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 */
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(-)