mirror of
https://github.com/torvalds/linux.git
synced 2024-12-08 03:52:16 +00:00
d2e850e961
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> Signed-off-by: Thomas Bogendoerfer <tsbogend@alpha.franken.de>
61 lines
928 B
Plaintext
61 lines
928 B
Plaintext
/*
|
|
* ld.script for compressed kernel support of MIPS
|
|
*
|
|
* Copyright (C) 2009 Lemote Inc.
|
|
* Author: Wu Zhangjin <wuzhanjing@gmail.com>
|
|
* Copyright (C) 2010 "Wu Zhangjin" <wuzhanjing@gmail.com>
|
|
*/
|
|
|
|
OUTPUT_ARCH(mips)
|
|
ENTRY(start)
|
|
PHDRS {
|
|
text PT_LOAD FLAGS(7); /* RWX */
|
|
}
|
|
SECTIONS
|
|
{
|
|
/* Text and read-only data */
|
|
/* . = VMLINUZ_LOAD_ADDRESS; */
|
|
.text : {
|
|
*(.text)
|
|
*(.rodata)
|
|
}: text
|
|
/* End of text section */
|
|
|
|
/* Writable data */
|
|
.data : {
|
|
*(.data)
|
|
/* Put the compressed image here */
|
|
__image_begin = .;
|
|
*(.image)
|
|
__image_end = .;
|
|
CONSTRUCTORS
|
|
. = ALIGN(16);
|
|
}
|
|
|
|
.appended_dtb : {
|
|
__appended_dtb = .;
|
|
/* leave space for appended DTB */
|
|
. += 0x100000;
|
|
}
|
|
|
|
_edata = .;
|
|
/* End of data section */
|
|
|
|
/* BSS */
|
|
.bss : {
|
|
*(.bss)
|
|
}
|
|
. = ALIGN(16);
|
|
_end = .;
|
|
|
|
/* Sections to be discarded */
|
|
/DISCARD/ : {
|
|
*(.MIPS.options)
|
|
*(.options)
|
|
*(.pdr)
|
|
*(.reginfo)
|
|
*(.comment)
|
|
*(.note)
|
|
}
|
|
}
|