commit: 3341de6d42c7c9fdd381f281feaec561aa4d45aa
parent a3e7042aa28244d78105c96308e6b4e7907dfa6d
Author: Andrius Štikonas <andrius@stikonas.eu>
Date: Wed, 14 Feb 2024 22:51:37 +0000
Merge pull request #439 from Googulator/seedless
Exclude bootstrap-seeds from kernel bootstrap images
Diffstat:
1 file changed, 31 insertions(+), 12 deletions(-)
diff --git a/lib/generator.py b/lib/generator.py
@@ -78,7 +78,7 @@ class Generator():
shutil.copy2(os.path.join(self.git_dir, 'seed', 'preseeded.kaem'),
os.path.join(self.target_dir, 'kaem.x86'))
else:
- self.stage0_posix()
+ self.stage0_posix(kernel_bootstrap)
self.seed()
self.steps()
@@ -109,10 +109,12 @@ class Generator():
shutil.copytree(os.path.join(self.git_dir, 'steps'), os.path.join(self.target_dir, 'steps'))
- def stage0_posix(self):
+ def stage0_posix(self, kernel_bootstrap=False):
"""Copy in all of the stage0-posix"""
stage0_posix_base_dir = os.path.join(self.git_dir, 'seed', 'stage0-posix')
for entry in os.listdir(stage0_posix_base_dir):
+ if kernel_bootstrap and entry == 'bootstrap-seeds':
+ continue
orig = os.path.join(stage0_posix_base_dir, entry)
target = os.path.join(self.target_dir, entry)
if os.path.isfile(orig):
@@ -120,10 +122,12 @@ class Generator():
else:
shutil.copytree(orig, target)
- arch = stage0_arch_map.get(self.arch, self.arch)
- kaem_optional_seed = os.path.join(self.git_dir, 'seed', 'stage0-posix', 'bootstrap-seeds',
- 'POSIX', arch, 'kaem-optional-seed')
- shutil.copy2(kaem_optional_seed, os.path.join(self.target_dir, 'init'))
+ if not kernel_bootstrap:
+ arch = stage0_arch_map.get(self.arch, self.arch)
+ kaem_optional_seed = os.path.join(self.git_dir, 'seed', 'stage0-posix',
+ 'bootstrap-seeds', 'POSIX', arch,
+ 'kaem-optional-seed')
+ shutil.copy2(kaem_optional_seed, os.path.join(self.target_dir, 'init'))
def seed(self):
"""Copy in extra seed files"""
@@ -193,17 +197,32 @@ class Generator():
self.output_tree(image_file, '.')
# Add commands to kick off stage0-posix
+ cmd = ' '.join(['src',
+ '0',
+ '/bootstrap-seeds\n'])
+ image_file.write(cmd.encode())
+ cmd = ' '.join(['src',
+ '0',
+ '/bootstrap-seeds/POSIX\n'])
+ image_file.write(cmd.encode())
+ cmd = ' '.join(['src',
+ '0',
+ '/bootstrap-seeds/POSIX/x86\n'])
+ image_file.write(cmd.encode())
cmd = ' '.join(['hex0',
- './bootstrap-seeds/POSIX/x86/hex0_x86.hex0',
- './bootstrap-seeds/POSIX/x86/hex0-seed\n'])
+ '/x86/hex0_x86.hex0',
+ '/bootstrap-seeds/POSIX/x86/hex0-seed\n'])
image_file.write(cmd.encode())
cmd = ' '.join(['hex0',
- './bootstrap-seeds/POSIX/x86/kaem-minimal.hex0',
- './bootstrap-seeds/POSIX/x86/kaem-optional-seed\n'])
+ '/x86/kaem-minimal.hex0',
+ '/bootstrap-seeds/POSIX/x86/kaem-optional-seed\n'])
image_file.write(cmd.encode())
- cmd = ' '.join(['./bootstrap-seeds/POSIX/x86/kaem-optional-seed', './kaem.x86\n'])
+ cmd = ' '.join(['hex0',
+ '/x86/kaem-minimal.hex0',
+ '/init\n'])
+ image_file.write(cmd.encode())
+ cmd = ' '.join(['/bootstrap-seeds/POSIX/x86/kaem-optional-seed', '/kaem.x86\n'])
image_file.write(cmd.encode())
-
os.chdir(save_cwd)
def create_builder_hex0_disk_image(self, image_file_name, size):