diff --git a/lib/gui/app/modules/drive-scanner.js b/lib/gui/app/modules/drive-scanner.js index 6bc9e516..9cc307d8 100644 --- a/lib/gui/app/modules/drive-scanner.js +++ b/lib/gui/app/modules/drive-scanner.js @@ -22,6 +22,7 @@ const fs = Bluebird.promisifyAll(require('fs')) const path = require('path') const settings = require('../models/settings') const SDK = require('../../../sdk') +const permissions = require('../../../shared/permissions') /** * @summary The Etcher "blobs" directory path @@ -51,4 +52,15 @@ const scanner = SDK.createScanner({ } }) +// NOTE: Enable USBBoot on Linux if run as root +permissions.isElevated().then((elevated) => { + if (elevated && process.platform === 'linux') { + const UsbbootAdapter = require('../../../sdk/adapters/usbboot') + const adapter = new UsbbootAdapter() + scanner.stop() + scanner.subscribe(adapter) + scanner.start() + } +}).catch(_.noop) + module.exports = scanner