rootfs.py: minikernel:

use branch v0.7 from kritis-linux and change settings
to be more i386-alike and add essential kernel feature
'flock' using latest kernel 3.18.140 from 3.18.x-branch

(+minor indentation fixes)
This commit is contained in:
Bastian Bittorf 2021-04-16 17:35:24 +00:00
parent 9f83e1213e
commit 7e69dcc926
1 changed files with 20 additions and 5 deletions

View File

@ -8,11 +8,13 @@ you can run bootstap inside chroot.
# SPDX-License-Identifier: GPL-3.0-or-later # SPDX-License-Identifier: GPL-3.0-or-later
# SPDX-FileCopyrightText: 2021 Andrius Štikonas <andrius@stikonas.eu> # SPDX-FileCopyrightText: 2021 Andrius Štikonas <andrius@stikonas.eu>
# SPDX-FileCopyrightText: 2021 Bastian Bittorf <bb@npl.de>
import argparse import argparse
import glob import glob
import os import os
import subprocess import subprocess
import shutil
from sysa import SysA from sysa import SysA
from lib.utils import run from lib.utils import run
@ -72,7 +74,7 @@ def make_initramfs(tmp_dir, initramfs_path):
with open(initramfs_path, "w") as initramfs: with open(initramfs_path, "w") as initramfs:
cpio = subprocess.Popen(["cpio", "--format", "newc", "--create", "--directory", tmp_dir], cpio = subprocess.Popen(["cpio", "--format", "newc", "--create", "--directory", tmp_dir],
stdin=subprocess.PIPE, stdout=initramfs) stdin=subprocess.PIPE, stdout=initramfs)
cpio.communicate(input='\n'.join(file_list).encode()) cpio.communicate(input='\n'.join(file_list).encode())
def bootstrap(args, tmp_dir, initramfs_path): def bootstrap(args, tmp_dir, initramfs_path):
@ -84,10 +86,23 @@ def bootstrap(args, tmp_dir, initramfs_path):
return return
if args.minikernel: if args.minikernel:
run('git', 'clone', '--depth', '1', '--branch', 'v0.4', if os.path.isdir('kritis-linux'):
shutil.rmtree('kritis-linux')
run('git', 'clone',
'--depth', '1', '--branch', 'v0.7',
'https://github.com/bittorf/kritis-linux.git') 'https://github.com/bittorf/kritis-linux.git')
run('kritis-linux/ci_helper.sh', '--arch', 'x86_64', '--ramsize', run('kritis-linux/ci_helper.sh',
'-m', str(args.qemu_ram) + 'M', '--kernel', '5.10.8', '--initrd', initramfs_path) '--private',
'--multi', '1',
'--repeat', '1',
'--arch', args.arch,
'--qemucpu', '486',
'--kernel', '3.18.140',
'--features', 'kflock,highrestimers',
'--ramsize', str(args.qemu_ram) + 'M',
'--initrd', initramfs_path,
'--log', '/tmp/bootstrap.log')
return return
run(args.qemu_cmd, run(args.qemu_cmd,
@ -99,5 +114,5 @@ def bootstrap(args, tmp_dir, initramfs_path):
'-initrd', initramfs_path, '-initrd', initramfs_path,
'-append', "console=ttyS0") '-append', "console=ttyS0")
if __name__=="__main__": if __name__ == "__main__":
main() main()