diff options
| -rwxr-xr-x | scripts/runqemu | 28 |
1 files changed, 13 insertions, 15 deletions
diff --git a/scripts/runqemu b/scripts/runqemu index 803b205690..5b5d56b9ef 100755 --- a/scripts/runqemu +++ b/scripts/runqemu | |||
| @@ -179,7 +179,6 @@ class BaseConfig(object): | |||
| 179 | 179 | ||
| 180 | self.qemu_opt = '' | 180 | self.qemu_opt = '' |
| 181 | self.qemu_opt_script = '' | 181 | self.qemu_opt_script = '' |
| 182 | self.nfs_dir = '' | ||
| 183 | self.clean_nfs_dir = False | 182 | self.clean_nfs_dir = False |
| 184 | self.nfs_server = '' | 183 | self.nfs_server = '' |
| 185 | self.rootfs = '' | 184 | self.rootfs = '' |
| @@ -285,12 +284,11 @@ class BaseConfig(object): | |||
| 285 | 284 | ||
| 286 | def check_arg_nfs(self, p): | 285 | def check_arg_nfs(self, p): |
| 287 | if os.path.isdir(p): | 286 | if os.path.isdir(p): |
| 288 | self.nfs_dir = p | 287 | self.rootfs = p |
| 289 | else: | 288 | else: |
| 290 | m = re.match('(.*):(.*)', p) | 289 | m = re.match('(.*):(.*)', p) |
| 291 | self.nfs_server = m.group(1) | 290 | self.nfs_server = m.group(1) |
| 292 | self.nfs_dir = m.group(2) | 291 | self.rootfs = m.group(2) |
| 293 | self.rootfs = "" | ||
| 294 | self.check_arg_fstype('nfs') | 292 | self.check_arg_fstype('nfs') |
| 295 | 293 | ||
| 296 | def check_arg_path(self, p): | 294 | def check_arg_path(self, p): |
| @@ -760,7 +758,7 @@ class BaseConfig(object): | |||
| 760 | print('MACHINE: [%s]' % self.get('MACHINE')) | 758 | print('MACHINE: [%s]' % self.get('MACHINE')) |
| 761 | print('FSTYPE: [%s]' % self.fstype) | 759 | print('FSTYPE: [%s]' % self.fstype) |
| 762 | if self.fstype == 'nfs': | 760 | if self.fstype == 'nfs': |
| 763 | print('NFS_DIR: [%s]' % self.nfs_dir) | 761 | print('NFS_DIR: [%s]' % self.rootfs) |
| 764 | else: | 762 | else: |
| 765 | print('ROOTFS: [%s]' % self.rootfs) | 763 | print('ROOTFS: [%s]' % self.rootfs) |
| 766 | if self.ovmf_bios: | 764 | if self.ovmf_bios: |
| @@ -805,13 +803,13 @@ class BaseConfig(object): | |||
| 805 | 803 | ||
| 806 | self.unfs_opts="nfsvers=3,port=%s,mountprog=%s,nfsprog=%s,udp,mountport=%s" % (nfsd_port, mountd_rpcport, nfsd_rpcport, mountd_port) | 804 | self.unfs_opts="nfsvers=3,port=%s,mountprog=%s,nfsprog=%s,udp,mountport=%s" % (nfsd_port, mountd_rpcport, nfsd_rpcport, mountd_port) |
| 807 | 805 | ||
| 808 | # Extract .tar.bz2 or .tar.bz if no self.nfs_dir | 806 | # Extract .tar.bz2 or .tar.bz if no nfs dir |
| 809 | if not self.nfs_dir: | 807 | if not (self.rootfs and os.path.isdir(self.rootfs)): |
| 810 | src_prefix = '%s/%s' % (self.get('DEPLOY_DIR_IMAGE'), self.get('IMAGE_LINK_NAME')) | 808 | src_prefix = '%s/%s' % (self.get('DEPLOY_DIR_IMAGE'), self.get('IMAGE_LINK_NAME')) |
| 811 | dest = "%s-nfsroot" % src_prefix | 809 | dest = "%s-nfsroot" % src_prefix |
| 812 | if os.path.exists('%s.pseudo_state' % dest): | 810 | if os.path.exists('%s.pseudo_state' % dest): |
| 813 | logger.info('Use %s as NFS_DIR' % dest) | 811 | logger.info('Use %s as NFS_DIR' % dest) |
| 814 | self.nfs_dir = dest | 812 | self.rootfs = dest |
| 815 | else: | 813 | else: |
| 816 | src = "" | 814 | src = "" |
| 817 | src1 = '%s.tar.bz2' % src_prefix | 815 | src1 = '%s.tar.bz2' % src_prefix |
| @@ -828,10 +826,10 @@ class BaseConfig(object): | |||
| 828 | if subprocess.call(cmd, shell=True) != 0: | 826 | if subprocess.call(cmd, shell=True) != 0: |
| 829 | raise Exception('Failed to run %s' % cmd) | 827 | raise Exception('Failed to run %s' % cmd) |
| 830 | self.clean_nfs_dir = True | 828 | self.clean_nfs_dir = True |
| 831 | self.nfs_dir = dest | 829 | self.rootfs = dest |
| 832 | 830 | ||
| 833 | # Start the userspace NFS server | 831 | # Start the userspace NFS server |
| 834 | cmd = 'runqemu-export-rootfs start %s' % self.nfs_dir | 832 | cmd = 'runqemu-export-rootfs start %s' % self.rootfs |
| 835 | logger.info('Running %s...' % cmd) | 833 | logger.info('Running %s...' % cmd) |
| 836 | if subprocess.call(cmd, shell=True) != 0: | 834 | if subprocess.call(cmd, shell=True) != 0: |
| 837 | raise Exception('Failed to run %s' % cmd) | 835 | raise Exception('Failed to run %s' % cmd) |
| @@ -1005,7 +1003,7 @@ class BaseConfig(object): | |||
| 1005 | 1003 | ||
| 1006 | if self.fstype == 'nfs': | 1004 | if self.fstype == 'nfs': |
| 1007 | self.rootfs_options = '' | 1005 | self.rootfs_options = '' |
| 1008 | k_root = '/dev/nfs nfsroot=%s:%s,%s' % (self.nfs_server, self.nfs_dir, self.unfs_opts) | 1006 | k_root = '/dev/nfs nfsroot=%s:%s,%s' % (self.nfs_server, self.rootfs, self.unfs_opts) |
| 1009 | self.kernel_cmdline = 'root=%s rw highres=off' % k_root | 1007 | self.kernel_cmdline = 'root=%s rw highres=off' % k_root |
| 1010 | 1008 | ||
| 1011 | if self.fstype == 'none': | 1009 | if self.fstype == 'none': |
| @@ -1151,7 +1149,7 @@ class BaseConfig(object): | |||
| 1151 | 1149 | ||
| 1152 | if self.nfs_running: | 1150 | if self.nfs_running: |
| 1153 | logger.info("Shutting down the userspace NFS server...") | 1151 | logger.info("Shutting down the userspace NFS server...") |
| 1154 | cmd = "runqemu-export-rootfs stop %s" % self.nfs_dir | 1152 | cmd = "runqemu-export-rootfs stop %s" % self.rootfs |
| 1155 | logger.info('Running %s' % cmd) | 1153 | logger.info('Running %s' % cmd) |
| 1156 | subprocess.call(cmd, shell=True) | 1154 | subprocess.call(cmd, shell=True) |
| 1157 | 1155 | ||
| @@ -1160,9 +1158,9 @@ class BaseConfig(object): | |||
| 1160 | subprocess.call(cmd, shell=True) | 1158 | subprocess.call(cmd, shell=True) |
| 1161 | 1159 | ||
| 1162 | if self.clean_nfs_dir: | 1160 | if self.clean_nfs_dir: |
| 1163 | logger.info('Removing %s' % self.nfs_dir) | 1161 | logger.info('Removing %s' % self.rootfs) |
| 1164 | shutil.rmtree(self.nfs_dir) | 1162 | shutil.rmtree(self.rootfs) |
| 1165 | shutil.rmtree('%s.pseudo_state' % self.nfs_dir) | 1163 | shutil.rmtree('%s.pseudo_state' % self.rootfs) |
| 1166 | 1164 | ||
| 1167 | def load_bitbake_env(self, mach=None): | 1165 | def load_bitbake_env(self, mach=None): |
| 1168 | if self.bitbake_e: | 1166 | if self.bitbake_e: |
