balena-image-fs 7.4.0-build-get-filesystem-label-e43743f757427b7c05603e81c555b66264fa7020-1 → 7.4.0-build-get-filesystem-label-7529f28d616619575443d6336a68be0a8fa9558c-1
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.
- package/CHANGELOG.md +1 -1
- package/build/fsLabel.d.ts +3 -3
- package/build/fsLabel.js +46 -21
- package/build/fsLabel.js.map +1 -1
- package/build/index.d.ts +1 -1
- package/build/index.js +2 -2
- package/build/index.js.map +1 -1
- package/package.json +2 -2
package/CHANGELOG.md
CHANGED
|
@@ -4,7 +4,7 @@ All notable changes to this project will be documented in this file
|
|
|
4
4
|
automatically by Versionist. DO NOT EDIT THIS FILE MANUALLY!
|
|
5
5
|
This project adheres to [Semantic Versioning](http://semver.org/).
|
|
6
6
|
|
|
7
|
-
## 7.4.0 - 2025-01-
|
|
7
|
+
## 7.4.0 - 2025-01-18
|
|
8
8
|
|
|
9
9
|
* Add getLabel() to retrieve filesystem label [Ken Bannister]
|
|
10
10
|
|
package/build/fsLabel.d.ts
CHANGED
|
@@ -2,7 +2,7 @@ import { Disk } from 'file-disk';
|
|
|
2
2
|
import { GPTPartition, MBRPartition } from 'partitioninfo';
|
|
3
3
|
import { TypedError } from 'typed-error';
|
|
4
4
|
/**
|
|
5
|
-
* @summary An error to describe why
|
|
5
|
+
* @summary An error to describe why getFsLabel() failed to find a filesystem label.
|
|
6
6
|
*/
|
|
7
7
|
export declare class LabelNotFound extends TypedError {
|
|
8
8
|
constructor(partitionIndex: number, description: string);
|
|
@@ -20,9 +20,9 @@ export declare class LabelNotFound extends TypedError {
|
|
|
20
20
|
* const disk = new filedisk.FileDisk(handle);
|
|
21
21
|
* const info = partitioninfo.getPartitions(disk);
|
|
22
22
|
* for (const partition of info.partitions) {
|
|
23
|
-
* const label = await
|
|
23
|
+
* const label = await getFsLabel(disk, partition);
|
|
24
24
|
* console.log(`${partition.index}: ${label}`);
|
|
25
25
|
* }
|
|
26
26
|
* }
|
|
27
27
|
*/
|
|
28
|
-
export declare function
|
|
28
|
+
export declare function getFsLabel(disk: Disk, partition: GPTPartition | MBRPartition): Promise<string>;
|
package/build/fsLabel.js
CHANGED
|
@@ -1,14 +1,39 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.
|
|
3
|
+
exports.getFsLabel = exports.LabelNotFound = void 0;
|
|
4
4
|
const typed_error_1 = require("typed-error");
|
|
5
5
|
// GPT partition GUIDs
|
|
6
6
|
// https://en.wikipedia.org/wiki/GUID_Partition_Table#Partition_type_GUIDs
|
|
7
7
|
const GUID_EFI_SYSTEM = 'C12A7328-F81F-11D2-BA4B-00A0C93EC93B';
|
|
8
8
|
const GUID_MS_BASIC_DATA = 'EBD0A0A2-B9E5-4433-87C0-68B6B72699C7';
|
|
9
9
|
const GUID_LINUX_NATIVE = '0FC63DAF-8483-4772-8E79-3D69D8477DE4';
|
|
10
|
+
// Maximum length to read among various filesystem metadata. Change as needed
|
|
11
|
+
// to support additional filesystems.
|
|
12
|
+
const FS_METADATA_MAXLEN = 0x100;
|
|
13
|
+
// MBR partition type IDs
|
|
14
|
+
// https://en.wikipedia.org/wiki/Partition_type
|
|
15
|
+
const PARTID_FAT32_CHS = 0xB;
|
|
16
|
+
const PARTID_FAT32_LBA = 0xC;
|
|
17
|
+
const PARTID_FAT16_LBA = 0xE;
|
|
18
|
+
const PARTID_LINUX_NATIVE = 0x83;
|
|
19
|
+
// FAT constants
|
|
20
|
+
// https://en.wikipedia.org/wiki/Design_of_the_FAT_file_system#Extended_BIOS_Parameter_Block
|
|
21
|
+
// https://en.wikipedia.org/wiki/Design_of_the_FAT_file_system#FAT32_Extended_BIOS_Parameter_Block
|
|
22
|
+
const FAT_LABEL_MAXLEN = 11;
|
|
23
|
+
const FAT_MAGIC_VALUE = 0x29;
|
|
24
|
+
const FAT16_MAGIC_OFFSET = 0x26;
|
|
25
|
+
const FAT16_LABEL_OFFSET = 0x2B;
|
|
26
|
+
const FAT32_MAGIC_OFFSET = 0x42;
|
|
27
|
+
const FAT32_LABEL_OFFSET = 0x47;
|
|
28
|
+
// EXT4 constants
|
|
29
|
+
// https://www.kernel.org/doc/html/latest/filesystems/ext4/index.html
|
|
30
|
+
const EXT4_SUPERBLOCK_OFFSET = 0x400;
|
|
31
|
+
const EXT4_MAGIC_OFFSET = 0x38;
|
|
32
|
+
const EXT4_MAGIC_VALUE_LE = 0xEF53;
|
|
33
|
+
const EXT4_LABEL_OFFSET = 0x78;
|
|
34
|
+
const EXT4_LABEL_MAXLEN = 16;
|
|
10
35
|
/**
|
|
11
|
-
* @summary An error to describe why
|
|
36
|
+
* @summary An error to describe why getFsLabel() failed to find a filesystem label.
|
|
12
37
|
*/
|
|
13
38
|
class LabelNotFound extends typed_error_1.TypedError {
|
|
14
39
|
constructor(partitionIndex, description) {
|
|
@@ -29,17 +54,17 @@ exports.LabelNotFound = LabelNotFound;
|
|
|
29
54
|
* const disk = new filedisk.FileDisk(handle);
|
|
30
55
|
* const info = partitioninfo.getPartitions(disk);
|
|
31
56
|
* for (const partition of info.partitions) {
|
|
32
|
-
* const label = await
|
|
57
|
+
* const label = await getFsLabel(disk, partition);
|
|
33
58
|
* console.log(`${partition.index}: ${label}`);
|
|
34
59
|
* }
|
|
35
60
|
* }
|
|
36
61
|
*/
|
|
37
|
-
async function
|
|
62
|
+
async function getFsLabel(disk, partition) {
|
|
38
63
|
const isGpt = 'guid' in partition;
|
|
39
64
|
const isMbr = !isGpt;
|
|
40
|
-
//
|
|
41
|
-
|
|
42
|
-
|
|
65
|
+
// Use a buffer capable of reading any filesystem metadata. Defer actual
|
|
66
|
+
// read until select filesystem.
|
|
67
|
+
let buf = Buffer.alloc(FS_METADATA_MAXLEN);
|
|
43
68
|
let labelOffset = 0;
|
|
44
69
|
let maxLength = 0;
|
|
45
70
|
// A filesystem places the label in a certain position in its metadata. So
|
|
@@ -47,37 +72,37 @@ async function getLabel(disk, partition) {
|
|
|
47
72
|
// by checking the partition type (MBR) or GUID (GPT) for the containing partition.
|
|
48
73
|
// There are two broad categories -- FAT types and Linux native types. Finally
|
|
49
74
|
// we confirm the presence of signature bytes within the filesystem metadata.
|
|
50
|
-
|
|
51
|
-
const mbrFatTypes = [0xB, 0xC, 0xE];
|
|
75
|
+
const mbrFatTypes = [PARTID_FAT32_CHS, PARTID_FAT32_LBA, PARTID_FAT16_LBA];
|
|
52
76
|
const gptFatTypes = [GUID_EFI_SYSTEM, GUID_MS_BASIC_DATA];
|
|
53
77
|
let foundPartType = false;
|
|
54
78
|
let foundLabel = false;
|
|
55
79
|
if (isMbr && mbrFatTypes.some(ptype => partition.type === ptype)
|
|
56
80
|
|| isGpt && gptFatTypes.some(ptype => partition.type === ptype)) {
|
|
57
81
|
foundPartType = true;
|
|
58
|
-
maxLength =
|
|
82
|
+
maxLength = FAT_LABEL_MAXLEN;
|
|
83
|
+
await disk.read(buf, 0, buf.length, partition.offset);
|
|
59
84
|
// FAT16
|
|
60
|
-
if (buf.readUInt8(
|
|
61
|
-
labelOffset =
|
|
85
|
+
if (buf.readUInt8(FAT16_MAGIC_OFFSET) === FAT_MAGIC_VALUE) {
|
|
86
|
+
labelOffset = FAT16_LABEL_OFFSET;
|
|
62
87
|
foundLabel = true;
|
|
63
88
|
// FAT32
|
|
64
89
|
}
|
|
65
|
-
else if (buf.readUInt8(
|
|
66
|
-
labelOffset =
|
|
90
|
+
else if (buf.readUInt8(FAT32_MAGIC_OFFSET) === FAT_MAGIC_VALUE) {
|
|
91
|
+
labelOffset = FAT32_LABEL_OFFSET;
|
|
67
92
|
foundLabel = true;
|
|
68
93
|
}
|
|
69
94
|
}
|
|
70
|
-
// Linux filesytem of some kind
|
|
95
|
+
// Linux filesytem of some kind; execting ext2+
|
|
71
96
|
const gptLinuxTypes = [GUID_LINUX_NATIVE, GUID_MS_BASIC_DATA];
|
|
72
97
|
if (!foundLabel
|
|
73
|
-
&& ((isMbr && partition.type ===
|
|
98
|
+
&& ((isMbr && partition.type === PARTID_LINUX_NATIVE)
|
|
74
99
|
|| (isGpt && gptLinuxTypes.some(ptype => partition.type === ptype)))) {
|
|
75
100
|
foundPartType = true;
|
|
76
|
-
maxLength =
|
|
101
|
+
maxLength = EXT4_LABEL_MAXLEN;
|
|
77
102
|
// ext2+; reload buffer within superblock
|
|
78
|
-
await disk.read(buf, 0, buf.length, partition.offset +
|
|
79
|
-
if (buf.readUInt16LE(
|
|
80
|
-
labelOffset =
|
|
103
|
+
await disk.read(buf, 0, buf.length, partition.offset + EXT4_SUPERBLOCK_OFFSET);
|
|
104
|
+
if (buf.readUInt16LE(EXT4_MAGIC_OFFSET) === EXT4_MAGIC_VALUE_LE) {
|
|
105
|
+
labelOffset = EXT4_LABEL_OFFSET;
|
|
81
106
|
foundLabel = true;
|
|
82
107
|
}
|
|
83
108
|
}
|
|
@@ -102,5 +127,5 @@ async function getLabel(disk, partition) {
|
|
|
102
127
|
}
|
|
103
128
|
return buf.toString('utf8', labelOffset, labelOffset + i).trim();
|
|
104
129
|
}
|
|
105
|
-
exports.
|
|
130
|
+
exports.getFsLabel = getFsLabel;
|
|
106
131
|
//# sourceMappingURL=fsLabel.js.map
|
package/build/fsLabel.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fsLabel.js","sourceRoot":"","sources":["../lib/fsLabel.ts"],"names":[],"mappings":";;;AAEA,6CAAyC;AAEzC,sBAAsB;AACtB,0EAA0E;AAC1E,MAAM,eAAe,GAAG,sCAAsC,CAAC;AAC/D,MAAM,kBAAkB,GAAG,sCAAsC,CAAC;AAClE,MAAM,iBAAiB,GAAG,sCAAsC,CAAC;AAEjE;;GAEG;AACH,MAAa,aAAc,SAAQ,wBAAU;IAC5C,YAAY,cAAsB,EAAE,WAAmB;QACtD,KAAK,CAAC,oBAAoB,cAAc,KAAK,WAAW,EAAE,CAAC,CAAC;IAC7D,CAAC;CACD;AAJD,sCAIC;AAED;;;;;;;;;;;;;;;;;GAiBG;AACI,KAAK,UAAU,
|
|
1
|
+
{"version":3,"file":"fsLabel.js","sourceRoot":"","sources":["../lib/fsLabel.ts"],"names":[],"mappings":"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"}
|
package/build/index.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/// <reference types="node" />
|
|
2
2
|
import * as Fs from 'fs';
|
|
3
3
|
import { Disk } from 'file-disk';
|
|
4
|
-
export {
|
|
4
|
+
export { getFsLabel, LabelNotFound } from './fsLabel';
|
|
5
5
|
/**
|
|
6
6
|
* @summary Run a function with a node fs like interface for a partition
|
|
7
7
|
*
|
package/build/index.js
CHANGED
|
@@ -15,7 +15,7 @@ See the License for the specific language governing permissions and
|
|
|
15
15
|
limitations under the License.
|
|
16
16
|
*/
|
|
17
17
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
18
|
-
exports.interact = exports.LabelNotFound = exports.
|
|
18
|
+
exports.interact = exports.LabelNotFound = exports.getFsLabel = void 0;
|
|
19
19
|
/**
|
|
20
20
|
* @module imagefs
|
|
21
21
|
*/
|
|
@@ -27,7 +27,7 @@ const file_disk_1 = require("file-disk");
|
|
|
27
27
|
const partitioninfo = require("partitioninfo");
|
|
28
28
|
const typed_error_1 = require("typed-error");
|
|
29
29
|
var fsLabel_1 = require("./fsLabel");
|
|
30
|
-
Object.defineProperty(exports, "
|
|
30
|
+
Object.defineProperty(exports, "getFsLabel", { enumerable: true, get: function () { return fsLabel_1.getFsLabel; } });
|
|
31
31
|
Object.defineProperty(exports, "LabelNotFound", { enumerable: true, get: function () { return fsLabel_1.LabelNotFound; } });
|
|
32
32
|
class MountError extends typed_error_1.TypedError {
|
|
33
33
|
}
|
package/build/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../lib/index.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;EAcE;;;AAEF;;GAEG;AAEH,iCAAiC;AACjC,+BAA+B;AAC/B,yBAAyB;AACzB,+BAAiC;AACjC,yCAAyD;AACzD,+CAA+C;AAC/C,6CAAyC;AAEzC,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../lib/index.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "balena-image-fs",
|
|
3
|
-
"version": "7.4.0-build-get-filesystem-label-
|
|
3
|
+
"version": "7.4.0-build-get-filesystem-label-7529f28d616619575443d6336a68be0a8fa9558c-1",
|
|
4
4
|
"description": "Image filesystem manipulation utilities",
|
|
5
5
|
"main": "build/index.js",
|
|
6
6
|
"homepage": "https://github.com/balena-io-modules/balena-image-fs",
|
|
@@ -59,6 +59,6 @@
|
|
|
59
59
|
"node": ">=16"
|
|
60
60
|
},
|
|
61
61
|
"versionist": {
|
|
62
|
-
"publishedAt": "2025-01-
|
|
62
|
+
"publishedAt": "2025-01-18T18:31:06.794Z"
|
|
63
63
|
}
|
|
64
64
|
}
|