File tree 3 files changed +34
-1
lines changed
3 files changed +34
-1
lines changed Original file line number Diff line number Diff line change @@ -242,6 +242,7 @@ case "$arg" in
242
242
echo " $output_file " | grep -q " \.gz$" && compr=" gzip -9 -f"
243
243
echo " $output_file " | grep -q " \.bz2$" && compr=" bzip2 -9 -f"
244
244
echo " $output_file " | grep -q " \.lzma$" && compr=" lzma -9 -f"
245
+ echo " $output_file " | grep -q " \.lzo$" && compr=" lzop -9 -f"
245
246
echo " $output_file " | grep -q " \.cpio$" && compr=" cat"
246
247
shift
247
248
;;
Original file line number Diff line number Diff line change @@ -15,6 +15,9 @@ suffix_$(CONFIG_INITRAMFS_COMPRESSION_BZIP2) = .bz2
15
15
# Lzma
16
16
suffix_$(CONFIG_INITRAMFS_COMPRESSION_LZMA) = .lzma
17
17
18
+ # Lzo
19
+ suffix_$(CONFIG_INITRAMFS_COMPRESSION_LZO) = .lzo
20
+
18
21
# Generate builtin.o based on initramfs_data.o
19
22
obj-$(CONFIG_BLK_DEV_INITRD) := initramfs_data$(suffix_y ) .o
20
23
45
48
quiet_cmd_initfs = GEN $@
46
49
cmd_initfs = $(initramfs ) -o $@ $(ramfs-args ) $(ramfs-input )
47
50
48
- targets := initramfs_data.cpio.gz initramfs_data.cpio.bz2 initramfs_data.cpio.lzma initramfs_data.cpio
51
+ targets := initramfs_data.cpio.gz initramfs_data.cpio.bz2 initramfs_data.cpio.lzma initramfs_data.cpio.lzo initramfs_data.cpio
49
52
# do not try to update files included in initramfs
50
53
$(deps_initramfs ) : ;
51
54
Original file line number Diff line number Diff line change
1
+ /*
2
+ initramfs_data includes the compressed binary that is the
3
+ filesystem used for early user space.
4
+ Note: Older versions of "as" (prior to binutils 2.11.90.0.23
5
+ released on 2001-07-14) dit not support .incbin.
6
+ If you are forced to use older binutils than that then the
7
+ following trick can be applied to create the resulting binary:
8
+
9
+
10
+ ld -m elf_i386 --format binary --oformat elf32-i386 -r \
11
+ -T initramfs_data.scr initramfs_data.cpio.gz -o initramfs_data.o
12
+ ld -m elf_i386 -r -o built-in.o initramfs_data.o
13
+
14
+ initramfs_data.scr looks like this:
15
+ SECTIONS
16
+ {
17
+ .init.ramfs : { *(.data) }
18
+ }
19
+
20
+ The above example is for i386 - the parameters vary from architectures.
21
+ Eventually look up LDFLAGS_BLOB in an older version of the
22
+ arch/$(ARCH)/Makefile to see the flags used before .incbin was introduced.
23
+
24
+ Using .incbin has the advantage over ld that the correct flags are set
25
+ in the ELF header, as required by certain architectures.
26
+ */
27
+
28
+ .section .init.ramfs,"a"
29
+ .incbin "usr/initramfs_data.cpio.lzo"
You can’t perform that action at this time.
0 commit comments