Simplify bwrap setup code and support more than 3 passes
This commit is contained in:
parent
63c0a52067
commit
30fb367e7a
59
rootfs.py
59
rootfs.py
|
@ -186,50 +186,33 @@ print(shutil.which('chroot'))
|
||||||
run_as_root('env', '-i', 'PATH=/bin', chroot_binary, generator.tmp_dir, init)
|
run_as_root('env', '-i', 'PATH=/bin', chroot_binary, generator.tmp_dir, init)
|
||||||
|
|
||||||
elif args.bwrap:
|
elif args.bwrap:
|
||||||
|
init = '/init'
|
||||||
if not args.internal_ci or args.internal_ci == "pass1":
|
if not args.internal_ci or args.internal_ci == "pass1":
|
||||||
generator.prepare(tmpdir, using_kernel=False)
|
generator.prepare(tmpdir, using_kernel=False)
|
||||||
|
|
||||||
arch = stage0_arch_map.get(args.arch, args.arch)
|
arch = stage0_arch_map.get(args.arch, args.arch)
|
||||||
init = os.path.join(os.sep, 'bootstrap-seeds', 'POSIX', arch, 'kaem-optional-seed')
|
init = os.path.join(os.sep, 'bootstrap-seeds', 'POSIX', arch, 'kaem-optional-seed')
|
||||||
run('env', '-', 'bwrap', '--unshare-user',
|
else:
|
||||||
'--uid', '0',
|
|
||||||
'--gid', '0',
|
|
||||||
'--unshare-net' if args.external_sources else None,
|
|
||||||
'--setenv', 'PATH', '/usr/bin',
|
|
||||||
'--bind', generator.tmp_dir, '/',
|
|
||||||
'--dir', '/dev',
|
|
||||||
'--dev-bind', '/dev/null', '/dev/null',
|
|
||||||
'--dev-bind', '/dev/zero', '/dev/zero',
|
|
||||||
'--dev-bind', '/dev/random', '/dev/random',
|
|
||||||
'--dev-bind', '/dev/urandom', '/dev/urandom',
|
|
||||||
'--dev-bind', '/dev/ptmx', '/dev/ptmx',
|
|
||||||
'--dev-bind', '/dev/tty', '/dev/tty',
|
|
||||||
'--tmpfs', '/dev/shm',
|
|
||||||
'--proc', '/proc',
|
|
||||||
'--bind', '/sys', '/sys',
|
|
||||||
'--tmpfs', '/tmp',
|
|
||||||
init)
|
|
||||||
|
|
||||||
if args.internal_ci in ("pass2", "pass3"):
|
|
||||||
generator.reuse(tmpdir)
|
generator.reuse(tmpdir)
|
||||||
run('env', '-', 'bwrap', '--unshare-user',
|
|
||||||
'--uid', '0',
|
run('env', '-i', 'bwrap', '--unshare-user',
|
||||||
'--gid', '0',
|
'--uid', '0',
|
||||||
'--unshare-net' if args.external_sources else None,
|
'--gid', '0',
|
||||||
'--setenv', 'PATH', '/usr/bin',
|
'--unshare-net' if args.external_sources else None,
|
||||||
'--bind', generator.tmp_dir, '/',
|
'--setenv', 'PATH', '/usr/bin',
|
||||||
'--dir', '/dev',
|
'--bind', generator.tmp_dir, '/',
|
||||||
'--dev-bind', '/dev/null', '/dev/null',
|
'--dir', '/dev',
|
||||||
'--dev-bind', '/dev/zero', '/dev/zero',
|
'--dev-bind', '/dev/null', '/dev/null',
|
||||||
'--dev-bind', '/dev/random', '/dev/random',
|
'--dev-bind', '/dev/zero', '/dev/zero',
|
||||||
'--dev-bind', '/dev/urandom', '/dev/urandom',
|
'--dev-bind', '/dev/random', '/dev/random',
|
||||||
'--dev-bind', '/dev/ptmx', '/dev/ptmx',
|
'--dev-bind', '/dev/urandom', '/dev/urandom',
|
||||||
'--dev-bind', '/dev/tty', '/dev/tty',
|
'--dev-bind', '/dev/ptmx', '/dev/ptmx',
|
||||||
'--tmpfs', '/dev/shm',
|
'--dev-bind', '/dev/tty', '/dev/tty',
|
||||||
'--proc', '/proc',
|
'--tmpfs', '/dev/shm',
|
||||||
'--bind', '/sys', '/sys',
|
'--proc', '/proc',
|
||||||
'--tmpfs', '/tmp',
|
'--bind', '/sys', '/sys',
|
||||||
'/init')
|
'--tmpfs', '/tmp',
|
||||||
|
init)
|
||||||
|
|
||||||
elif args.bare_metal:
|
elif args.bare_metal:
|
||||||
if args.kernel:
|
if args.kernel:
|
||||||
|
|
Loading…
Reference in New Issue