summaryrefslogtreecommitdiffstats
path: root/scripts
diff options
context:
space:
mode:
authorPatrick Vacek <patrickvacek@gmail.com>2020-01-23 16:23:48 +0100
committerGitHub <noreply@github.com>2020-01-23 16:23:48 +0100
commite81f2e7d2a74fe27a0840aacfcfe547acbdcac0c (patch)
tree2b8e320a4149aa145eb0b75917fbdc74ac92c2fb /scripts
parenta6ef1ed2784fde198baef0e6b12e4b0d86e8bb66 (diff)
parent19ff287e7b6764af2f0af29cb5bac9433fc5862d (diff)
downloadmeta-updater-e81f2e7d2a74fe27a0840aacfcfe547acbdcac0c.tar.gz
Merge pull request #663 from advancedtelematic/feat/zeus/2020.1
Feat/zeus/2020.1
Diffstat (limited to 'scripts')
-rw-r--r--scripts/qemucommand.py9
-rwxr-xr-xscripts/run-qemu-ota6
2 files changed, 15 insertions, 0 deletions
diff --git a/scripts/qemucommand.py b/scripts/qemucommand.py
index cef434d..8d3ee0e 100644
--- a/scripts/qemucommand.py
+++ b/scripts/qemucommand.py
@@ -42,6 +42,8 @@ class QemuCommand(object):
42 def __init__(self, args): 42 def __init__(self, args):
43 self.dry_run = args.dry_run 43 self.dry_run = args.dry_run
44 self.overlay = args.overlay 44 self.overlay = args.overlay
45 self.host_fwd = None
46
45 if args.machine: 47 if args.machine:
46 self.machine = args.machine 48 self.machine = args.machine
47 else: 49 else:
@@ -125,10 +127,17 @@ class QemuCommand(object):
125 self.pcap = args.pcap 127 self.pcap = args.pcap
126 self.secondary_network = args.secondary_network 128 self.secondary_network = args.secondary_network
127 129
130 # Append additional port forwarding to QEMU command line.
131 if hasattr(args, 'host_forward'):
132 self.host_fwd = args.host_forward
133
128 def command_line(self): 134 def command_line(self):
129 netuser = 'user,hostfwd=tcp:0.0.0.0:%d-:22,restrict=off' % self.ssh_port 135 netuser = 'user,hostfwd=tcp:0.0.0.0:%d-:22,restrict=off' % self.ssh_port
130 if self.gdb: 136 if self.gdb:
131 netuser += ',hostfwd=tcp:0.0.0.0:2159-:2159' 137 netuser += ',hostfwd=tcp:0.0.0.0:2159-:2159'
138 if self.host_fwd:
139 netuser += ",hostfwd=" + self.host_fwd
140
132 cmdline = [ 141 cmdline = [
133 "qemu-system-x86_64", 142 "qemu-system-x86_64",
134 "-bios", self.bios 143 "-bios", self.bios
diff --git a/scripts/run-qemu-ota b/scripts/run-qemu-ota
index e2a4103..5652797 100755
--- a/scripts/run-qemu-ota
+++ b/scripts/run-qemu-ota
@@ -39,6 +39,12 @@ def main():
39 help='Give the image a second network card connected to a virtual network. ' + 39 help='Give the image a second network card connected to a virtual network. ' +
40 'This can be used to test Uptane Primary/Secondary communication.') 40 'This can be used to test Uptane Primary/Secondary communication.')
41 parser.add_argument('-n', '--dry-run', help='Print qemu command line rather then run it', action='store_true') 41 parser.add_argument('-n', '--dry-run', help='Print qemu command line rather then run it', action='store_true')
42 parser.add_argument('--host-forward',
43 help='Redirect incoming TCP or UDP connections to the host port. '
44 'Example forwarding guest port 10050 to the host port 10555:'
45 '--host-forward="tcp:0.0.0.0:10556-:10050". '
46 'For more details please refer to QEMU man page, option <hostfwd>. '
47 'https://manpages.debian.org/testing/qemu-system-x86/qemu-system-x86_64.1.en.html')
42 args = parser.parse_args() 48 args = parser.parse_args()
43 49
44 if args.overlay and not exists(args.overlay) and dirname(args.overlay) and not dirname(args.overlay) == '.': 50 if args.overlay and not exists(args.overlay) and dirname(args.overlay) and not dirname(args.overlay) == '.':