etcher-sdk 8.5.2 → 8.5.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -16,6 +16,16 @@ export declare const getPartitionBoundaries: (source: SourceDestination, partiti
16
16
  start: number;
17
17
  end: number | undefined;
18
18
  }>;
19
+ /**
20
+ * Calculate the size required for a partition to contain the contents of
21
+ * the provided source partition. On Windows, rounds up to nearest MB due to
22
+ * limitations of partitioning tools.
23
+ *
24
+ * @param {SourceDestination} source - Device containing requested partition
25
+ * @param {number} partitionIndex - 1-based index of requested partition
26
+ * @returns calculated size in bytes
27
+ */
28
+ export declare const calcRequiredPartitionSize: (source: SourceDestination, partitionIndex?: number) => Promise<number>;
19
29
  /**
20
30
  * Copy a partition, referenced by index, from an image file to a block device,
21
31
  * @param {File} source - source image for partition
@@ -1,6 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.getTargetBlockDevice = exports.copyPartitionFromImageToDevice = exports.getPartitionBoundaries = exports.findNewPartitions = void 0;
3
+ exports.getTargetBlockDevice = exports.copyPartitionFromImageToDevice = exports.calcRequiredPartitionSize = exports.getPartitionBoundaries = exports.findNewPartitions = void 0;
4
+ const process = require("process");
4
5
  const drivelist = require("drivelist");
5
6
  const source_destination_1 = require("../source-destination");
6
7
  /**
@@ -41,6 +42,31 @@ const getPartitionBoundaries = async (source, partitionIndex = 1) => {
41
42
  };
42
43
  };
43
44
  exports.getPartitionBoundaries = getPartitionBoundaries;
45
+ /**
46
+ * Calculate the size required for a partition to contain the contents of
47
+ * the provided source partition. On Windows, rounds up to nearest MB due to
48
+ * limitations of partitioning tools.
49
+ *
50
+ * @param {SourceDestination} source - Device containing requested partition
51
+ * @param {number} partitionIndex - 1-based index of requested partition
52
+ * @returns calculated size in bytes
53
+ */
54
+ const calcRequiredPartitionSize = async (source, partitionIndex = 1) => {
55
+ const sourceBoundaries = await (0, exports.getPartitionBoundaries)(source, partitionIndex);
56
+ const sourcePartitionSize = sourceBoundaries.end - sourceBoundaries.start;
57
+ const alignmentBuffer = 4096;
58
+ if (isNaN(sourcePartitionSize)) {
59
+ throw Error("Not able to find source partition size.");
60
+ }
61
+ if (process.platform == 'win32') {
62
+ let sizeMB = Math.ceil((sourcePartitionSize + alignmentBuffer) / (1024 * 1024));
63
+ return sizeMB * 1024 * 1024;
64
+ }
65
+ else {
66
+ return sourcePartitionSize + alignmentBuffer;
67
+ }
68
+ };
69
+ exports.calcRequiredPartitionSize = calcRequiredPartitionSize;
44
70
  /**
45
71
  * Copy a partition, referenced by index, from an image file to a block device,
46
72
  * @param {File} source - source image for partition
@@ -1 +1 @@
1
- {"version":3,"file":"helpers.js","sourceRoot":"","sources":["../../lib/migrator/helpers.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"helpers.js","sourceRoot":"","sources":["../../lib/migrator/helpers.ts"],"names":[],"mappings":"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"}
@@ -12,6 +12,7 @@ const util_1 = require("util");
12
12
  const child_process_1 = require("child_process");
13
13
  const execAsync = (0, util_1.promisify)(child_process_1.exec);
14
14
  const os_1 = require("os");
15
+ const fs_1 = require("fs");
15
16
  /** Determine if running as administrator. */
16
17
  async function isElevated() {
17
18
  // `fltmc` is available on WinPE, XP, Vista, 7, 8, and 10
@@ -28,6 +29,9 @@ async function isElevated() {
28
29
  }
29
30
  return true;
30
31
  }
