diff options
author | Ioan-Adrian Ratiu <adrian.ratiu@ni.com> | 2018-09-18 19:17:52 +0300 |
---|---|---|
committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2018-09-20 05:41:31 -0700 |
commit | ad42d8e4d9be71bb7bfbb7b7b79d1d99b5e15603 (patch) | |
tree | 95cb607fe9ad3b5d5c771b751313c207cba2aee4 /scripts/lib/wic | |
parent | 78067c910e815723814fff215fda2eba6f834b54 (diff) | |
download | poky-ad42d8e4d9be71bb7bfbb7b7b79d1d99b5e15603.tar.gz |
isoimage-isohybrid: don't include cpio in cpio image
Because the find | cpio processes execute in parallel connected via
the pipe, and the cpio outputs in the same dir find searches for
source files, the cpio will be included in itself partially, depending
on how fast the build machine creates the cpio file before cpio
gobbles it up.
This bloats the ISO image, though compression reduces the .iso file size,
once the kernel decompresses the cpio image and boots it live, it uses
up to double the RAM memory.
Fix this by creating the initrd.cpio file directly inside cr_workdir.
(From OE-Core rev: 7a7b29f5f1392f4f87af4f20cda99c66b4789fde)
Signed-off-by: Ioan-Adrian Ratiu <adrian.ratiu@ni.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'scripts/lib/wic')
-rw-r--r-- | scripts/lib/wic/plugins/source/isoimage-isohybrid.py | 7 |
1 files changed, 3 insertions, 4 deletions
diff --git a/scripts/lib/wic/plugins/source/isoimage-isohybrid.py b/scripts/lib/wic/plugins/source/isoimage-isohybrid.py index 25a695da17..170077c22c 100644 --- a/scripts/lib/wic/plugins/source/isoimage-isohybrid.py +++ b/scripts/lib/wic/plugins/source/isoimage-isohybrid.py | |||
@@ -191,10 +191,9 @@ class IsoImagePlugin(SourcePlugin): | |||
191 | else: | 191 | else: |
192 | raise WicError("Couldn't find or build initrd, exiting.") | 192 | raise WicError("Couldn't find or build initrd, exiting.") |
193 | 193 | ||
194 | exec_cmd("cd %s && find . | cpio -o -H newc -R root:root >./initrd.cpio " \ | 194 | exec_cmd("cd %s && find . | cpio -o -H newc -R root:root >%s/initrd.cpio " \ |
195 | % initrd_dir, as_shell=True) | 195 | % (initrd_dir, cr_workdir), as_shell=True) |
196 | exec_cmd("gzip -f -9 -c %s/initrd.cpio > %s" \ | 196 | exec_cmd("gzip -f -9 %s/initrd.cpio" % cr_workdir, as_shell=True) |
197 | % (initrd_dir, initrd), as_shell=True) | ||
198 | shutil.rmtree(initrd_dir) | 197 | shutil.rmtree(initrd_dir) |
199 | 198 | ||
200 | return initrd | 199 | return initrd |