Blame view

usr/initramfs_data.S 1.28 KB
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
1
2
3
4
5
6
7
8
9
10
11
12
  /*
    initramfs_data includes the compressed binary that is the
    filesystem used for early user space.
    Note: Older versions of "as" (prior to binutils 2.11.90.0.23
    released on 2001-07-14) dit not support .incbin.
    If you are forced to use older binutils than that then the
    following trick can be applied to create the resulting binary:
  
  
    ld -m elf_i386  --format binary --oformat elf32-i386 -r \
    -T initramfs_data.scr initramfs_data.cpio.gz -o initramfs_data.o
     ld -m elf_i386  -r -o built-in.o initramfs_data.o
ffe8018c3   Hendrik Brueckner   initramfs: fix in...
13
    For including the .init.ramfs sections, see include/asm-generic/vmlinux.lds.
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
14
15
16
17
18
19
20
21
  
    The above example is for i386 - the parameters vary from architectures.
    Eventually look up LDFLAGS_BLOB in an older version of the
    arch/$(ARCH)/Makefile to see the flags used before .incbin was introduced.
  
    Using .incbin has the advantage over ld that the correct flags are set
    in the ELF header, as required by certain architectures.
  */
6ae64e428   Hendrik Brueckner   initramfs: genera...
22
  #include <linux/stringify.h>
1198c6d45   Hendrik Brueckner   initramfs: Really...
23
  #include <asm-generic/vmlinux.lds.h>
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
24

6ae64e428   Hendrik Brueckner   initramfs: genera...
25
  .section .init.ramfs,"a"
ffe8018c3   Hendrik Brueckner   initramfs: fix in...
26
  __irf_start:
6ae64e428   Hendrik Brueckner   initramfs: genera...
27
  .incbin __stringify(INITRAMFS_IMAGE)
ffe8018c3   Hendrik Brueckner   initramfs: fix in...
28
29
  __irf_end:
  .section .init.ramfs.info,"a"
1198c6d45   Hendrik Brueckner   initramfs: Really...
30
31
  .globl VMLINUX_SYMBOL(__initramfs_size)
  VMLINUX_SYMBOL(__initramfs_size):
96f935934   Geert Uytterhoeven   initramfs: Fix in...
32
  #ifdef CONFIG_64BIT
ffe8018c3   Hendrik Brueckner   initramfs: fix in...
33
  	.quad __irf_end - __irf_start
96f935934   Geert Uytterhoeven   initramfs: Fix in...
34
35
  #else
  	.long __irf_end - __irf_start
ffe8018c3   Hendrik Brueckner   initramfs: fix in...
36
  #endif