Skip to content

Commit c8bbd84

Browse files
committed
qemu: Convert KERNEL_RELEASE_PATH to --release-path
1 parent fd77a81 commit c8bbd84

10 files changed

Lines changed: 17 additions & 20 deletions

File tree

lib/qemu.py

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -41,6 +41,7 @@ def __init__(self, machine):
4141
self.prompt = None
4242
self.user = 'root'
4343
self.password = None
44+
self.expected_release = None
4445

4546
def machine_is(self, needle):
4647
return self.machine.startswith(needle)
@@ -70,7 +71,7 @@ def configure_from_args(self, orig_args):
7071
parser.add_argument('--mount', dest='mounts', type=str, default=[], action='append', help='Host mount points')
7172
parser.add_argument('--mount-cmd', dest='mount_command', type=str, help="Command to run in mount point (default 'run')")
7273
parser.add_argument('--cmdline', type=str, help='Kernel command line arguments')
73-
74+
parser.add_argument('--release-path', type=str, help='Path to kernel.release')
7475
args = parser.parse_args(orig_args)
7576

7677
if args.gdb:
@@ -110,13 +111,20 @@ def configure_from_args(self, orig_args):
110111
if args.cmdline:
111112
self.cmdline.append(args.cmdline)
112113

114+
if args.release_path:
115+
self.expected_release = read_expected_release(args.release_path)
116+
113117
self.compat_rootfs = args.compat_rootfs
114118
self.use_vof = args.use_vof
115119
self.quiet = args.quiet
116120
self.net_tests = args.net_tests
117121
self.host_mounts.extend(args.mounts)
118122

119123
def apply_defaults(self):
124+
if not self.expected_release:
125+
logging.error("Couldn't find kernel.release")
126+
return
127+
120128
if self.machine_is('pseries'):
121129
if self.accel == 'tcg':
122130
self.machine_caps += ['cap-htm=off']
@@ -484,6 +492,7 @@ def qemu_main(qconf):
484492
p.push_prompt(qconf.prompt)
485493
qconf.boot_func(p, boot_timeout, qconf)
486494

495+
logging.info(f'Looking for kernel version: {qconf.expected_release}')
487496
p.send('echo "booted-revision: `uname -r`"')
488497
p.expect(f'booted-revision: {qconf.expected_release}')
489498
p.expect_prompt()

lib/utils.py

Lines changed: 7 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -69,12 +69,13 @@ def get_vmlinux():
6969
return vmlinux
7070

7171

72+
def read_expected_release(path):
73+
expected_release = open(path).read().strip()
74+
return expected_release
75+
76+
7277
def get_expected_release():
7378
candidates = []
74-
env = os.environ.get('KERNEL_RELEASE_PATH', None)
75-
if env:
76-
candidates.append(env)
77-
7879
default_path = 'include/config/kernel.release'
7980
env = os.environ.get('KBUILD_OUTPUT', None)
8081
if env:
@@ -83,14 +84,9 @@ def get_expected_release():
8384
candidates.extend([default_path, 'kernel.release'])
8485
for path in candidates:
8586
if os.path.isfile(path):
86-
break
87-
else:
88-
logging.error(f"Couldn't find kernel.release, export KERNEL_RELEASE_PATH")
89-
return None
87+
return read_expected_release(path)
9088

91-
expected_release = open(path).read().strip()
92-
logging.info(f'Looking for kernel version: {expected_release}')
93-
return expected_release
89+
return None
9490

9591

9692
def test_harness(func, name, *args, **kwargs):

scripts/boot/qemu-44x

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,6 @@
77
# Or:
88
#
99
# export VMLINUX_PATH=~/src/linux/vmlinux
10-
# export KERNEL_RELEASE_PATH=~/src/linux/include/config/kernel.release
1110
#
1211
# Optional:
1312
# export QEMU_SYSTEM_PPC=~/src/qemu/ppc-softmmu/qemu-system-ppc

scripts/boot/qemu-e500mc

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,6 @@
1212
# Or:
1313
#
1414
# export VMLINUX_PATH=~/src/linux/vmlinux
15-
# export KERNEL_RELEASE_PATH=~/src/linux/include/config/kernel.release
1615
#
1716
# Optional:
1817
# export QEMU_SYSTEM_PPC=~/src/qemu/ppc-softmmu/qemu-system-ppc

scripts/boot/qemu-g3beige

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,6 @@
1515
# Or:
1616
#
1717
# export VMLINUX_PATH=~/src/linux/vmlinux
18-
# export KERNEL_RELEASE_PATH=~/src/linux/include/config/kernel.release
1918
#
2019
# Optional:
2120
# export QEMU_SYSTEM_PPC=~/src/qemu/ppc-softmmu/qemu-system-ppc

scripts/boot/qemu-g5

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,6 @@
1313
# Or:
1414
#
1515
# export VMLINUX_PATH=~/src/linux/vmlinux
16-
# export KERNEL_RELEASE_PATH=~/src/linux/include/config/kernel.release
1716
#
1817
# Optional:
1918
# export QEMU_SYSTEM_PPC64=~/src/qemu/ppc64-softmmu/qemu-system-ppc64

scripts/boot/qemu-mac99

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,6 @@
1414
# Or:
1515
#
1616
# export VMLINUX_PATH=~/src/linux/vmlinux
17-
# export KERNEL_RELEASE_PATH=~/src/linux/include/config/kernel.release
1817
#
1918
# Optional:
2019
# export QEMU_SYSTEM_PPC=~/src/qemu/ppc-softmmu/qemu-system-ppc

scripts/boot/qemu-powernv

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,6 @@
77
# Or:
88
#
99
# export VMLINUX_PATH=~/src/linux/vmlinux
10-
# export KERNEL_RELEASE_PATH=~/src/linux/include/config/kernel.release
1110
#
1211
# Optional:
1312
# export QEMU_SYSTEM_PPC64=~/src/qemu/ppc64-softmmu/qemu-system-ppc64

scripts/boot/qemu-ppc64e

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,6 @@
1111
# Or:
1212
#
1313
# export VMLINUX_PATH=~/src/linux/vmlinux
14-
# export KERNEL_RELEASE_PATH=~/src/linux/include/config/kernel.release
1514
#
1615
# Optional:
1716
# export QEMU_SYSTEM_PPC64=~/src/qemu/ppc64-softmmu/qemu-system-ppc64

scripts/boot/qemu-pseries

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,6 @@
77
# Or:
88
#
99
# export VMLINUX_PATH=~/src/linux/vmlinux
10-
# export KERNEL_RELEASE_PATH=~/src/linux/include/config/kernel.release
1110
#
1211
# Optional:
1312
# export QEMU_SYSTEM_PPC64=~/src/qemu/ppc64-softmmu/qemu-system-ppc64

0 commit comments

Comments
 (0)