balena-cli
Version:
The official balena Command Line Interface
34 lines • 1.42 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.BalenaPartition = void 0;
exports.explorePartition = explorePartition;
const imagefs = require("balena-image-fs");
const filedisk = require("file-disk");
const partitioninfo_1 = require("partitioninfo");
var BalenaPartition;
(function (BalenaPartition) {
BalenaPartition["BOOT"] = "boot";
BalenaPartition["ROOTA"] = "rootA";
BalenaPartition["ROOTB"] = "rootB";
BalenaPartition["STATE"] = "state";
BalenaPartition["DATA"] = "data";
})(BalenaPartition || (exports.BalenaPartition = BalenaPartition = {}));
async function explorePartition(imagePath, partitionId, exploreFn) {
return await filedisk.withOpenFile(imagePath, 'r', async (handle) => {
const disk = new filedisk.FileDisk(handle, true, false, false);
const partitionInfo = await (0, partitioninfo_1.getPartitions)(disk, {
includeExtended: false,
getLogical: true,
});
const findResult = await imagefs.findPartition(disk, partitionInfo, [
`resin-${partitionId}`,
`flash-${partitionId}`,
`balena-${partitionId}`,
]);
if (findResult == null) {
throw new Error(`Can't find partition for ${partitionId}`);
}
return await imagefs.interact(disk, findResult.index, exploreFn);
});
}
//# sourceMappingURL=image-contents.js.map