32
+ function formatMB(bytes) {
33
+ return (bytes / (1024 * 1024)).toFixed(2);
34
+ }
31
35
  /**
32
36
  * @summary Sets up a UEFI based computer running Windows to switch to balenaOS, and then reboots to execute the switch.
33
37
  * !!! WARNING !!! Running this function will OVERWRITE AND DESTROY the operating system running on this computer.
@@ -41,9 +45,8 @@ async function isElevated() {
41
45
  const migrate = async (imagePath, windowsPartition = 'C', deviceName = '\\\\.\\PhysicalDrive0', efiLabel = 'M') => {
42
46
  console.log(`Migrate ${deviceName} with image ${imagePath}`);
43
47
  try {
44
- const FREE_SPACE_NEEDED_MB = 5120;
45
- const BOOT_PARTITION_SIZE_MB = 47;
46
- const ROOTA_PARTITION_SIZE_MB = 3850;
48
+ const BOOT_PARTITION_INDEX = 1;
49
+ const ROOTA_PARTITION_INDEX = 2;
47
50
  const BOOT_FILES_SOURCE_PATH = '/EFI/BOOT';
48
51
  const BOOT_FILES_TARGET_PATH = '/EFI/Boot';
49
52
  const REBOOT_DELAY_SEC = 10;
@@ -54,27 +57,38 @@ const migrate = async (imagePath, windowsPartition = 'C', deviceName = '\\\\.\\P
54
57
  if (!(await isElevated())) {
55
58
  throw Error("User is not administrator");
56
59
  }
57
- const unallocSpace = await diskpart.getUnallocatedSize(deviceName);
58
- console.log(`Found ${unallocSpace} KB not allocated on disk ${deviceName}`);
60
+ if (!(0, fs_1.existsSync)(imagePath)) {
61
+ throw Error(`Image ${imagePath} not found`);
62
+ }
63
+ // Determine required partition sizes and free space. Calculations are in
64
+ // units of bytes. However, on Windows, required sizes are rounded up to
65
+ // the nearest MB due to tool limitations.
66
+ const source = new source_destination_1.File({ path: imagePath });
67
+ const requiredBootSize = await (0, helpers_1.calcRequiredPartitionSize)(source, BOOT_PARTITION_INDEX);
68
+ console.log(`Require ${requiredBootSize} (${formatMB(requiredBootSize)} MB) for boot partition`);
69
+ const requiredRootASize = await (0, helpers_1.calcRequiredPartitionSize)(source, ROOTA_PARTITION_INDEX);
70
+ console.log(`Require ${requiredRootASize} (${formatMB(requiredRootASize)} MB) for rootA partition`);
71
+ const requiredFreeSize = requiredBootSize + requiredRootASize;
72
+ const unallocSpace = (await diskpart.getUnallocatedSize(deviceName)) * 1024;
73
+ console.log(`Found ${unallocSpace} (${formatMB(unallocSpace)} MB) not allocated on disk ${deviceName}`);
59
74
  // Shrink partition as needed to provide required unallocated space.
60
75
  // Shrink amount must be for *all* of required space to ensure it is contiguous.
61
76
  // IOW, don't assume the shrink will merge with any existing unallocated space.
62
- if (unallocSpace / 1024 < FREE_SPACE_NEEDED_MB) {
77
+ if (unallocSpace < requiredFreeSize) {
63
78
  // must force upper case
64
79
  const freeSpace = await checkDiskSpace(`${windowsPartition.toUpperCase()}:\\`);
65
- if ((freeSpace.free / 1024 / 1024) < FREE_SPACE_NEEDED_MB) {
66
- throw Error(`Need at least ${FREE_SPACE_NEEDED_MB} MB free on partition ${windowsPartition}`);
80
+ if (freeSpace.free < requiredFreeSize) {
81
+ throw Error(`Need at least ${requiredFreeSize} (${formatMB(requiredFreeSize)} MB) free on partition ${windowsPartition}`);
67
82
  }
68
- console.log(`Shrink partition ${windowsPartition} by ${FREE_SPACE_NEEDED_MB} MB`);
69
- await diskpart.shrinkPartition(windowsPartition, FREE_SPACE_NEEDED_MB);
83
+ console.log(`Shrink partition ${windowsPartition} by ${requiredFreeSize} (${formatMB(requiredFreeSize)} MB)`);
84
+ await diskpart.shrinkPartition(windowsPartition, requiredFreeSize / (1024 * 1024));
70
85
  }
71
86
  // create partitions
72
87
  // device from file, containing source partitions
73
- const source = new source_destination_1.File({ path: imagePath });
74
88
  const targetDevice = await (0, helpers_1.getTargetBlockDevice)(windowsPartition);
75
89
  const originalPartitions = await targetDevice.getPartitionTable();
76
90
  console.log("Create flasherBootPartition");
77
- await diskpart.createPartition(deviceName, BOOT_PARTITION_SIZE_MB);
91
+ await diskpart.createPartition(deviceName, requiredBootSize / (1024 * 1024));
78
92
  const afterFirstPartitions = await targetDevice.getPartitionTable();
79
93
  const firstNewPartition = (0, helpers_1.findNewPartitions)(originalPartitions, afterFirstPartitions);
80
94
  if (firstNewPartition.length !== 1) {
@@ -83,7 +97,7 @@ const migrate = async (imagePath, windowsPartition = 'C', deviceName = '\\\\.\\P
83
97
  const targetBootPartition = firstNewPartition[0];
84
98
  console.log(`Created new partition for boot at offset ${targetBootPartition.offset} with size ${targetBootPartition.size}`);
85
99
  console.log("Create flasherRootAPartition");
86
- await diskpart.createPartition(deviceName, ROOTA_PARTITION_SIZE_MB);
100
+ await diskpart.createPartition(deviceName, requiredRootASize / (1024 * 1024));
87
101
  const afterSecondPartitions = await targetDevice.getPartitionTable();
88
102
  const secondNewPartition = (0, helpers_1.findNewPartitions)(afterFirstPartitions, afterSecondPartitions);
89
103
  if (secondNewPartition.length !== 1) {
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../lib/migrator/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../lib/migrator/index.ts"],"names":[],"mappings":";;;AAAA,mCAAmC;AACnC,mDAAmD;AAEnD,wCAAwC;AACxC,8DAA6C;AAC7C,uCAKmB;AACnB,uDAA4D;AAC5D,yDAA6C;AAE7C,+BAAiC;AACjC,iDAAkD;AAClD,MAAM,SAAS,GAAG,IAAA,gBAAS,EAAC,oBAAS,CAAC,CAAC;AACvC,2BAA8C;AAC9C,2BAA+B;AAE/B,6CAA6C;AAC7C,KAAK,UAAU,UAAU;IACrB,yDAAyD;IACzD,mDAAmD;IACnD,0CAA0C;IAC1C,IAAI;QACA,MAAM,SAAS,CAAC,OAAO,CAAC,CAAC;KAC5B;IAAC,OAAO,KAAU,EAAE;QACjB,IAAI,KAAK,CAAC,IAAI,KAAK,cAAW,CAAC,KAAK,CAAC,KAAK,EAAE;YACxC,OAAO,KAAK,CAAC;SAChB;QACD,MAAM,KAAK,CAAC;KACf;IACD,OAAO,IAAI,CAAC;AAChB,CAAC;AAED,SAAS,QAAQ,CAAC,KAAa;IAC9B,OAAO,CAAC,KAAK,GAAG,CAAC,IAAI,GAAG,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAA;AAC1C,CAAC;AAED;;;;;;;;;GASG;AACI,MAAM,OAAO,GAAG,KAAK,EAC3B,SAAiB,EACjB,mBAA2B,GAAG,EAC9B,aAAqB,uBAAuB,EAC5C,WAAmB,GAAG,EACrB,EAAE;IACH,OAAO,CAAC,GAAG,CAAC,WAAW,UAAU,eAAe,SAAS,EAAE,CAAC,CAAC;IAC7D,IAAI;QACH,MAAM,oBAAoB,GAAG,CAAC,CAAC;QAC/B,MAAM,qBAAqB,GAAG,CAAC,CAAC;QAChC,MAAM,sBAAsB,GAAG,WAAW,CAAC;QAC3C,MAAM,sBAAsB,GAAG,WAAW,CAAC;QAC3C,MAAM,gBAAgB,GAAG,EAAE,CAAA;QAE3B,sBAAsB;QACtB,IAAI,OAAO,CAAC,QAAQ,KAAK,OAAO,EAAE;YACjC,MAAM,KAAK,CAAC,yBAAyB,CAAC,CAAC;SACvC;QACD,IAAI,CAAC,CAAC,MAAM,UAAU,EAAE,CAAC,EAAE;YAC1B,MAAM,KAAK,CAAC,2BAA2B,CAAC,CAAC;SACzC;QACD,IAAI,CAAC,IAAA,eAAU,EAAC,SAAS,CAAC,EAAE;YAC3B,MAAM,KAAK,CAAC,SAAS,SAAS,YAAY,CAAC,CAAC;SAC5C;QAED,yEAAyE;QACnE,wEAAwE;QACxE,0CAA0C;QAChD,MAAM,MAAM,GAAG,IAAI,yBAAI,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,CAAC;QAC7C,MAAM,gBAAgB,GAAG,MAAM,IAAA,mCAAyB,EAAC,MAAM,EAAE,oBAAoB,CAAC,CAAC;QACvF,OAAO,CAAC,GAAG,CAAC,WAAW,gBAAgB,KAAK,QAAQ,CAAC,gBAAgB,CAAC,yBAAyB,CAAC,CAAC;QACjG,MAAM,iBAAiB,GAAG,MAAM,IAAA,mCAAyB,EAAC,MAAM,EAAE,qBAAqB,CAAC,CAAC;QACzF,OAAO,CAAC,GAAG,CAAC,WAAW,iBAAiB,KAAK,QAAQ,CAAC,iBAAiB,CAAC,0BAA0B,CAAC,CAAC;QACpG,MAAM,gBAAgB,GAAG,gBAAgB,GAAG,iBAAiB,CAAC;QAE9D,MAAM,YAAY,GAAG,CAAC,MAAM,QAAQ,CAAC,kBAAkB,CAAC,UAAU,CAAC,CAAC,GAAG,IAAI,CAAC;QAC5E,OAAO,CAAC,GAAG,CAAC,SAAS,YAAY,KAAK,QAAQ,CAAC,YAAY,CAAC,8BAA8B,UAAU,EAAE,CAAC,CAAA;QAEvG,oEAAoE;QACpE,gFAAgF;QAC1E,+EAA+E;QACrF,IAAI,YAAY,GAAG,gBAAgB,EAAE;YACpC,wBAAwB;YACxB,MAAM,SAAS,GAAG,MAAM,cAAc,CAAC,GAAG,gBAAgB,CAAC,WAAW,EAAE,KAAK,CAAC,CAAA;YAC9E,IAAI,SAAS,CAAC,IAAI,GAAG,gBAAgB,EAAE;gBACtC,MAAM,KAAK,CAAC,iBAAiB,gBAAgB,KAAK,QAAQ,CAAC,gBAAgB,CAAC,0BAA0B,gBAAgB,EAAE,CAAC,CAAA;aACzH;YACD,OAAO,CAAC,GAAG,CAAC,oBAAoB,gBAAgB,OAAO,gBAAgB,KAAK,QAAQ,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC;YAC9G,MAAM,QAAQ,CAAC,eAAe,CAAC,gBAAgB,EAAE,gBAAgB,GAAG,CAAC,IAAI,GAAG,IAAI,CAAC,CAAC,CAAC;SACnF;QAED,oBAAoB;QACpB,iDAAiD;QACjD,MAAM,YAAY,GAAG,MAAM,IAAA,8BAAoB,EAAC,gBAAgB,CAAC,CAAA;QACjE,MAAM,kBAAkB,GAAG,MAAM,YAAY,CAAC,iBAAiB,EAAE,CAAA;QAEjE,OAAO,CAAC,GAAG,CAAC,6BAA6B,CAAC,CAAC;QAC3C,MAAM,QAAQ,CAAC,eAAe,CAAC,UAAU,EAAE,gBAAgB,GAAG,CAAC,IAAI,GAAG,IAAI,CAAC,CAAC,CAAC;QAC7E,MAAM,oBAAoB,GAAG,MAAM,YAAY,CAAC,iBAAiB,EAAE,CAAA;QACnE,MAAM,iBAAiB,GAAG,IAAA,2BAAiB,EAAC,kBAAkB,EAAE,oBAAoB,CAAC,CAAC;QACtF,IAAI,iBAAiB,CAAC,MAAM,KAAK,CAAC,EAAE;YACnC,MAAM,KAAK,CAAC,SAAS,iBAAiB,CAAC,MAAM,kDAAkD,CAAC,CAAA;SAChG;QACD,MAAM,mBAAmB,GAAG,iBAAiB,CAAC,CAAC,CAAC,CAAC;QACjD,OAAO,CAAC,GAAG,CAAC,4CAA4C,mBAAmB,CAAC,MAAM,cAAc,mBAAmB,CAAC,IAAI,EAAE,CAAC,CAAC;QAE5H,OAAO,CAAC,GAAG,CAAC,8BAA8B,CAAC,CAAC;QAC5C,MAAM,QAAQ,CAAC,eAAe,CAAC,UAAU,EAAE,iBAAiB,GAAG,CAAC,IAAI,GAAG,IAAI,CAAC,CAAC,CAAC;QAC9E,MAAM,qBAAqB,GAAG,MAAM,YAAY,CAAC,iBAAiB,EAAE,CAAA;QACpE,MAAM,kBAAkB,GAAG,IAAA,2BAAiB,EAAC,oBAAoB,EAAE,qBAAqB,CAAC,CAAA;QACzF,IAAI,kBAAkB,CAAC,MAAM,KAAK,CAAC,EAAE;YACpC,MAAM,KAAK,CAAC,SAAS,kBAAkB,CAAC,MAAM,mDAAmD,CAAC,CAAA;SAClG;QACD,MAAM,oBAAoB,GAAG,kBAAkB,CAAC,CAAC,CAAC,CAAC;QACnD,OAAO,CAAC,GAAG,CAAC,4CAA4C,oBAAoB,CAAC,MAAM,cAAc,oBAAoB,CAAC,IAAI,EAAE,CAAC,CAAC;QAE9H,sBAAsB;QACtB,OAAO,CAAC,GAAG,CAAC,8CAA8C,CAAC,CAAC;QAC5D,MAAM,IAAA,wCAA8B,EAAC,MAAM,EAAE,CAAC,EAAE,YAAY,EAAE,mBAAmB,CAAC,MAAM,CAAC,CAAC;QAC1F,OAAO,CAAC,GAAG,CAAC,+CAA+C,CAAC,CAAC;QAC7D,MAAM,IAAA,wCAA8B,EAAC,MAAM,EAAE,CAAC,EAAE,YAAY,EAAE,oBAAoB,CAAC,MAAM,CAAC,CAAC;QAE3F,+CAA+C;QAC/C,OAAO,CAAC,GAAG,CAAC,kEAAkE,CAAC,CAAC;QAChF,0BAAW,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;QAC/B,MAAM,IAAA,yCAAuB,EAAC,SAAS,EAAE,CAAC,EAAE,sBAAsB,EAAE,GAAG,QAAQ,aAAR,QAAQ,cAAR,QAAQ,GAAI,GAAG,IAAI,sBAAsB,EAAE,CAAC,CAAC;QACpH,OAAO,CAAC,GAAG,CAAC,8BAA8B,CAAC,CAAC;QAE5C,gBAAgB;QAChB,OAAO,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC;QAC7B,MAAM,aAAa,GAAG,MAAM,0BAAW,CAAC,OAAO,EAAE,CAAC;QAClD,OAAO,CAAC,GAAG,CAAC,gBAAgB,EAAE,aAAa,CAAC,CAAA;QAE5C,SAAS;QACT,OAAO,CAAC,GAAG,CAAC,qCAAqC,CAAC,CAAC;QACnD,0BAAW,CAAC,QAAQ,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAAC;KAE9C;IAAC,OAAO,KAAK,EAAE;QACf,OAAO,CAAC,GAAG,CAAC,+BAA+B,EAAE,KAAK,CAAC,CAAC;QACpD,OAAO;KACP;AACF,CAAC,CAAC;AArGW,QAAA,OAAO,WAqGlB"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "etcher-sdk",
3
- "version": "8.5.2",
3
+ "version": "8.5.3",
4
4
  "description": "Etcher SDK",
5
5
  "author": "Balena Ltd <hello@balena.io>",
6
6
  "main": "build/index.js",
@@ -105,6 +105,6 @@
105
105
  "node": ">=16"
106
106
  },
107
107
  "versionist": {
108
- "publishedAt": "2023-04-09T15:04:46.755Z"
108
+ "publishedAt": "2023-04-13T17:50:47.201Z"
109
109
  }
110
110
  }