livecd/empty entries cannot be removed: Device or resource busy
After not using catalyst for a while, I attempted to generate a livecd.
I've stumbled on an error I haven't seen before: catalyst cannot
generate an ISO, because the image.squashfs was too large ("...is larger
I've looked into livecd-stage2 dir, and found usr/portage/distfiles to
contain ~5.6 gigs. Catalyst took it from my hosting root file system.
I then proceeded to attempt to use "livecd/empty" in stage-2.spec to
remove redundant content from the livecd. I took the boilerplate from
livecd-stage2_template.spec. I then get this error:
!!! catalyst: Error encountered during run of target livecd-stage2
Traceback (most recent call last):
File "/usr/lib64/catalyst/catalyst", line 397, in <module>
File "/usr/lib64/catalyst/catalyst", line 212, in build_target
File "modules/generic_stage_target.py", line 1301, in run
File "modules/generic_stage_target.py", line 1174, in empty
File "/usr/lib64/python2.6/shutil.py", line 216, in rmtree
rmtree(fullname, ignore_errors, onerror)
File "/usr/lib64/python2.6/shutil.py", line 225, in rmtree
onerror(os.rmdir, path, sys.exc_info())
File "/usr/lib64/python2.6/shutil.py", line 223, in rmtree
OSError: [Errno 16] Device or resource busy:
I got the same error prior to that w/tmp folder, which I've removed from
"livecd/empty" on a/m attempt.
1. The fact that I haven't seen this issue before might suggest I'm
doing something wrong this time, though can't see what. Pls.
advise. Is the list of dirs in the stage2 example valid? how could
I resolve the issue and not have the livecd bloated with
unnecessary files such as distfiles?
2. The use of livecd/empty tells catalyst to remove dirs from the
image. It doesn't actually tell catalyst to ignore them, right?
even the fact that catalyst has to remove those dirs means it has
to acknowledge those dirs, and spend effort on handling them. Also
it prolongs the making of stage2 (e.g. rsyncing to it). Is there a
method of totally ignoring files that shouldn't be part of the livecd?