Tools for building the sdcard image
This commit is contained in:
42
scripts/create-sdcard-image.js
Executable file
42
scripts/create-sdcard-image.js
Executable file
@@ -0,0 +1,42 @@
|
||||
#!/usr/bin/env node
|
||||
|
||||
const inquirer = require("inquirer");
|
||||
const { statSync } = require("fs");
|
||||
const { runCommand, initSignalHandlers, assertEffectiveRoot } = require("./util");
|
||||
|
||||
const IMAGE_FILENAME = "onefinity-controller.img";
|
||||
|
||||
initSignalHandlers();
|
||||
main();
|
||||
|
||||
async function main() {
|
||||
assertEffectiveRoot();
|
||||
|
||||
const { uid } = statSync(".");
|
||||
|
||||
const devices = runCommand("df -T msdos")
|
||||
.split("\n")
|
||||
.map(line => {
|
||||
const [ disk ] = line.split(/\s+/);
|
||||
return {
|
||||
name: line,
|
||||
value: {
|
||||
disk: disk,
|
||||
device: disk.replace(/s\d$/, "")
|
||||
}
|
||||
};
|
||||
});
|
||||
|
||||
const { disk: { disk, device } } = await inquirer.prompt({
|
||||
type: "list",
|
||||
name: "disk",
|
||||
choices: devices,
|
||||
message: `Which device is the sdcard?`
|
||||
});
|
||||
|
||||
runCommand(`diskutil unmount ${disk}`);
|
||||
runCommand(`dd if=${device} of=${IMAGE_FILENAME} status=progress`, {
|
||||
stdio: "inherit"
|
||||
});
|
||||
runCommand(`chown ${uid} 1f.img`);
|
||||
}
|
||||
Reference in New Issue
Block a user