UNPKG

demu

Version:

A raspian emulator based on docker and qemu

33 lines 1.74 kB
"use strict"; var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { return new (P || (P = Promise))(function (resolve, reject) { function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } function step(result) { result.done ? resolve(result.value) : new P(function (resolve) { resolve(result.value); }).then(fulfilled, rejected); } step((generator = generator.apply(thisArg, _arguments || [])).next()); }); }; Object.defineProperty(exports, "__esModule", { value: true }); const path = require("path"); const docker = require('../docker'); const DOCKER_IMAGE = 'taoyuan/demu'; function setup(args, options, logger) { return __awaiter(this, void 0, void 0, function* () { const { image } = options; const cmd = ['/bin/bash']; const volume = []; const imageFile = path.resolve(image); const imageName = path.basename(imageFile); const imageDir = path.dirname(imageFile); let subcmd = ['./run.sh', `images/${imageName}`, `'/bin/bash /vmnt/setup.sh'`]; cmd.push(...['-c', `"${subcmd.join(' ')}"`]); volume.push(`${imageDir}:/usr/rpi/images`); volume.push(`${path.resolve(__dirname, '../../scripts')}:/vmnt`); const argo = Object.assign({}, docker.DEFAULTS, { volume }); const dir = path.resolve(__dirname, '..', '..', 'docker'); yield docker.ensureImage(DOCKER_IMAGE, dir, { t: DOCKER_IMAGE }); yield docker.run(DOCKER_IMAGE, cmd, argo, { stdio: 'inherit' }); }); } exports.setup = setup; //# sourceMappingURL=setup.js.map