]> git.ipfire.org Git - thirdparty/linux.git/blame - usr/initramfs_data.S
Merge v6.8-rc1 into drm-misc-fixes
[thirdparty/linux.git] / usr / initramfs_data.S
CommitLineData
b2441318 1/* SPDX-License-Identifier: GPL-2.0 */
1da177e4
LT
2/*
3 initramfs_data includes the compressed binary that is the
4 filesystem used for early user space.
5 Note: Older versions of "as" (prior to binutils 2.11.90.0.23
6 released on 2001-07-14) dit not support .incbin.
7 If you are forced to use older binutils than that then the
8 following trick can be applied to create the resulting binary:
9
10
11 ld -m elf_i386 --format binary --oformat elf32-i386 -r \
12 -T initramfs_data.scr initramfs_data.cpio.gz -o initramfs_data.o
f49821ee 13 ld -m elf_i386 -r -o built-in.a initramfs_data.o
1da177e4 14
ffe8018c 15 For including the .init.ramfs sections, see include/asm-generic/vmlinux.lds.
1da177e4
LT
16
17 The above example is for i386 - the parameters vary from architectures.
18 Eventually look up LDFLAGS_BLOB in an older version of the
19 arch/$(ARCH)/Makefile to see the flags used before .incbin was introduced.
20
21 Using .incbin has the advantage over ld that the correct flags are set
22 in the ELF header, as required by certain architectures.
23*/
24
6ae64e42 25.section .init.ramfs,"a"
ffe8018c 26__irf_start:
65e00e04 27.incbin "usr/initramfs_inc_data"
ffe8018c
HB
28__irf_end:
29.section .init.ramfs.info,"a"
c4df32c8
MY
30.globl __initramfs_size
31__initramfs_size:
96f93593 32#ifdef CONFIG_64BIT
ffe8018c 33 .quad __irf_end - __irf_start
96f93593
GU
34#else
35 .long __irf_end - __irf_start
ffe8018c 36#endif