summaryrefslogtreecommitdiffstats
path: root/scripts/lib/wic
diff options
context:
space:
mode:
authorIoan-Adrian Ratiu <adrian.ratiu@ni.com>2018-09-18 19:17:52 +0300
committerRichard Purdie <richard.purdie@linuxfoundation.org>2018-09-20 05:41:31 -0700
commitad42d8e4d9be71bb7bfbb7b7b79d1d99b5e15603 (patch)
tree95cb607fe9ad3b5d5c771b751313c207cba2aee4 /scripts/lib/wic
parent78067c910e815723814fff215fda2eba6f834b54 (diff)
downloadpoky-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.py7
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