penguins-eggs 9.8.1 → 10.0.0
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/.oclif.manifest.json +242 -242
- package/README.md +43 -40
- package/bin/dev.cmd +1 -1
- package/bin/dev.js +6 -6
- package/bin/run.js +3 -5
- package/conf/tools.yaml +1 -1
- package/dist/classes/bleach.d.ts +37 -0
- package/dist/classes/bleach.js +43 -91
- package/dist/classes/cfs.d.ts +17 -0
- package/dist/classes/cfs.js +15 -12
- package/dist/classes/compressors.d.ts +53 -0
- package/dist/classes/compressors.js +42 -47
- package/dist/classes/daddy.d.ts +18 -0
- package/dist/classes/daddy.js +92 -98
- package/dist/classes/distro.d.ts +26 -0
- package/dist/classes/distro.js +36 -37
- package/dist/classes/families/archlinux.d.ts +61 -0
- package/dist/classes/families/archlinux.js +52 -107
- package/dist/classes/families/debian.d.ts +65 -0
- package/dist/classes/families/debian.js +67 -142
- package/dist/classes/families/fedora.d.ts +52 -0
- package/dist/classes/families/fedora.js +42 -98
- package/dist/classes/families/mockup.d.ts +60 -0
- package/dist/classes/families/mockup.js +27 -46
- package/dist/classes/families/suse.d.ts +52 -0
- package/dist/classes/families/suse.js +44 -96
- package/dist/classes/incubation/branding.d.ts +17 -0
- package/dist/classes/incubation/branding.js +32 -36
- package/dist/classes/incubation/distros/bionic.d.ts +32 -0
- package/dist/classes/incubation/distros/bionic.js +11 -16
- package/dist/classes/incubation/distros/buster.d.ts +32 -0
- package/dist/classes/incubation/distros/buster.js +13 -18
- package/dist/classes/incubation/distros/focal.d.ts +32 -0
- package/dist/classes/incubation/distros/focal.js +11 -16
- package/dist/classes/incubation/distros/jessie.d.ts +31 -0
- package/dist/classes/incubation/distros/jessie.js +8 -13
- package/dist/classes/incubation/distros/rolling.d.ts +32 -0
- package/dist/classes/incubation/distros/rolling.js +11 -16
- package/dist/classes/incubation/fisherman-helper/displaymanager.d.ts +11 -0
- package/dist/classes/incubation/fisherman-helper/displaymanager.js +8 -9
- package/dist/classes/incubation/fisherman-helper/packages.d.ts +20 -0
- package/dist/classes/incubation/fisherman-helper/packages.js +17 -20
- package/dist/classes/incubation/fisherman-helper/settings.d.ts +15 -0
- package/dist/classes/incubation/fisherman-helper/settings.js +30 -28
- package/dist/classes/incubation/fisherman.d.ts +77 -0
- package/dist/classes/incubation/fisherman.js +135 -131
- package/dist/classes/incubation/incubator.d.ts +40 -0
- package/dist/classes/incubation/incubator.js +90 -89
- package/dist/classes/incubation/installer.d.ts +13 -0
- package/dist/classes/incubation/installer.js +27 -12
- package/dist/classes/initrd.d.ts +41 -0
- package/dist/classes/initrd.js +40 -42
- package/dist/classes/keyboards.d.ts +50 -0
- package/dist/classes/keyboards.js +108 -105
- package/dist/classes/locales.d.ts +21 -0
- package/dist/classes/locales.js +30 -34
- package/dist/classes/n8.d.ts +17 -0
- package/dist/classes/n8.js +16 -22
- package/dist/classes/network.d.ts +37 -0
- package/dist/classes/network.js +14 -18
- package/dist/classes/ovary.d.ts +205 -0
- package/dist/classes/ovary.js +1281 -1294
- package/dist/classes/pacman.d.ts +149 -0
- package/dist/classes/pacman.js +344 -418
- package/dist/classes/pve-live.d.ts +17 -0
- package/dist/classes/pve-live.js +22 -24
- package/dist/classes/pxe.d.ts +65 -0
- package/dist/classes/pxe.js +204 -206
- package/dist/classes/settings.d.ts +53 -0
- package/dist/classes/settings.js +91 -94
- package/dist/classes/sources_list.d.ts +28 -0
- package/dist/classes/sources_list.js +35 -39
- package/dist/classes/systemctl.d.ts +47 -0
- package/dist/classes/systemctl.js +34 -38
- package/dist/classes/tailor.d.ts +46 -0
- package/dist/classes/tailor.js +223 -239
- package/dist/classes/tools.d.ts +30 -0
- package/dist/classes/tools.js +18 -22
- package/dist/classes/users.d.ts +28 -0
- package/dist/classes/users.js +18 -22
- package/dist/classes/utils.d.ts +318 -0
- package/dist/classes/utils.js +78 -78
- package/dist/classes/xdg.d.ts +45 -0
- package/dist/classes/xdg.js +129 -133
- package/dist/classes/yolk.d.ts +33 -0
- package/dist/classes/yolk.js +53 -57
- package/dist/commands/adapt.d.ts +17 -0
- package/dist/commands/adapt.js +17 -21
- package/dist/commands/analyze.d.ts +26 -0
- package/dist/commands/analyze.js +56 -67
- package/dist/commands/calamares.d.ts +29 -0
- package/dist/commands/calamares.js +44 -48
- package/dist/commands/config.d.ts +36 -0
- package/dist/commands/config.js +115 -137
- package/dist/commands/cuckoo.d.ts +16 -0
- package/dist/commands/cuckoo.js +20 -24
- package/dist/commands/dad.d.ts +19 -0
- package/dist/commands/dad.js +20 -24
- package/dist/commands/export/deb.d.ts +19 -0
- package/dist/commands/export/deb.js +19 -23
- package/dist/commands/export/iso.d.ts +19 -0
- package/dist/commands/export/iso.js +19 -23
- package/dist/commands/install.d.ts +37 -0
- package/dist/commands/install.js +46 -50
- package/dist/commands/kill.d.ts +24 -0
- package/dist/commands/kill.js +25 -29
- package/dist/commands/mom.d.ts +16 -0
- package/dist/commands/mom.js +16 -18
- package/dist/commands/produce.d.ts +33 -0
- package/dist/commands/produce.js +64 -66
- package/dist/commands/status.d.ts +23 -0
- package/dist/commands/status.js +10 -14
- package/dist/commands/syncfrom.d.ts +45 -0
- package/dist/commands/syncfrom.js +85 -89
- package/dist/commands/syncto.d.ts +40 -0
- package/dist/commands/syncto.js +91 -95
- package/dist/commands/tools/clean.d.ts +18 -0
- package/dist/commands/tools/clean.js +17 -21
- package/dist/commands/tools/ppa.d.ts +26 -0
- package/dist/commands/tools/ppa.js +41 -45
- package/dist/commands/tools/skel.d.ts +18 -0
- package/dist/commands/tools/skel.js +22 -26
- package/dist/commands/tools/stat.d.ts +31 -0
- package/dist/commands/tools/stat.js +15 -19
- package/dist/commands/tools/yolk.d.ts +24 -0
- package/dist/commands/tools/yolk.js +19 -23
- package/dist/commands/update.d.ts +47 -0
- package/dist/commands/update.js +62 -66
- package/dist/commands/wardrobe/get.d.ts +23 -0
- package/dist/commands/wardrobe/get.js +19 -23
- package/dist/commands/wardrobe/list.d.ts +24 -0
- package/dist/commands/wardrobe/list.js +61 -60
- package/dist/commands/wardrobe/show.d.ts +25 -0
- package/dist/commands/wardrobe/show.js +50 -47
- package/dist/commands/wardrobe/wear.d.ts +26 -0
- package/dist/commands/wardrobe/wear.js +32 -36
- package/dist/components/finished.d.ts +15 -0
- package/dist/components/finished.js +37 -42
- package/dist/components/information.d.ts +8 -0
- package/dist/components/information.js +155 -0
- package/dist/components/install.d.ts +15 -0
- package/dist/components/install.js +31 -35
- package/dist/components/keyboard.d.ts +16 -0
- package/dist/components/keyboard.js +37 -40
- package/dist/components/location.d.ts +16 -0
- package/dist/components/location.js +38 -38
- package/dist/components/network.d.ts +19 -0
- package/dist/components/network.js +47 -48
- package/dist/components/partitions.d.ts +16 -0
- package/dist/components/partitions.js +47 -51
- package/dist/components/steps.d.ts +13 -0
- package/dist/components/steps.js +148 -0
- package/dist/components/summary.d.ts +24 -0
- package/dist/components/summary.js +50 -54
- package/dist/components/title.d.ts +12 -0
- package/dist/components/title.js +35 -0
- package/dist/components/users.d.ts +24 -0
- package/dist/components/users.js +43 -43
- package/dist/components/welcome.d.ts +13 -0
- package/dist/components/welcome.js +37 -38
- package/dist/index.d.ts +8 -0
- package/dist/index.js +8 -5
- package/dist/interfaces/i-addons.d.ts +13 -0
- package/dist/interfaces/i-addons.js +8 -3
- package/dist/interfaces/i-analyze.d.ts +17 -0
- package/dist/interfaces/i-analyze.js +7 -10
- package/dist/interfaces/i-app.d.ts +14 -0
- package/dist/interfaces/i-app.js +8 -2
- package/dist/interfaces/i-branding.d.ts +36 -0
- package/dist/interfaces/i-branding.js +8 -2
- package/dist/interfaces/i-calamares-partition.d.ts +18 -0
- package/dist/interfaces/i-calamares-partition.js +3 -4
- package/dist/interfaces/i-config-tools.d.ts +18 -0
- package/dist/interfaces/i-config-tools.js +8 -2
- package/dist/interfaces/i-devices.d.ts +20 -0
- package/dist/interfaces/i-devices.js +8 -2
- package/dist/interfaces/i-distro.d.ts +27 -0
- package/dist/interfaces/i-distro.js +3 -4
- package/dist/interfaces/i-drive-list.d.ts +33 -0
- package/dist/interfaces/i-drive-list.js +3 -4
- package/dist/interfaces/i-eggs-config.d.ts +32 -0
- package/dist/interfaces/i-eggs-config.js +3 -4
- package/dist/interfaces/i-excludes.d.ts +14 -0
- package/dist/interfaces/i-excludes.js +8 -2
- package/dist/interfaces/i-exec.d.ts +11 -0
- package/dist/interfaces/i-exec.js +3 -4
- package/dist/interfaces/i-initrd.d.ts +13 -0
- package/dist/interfaces/i-initrd.js +8 -2
- package/dist/interfaces/i-install.d.ts +16 -0
- package/dist/interfaces/i-install.js +8 -2
- package/dist/interfaces/i-installer.d.ts +17 -0
- package/dist/interfaces/i-installer.js +8 -2
- package/dist/interfaces/i-krill-config.d.ts +33 -0
- package/dist/interfaces/i-krill-config.js +3 -4
- package/dist/interfaces/i-krill.d.ts +42 -0
- package/dist/interfaces/i-krill.js +8 -2
- package/dist/interfaces/i-materia.d.ts +41 -0
- package/dist/interfaces/i-materia.js +8 -2
- package/dist/interfaces/i-net.d.ts +16 -0
- package/dist/interfaces/i-net.js +8 -2
- package/dist/interfaces/i-packages.d.ts +29 -0
- package/dist/interfaces/i-packages.js +3 -4
- package/dist/interfaces/i-partitions.d.ts +16 -0
- package/dist/interfaces/i-partitions.js +8 -2
- package/dist/interfaces/i-pxe.d.ts +21 -0
- package/dist/interfaces/i-pxe.js +8 -39
- package/dist/interfaces/i-remix.d.ts +21 -0
- package/dist/interfaces/i-remix.js +3 -4
- package/dist/interfaces/i-settings.d.ts +39 -0
- package/dist/interfaces/i-settings.js +8 -2
- package/dist/interfaces/i-user.d.ts +14 -0
- package/dist/interfaces/i-user.js +8 -2
- package/dist/interfaces/i-workdir.d.ts +14 -0
- package/dist/interfaces/i-workdir.js +8 -2
- package/dist/interfaces/i-xkb-model.d.ts +24 -0
- package/dist/interfaces/i-xkb-model.js +8 -2
- package/dist/interfaces/index.d.ts +25 -0
- package/dist/interfaces/index.js +3 -4
- package/dist/krill/modules/add-user.d.ts +20 -0
- package/dist/krill/modules/add-user.js +11 -15
- package/dist/krill/modules/bootloader-config-arch.d.ts +14 -0
- package/dist/krill/modules/bootloader-config-arch.js +15 -11
- package/dist/krill/modules/bootloader-config-debian.d.ts +10 -0
- package/dist/krill/modules/bootloader-config-debian.js +20 -16
- package/dist/krill/modules/bootloader-config.d.ts +10 -0
- package/dist/krill/modules/bootloader-config.js +3 -6
- package/dist/krill/modules/bootloader.d.ts +14 -0
- package/dist/krill/modules/bootloader.js +9 -13
- package/dist/krill/modules/change-password.d.ts +15 -0
- package/dist/krill/modules/change-password.js +5 -8
- package/dist/krill/modules/del-live-user.d.ts +14 -0
- package/dist/krill/modules/del-live-user.js +8 -12
- package/dist/krill/modules/fstab.d.ts +14 -0
- package/dist/krill/modules/fstab.js +33 -37
- package/dist/krill/modules/grubcfg.d.ts +17 -0
- package/dist/krill/modules/grubcfg.js +8 -17
- package/dist/krill/modules/hostname.d.ts +13 -0
- package/dist/krill/modules/hostname.js +11 -17
- package/dist/krill/modules/initramfs-cfg.d.ts +14 -0
- package/dist/krill/modules/initramfs-cfg.js +6 -15
- package/dist/krill/modules/initramfs.d.ts +13 -0
- package/dist/krill/modules/initramfs.js +17 -19
- package/dist/krill/modules/locale-cfg.d.ts +10 -0
- package/dist/krill/modules/locale-cfg.js +8 -12
- package/dist/krill/modules/locale.d.ts +13 -0
- package/dist/krill/modules/locale.js +7 -11
- package/dist/krill/modules/m-keyboard.d.ts +14 -0
- package/dist/krill/modules/m-keyboard.js +14 -18
- package/dist/krill/modules/m-timezone.d.ts +14 -0
- package/dist/krill/modules/m-timezone.js +8 -12
- package/dist/krill/modules/machine-id.d.ts +15 -0
- package/dist/krill/modules/machine-id.js +6 -10
- package/dist/krill/modules/mkfs.d.ts +13 -0
- package/dist/krill/modules/mkfs.js +10 -13
- package/dist/krill/modules/mount-fs.d.ts +17 -0
- package/dist/krill/modules/mount-fs.js +20 -26
- package/dist/krill/modules/mount-vfs.d.ts +17 -0
- package/dist/krill/modules/mount-vfs.js +16 -21
- package/dist/krill/modules/network-cfg.d.ts +19 -0
- package/dist/krill/modules/network-cfg.js +16 -20
- package/dist/krill/modules/packages.d.ts +14 -0
- package/dist/krill/modules/packages.js +17 -21
- package/dist/krill/modules/partition.d.ts +20 -0
- package/dist/krill/modules/partition.js +78 -84
- package/dist/krill/modules/remove-installer-link.d.ts +13 -0
- package/dist/krill/modules/remove-installer-link.js +7 -11
- package/dist/krill/modules/umount.d.ts +14 -0
- package/dist/krill/modules/umount.js +9 -13
- package/dist/krill/modules/unpackfs.d.ts +13 -0
- package/dist/krill/modules/unpackfs.js +7 -11
- package/dist/krill/prepare.d.ts +77 -0
- package/dist/krill/{krill-prepare.js → prepare.js} +118 -124
- package/dist/krill/sequence.d.ts +156 -0
- package/dist/krill/{krill-sequence.js → sequence.js} +166 -170
- package/dist/lib/cli-autologin.d.ts +43 -0
- package/dist/lib/cli-autologin.js +88 -92
- package/dist/lib/get_address.d.ts +8 -0
- package/dist/lib/get_address.js +9 -11
- package/dist/lib/get_dns.d.ts +8 -0
- package/dist/lib/get_dns.js +9 -11
- package/dist/lib/get_domain.d.ts +8 -0
- package/dist/lib/get_domain.js +9 -11
- package/dist/lib/get_gateway.d.ts +8 -0
- package/dist/lib/get_gateway.js +9 -11
- package/dist/lib/get_hostname.d.ts +8 -0
- package/dist/lib/get_hostname.js +9 -11
- package/dist/lib/get_netmask.d.ts +8 -0
- package/dist/lib/get_netmask.js +9 -11
- package/dist/lib/get_password.d.ts +8 -0
- package/dist/lib/get_password.js +10 -13
- package/dist/lib/get_userfullname.d.ts +8 -0
- package/dist/lib/get_userfullname.js +9 -11
- package/dist/lib/get_username.d.ts +8 -0
- package/dist/lib/get_username.js +9 -12
- package/dist/lib/kill_me_softly.d.ts +11 -0
- package/dist/lib/kill_me_softly.js +19 -24
- package/dist/lib/select_address_type.d.ts +8 -0
- package/dist/lib/select_address_type.js +9 -12
- package/dist/lib/select_filesystem_type.d.ts +8 -0
- package/dist/lib/select_filesystem_type.js +15 -18
- package/dist/lib/select_installation_device.d.ts +8 -0
- package/dist/lib/select_installation_device.js +11 -15
- package/dist/lib/select_installation_mode.d.ts +8 -0
- package/dist/lib/select_installation_mode.js +9 -11
- package/dist/lib/select_interface.d.ts +8 -0
- package/dist/lib/select_interface.js +9 -12
- package/dist/lib/select_keyboard_layout.d.ts +11 -0
- package/dist/lib/select_keyboard_layout.js +11 -15
- package/dist/lib/select_keyboard_model.d.ts +11 -0
- package/dist/lib/select_keyboard_model.js +11 -15
- package/dist/lib/select_keyboard_option.d.ts +11 -0
- package/dist/lib/select_keyboard_option.js +11 -15
- package/dist/lib/select_keyboard_variant.d.ts +11 -0
- package/dist/lib/select_keyboard_variant.js +11 -15
- package/dist/lib/select_languages.d.ts +8 -0
- package/dist/lib/select_languages.js +11 -15
- package/dist/lib/select_regions.d.ts +8 -0
- package/dist/lib/select_regions.js +9 -11
- package/dist/lib/select_user_swap_choice.d.ts +8 -0
- package/dist/lib/select_user_swap_choice.js +13 -17
- package/dist/lib/select_zones.d.ts +8 -0
- package/dist/lib/select_zones.js +9 -11
- package/dist/lib/utils.d.ts +34 -0
- package/dist/lib/utils.js +24 -14
- package/manpages/doc/man/eggs.1.gz +0 -0
- package/manpages/doc/man/eggs.html +10 -10
- package/package.json +49 -70
- package/LICENSE +0 -339
- package/bin/dev +0 -17
- package/bin/run +0 -5
- package/dist/components/elements/information.js +0 -194
- package/dist/components/elements/steps.js +0 -152
- package/dist/components/elements/title.js +0 -36
- package/dist/lib/dependencies.js +0 -121
|
@@ -1,25 +1,21 @@
|
|
|
1
|
-
"use strict";
|
|
2
1
|
/**
|
|
3
|
-
*
|
|
4
|
-
*
|
|
2
|
+
* ./src/krill/modules/partition.ts
|
|
3
|
+
* penguins-eggs v.10.0.0 / ecmascript 2020
|
|
5
4
|
* author: Piero Proietti
|
|
6
5
|
* email: piero.proietti@gmail.com
|
|
7
6
|
* license: MIT
|
|
8
7
|
* https://stackoverflow.com/questions/23876782/how-do-i-split-a-typescript-class-into-multiple-files
|
|
9
8
|
*/
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
const utils_2 = tslib_1.__importDefault(require("../../classes/utils"));
|
|
15
|
-
const shelljs_1 = tslib_1.__importDefault(require("shelljs"));
|
|
16
|
-
const os_1 = tslib_1.__importDefault(require("os"));
|
|
9
|
+
import os from 'node:os';
|
|
10
|
+
import shx from 'shelljs';
|
|
11
|
+
import Utils from '../../classes/utils.js';
|
|
12
|
+
import { exec } from '../../lib/utils.js';
|
|
17
13
|
/**
|
|
18
14
|
*
|
|
19
15
|
* @param this
|
|
20
16
|
*/
|
|
21
|
-
async function partition() {
|
|
22
|
-
const echoYes =
|
|
17
|
+
export default async function partition() {
|
|
18
|
+
const echoYes = Utils.setEcho(true);
|
|
23
19
|
let retVal = false;
|
|
24
20
|
const installDevice = this.partitions.installationDevice;
|
|
25
21
|
/**
|
|
@@ -32,7 +28,7 @@ async function partition() {
|
|
|
32
28
|
p = 'p';
|
|
33
29
|
}
|
|
34
30
|
const installMode = this.partitions.installationMode;
|
|
35
|
-
let swapSize = Math.round(
|
|
31
|
+
let swapSize = Math.round(os.totalmem() / 1_073_741_824) * 1024;
|
|
36
32
|
switch (this.partitions.userSwapChoice) {
|
|
37
33
|
case 'none': {
|
|
38
34
|
swapSize = 256;
|
|
@@ -57,11 +53,11 @@ async function partition() {
|
|
|
57
53
|
* BIOS: working
|
|
58
54
|
* ===========================================================================================
|
|
59
55
|
*/
|
|
60
|
-
await
|
|
61
|
-
await
|
|
62
|
-
await
|
|
63
|
-
await
|
|
64
|
-
await
|
|
56
|
+
await exec(`parted --script ${installDevice} mklabel msdos`, this.echo);
|
|
57
|
+
await exec(`parted --script --align optimal ${installDevice} mkpart primary linux-swap 1MiB ${swapSize + 1}MiB`, this.echo); // dev/sda1 swap
|
|
58
|
+
await exec(`parted --script --align optimal ${installDevice} mkpart primary ext4 ${swapSize + 1}MiB 100%`, this.echo); // dev/sda2 root
|
|
59
|
+
await exec(`parted ${installDevice} set 1 boot on`, this.echo);
|
|
60
|
+
await exec(`parted ${installDevice} set 1 esp on`, this.echo);
|
|
65
61
|
// SWAP
|
|
66
62
|
this.devices.swap.name = `${installDevice}${p}1`;
|
|
67
63
|
this.devices.swap.fsType = 'swap';
|
|
@@ -82,27 +78,27 @@ async function partition() {
|
|
|
82
78
|
* BIOS: full-encrypt:
|
|
83
79
|
* ===========================================================================================
|
|
84
80
|
*/
|
|
85
|
-
await
|
|
86
|
-
await
|
|
87
|
-
await
|
|
88
|
-
await
|
|
89
|
-
await
|
|
90
|
-
await
|
|
81
|
+
await exec(`parted --script ${installDevice} mklabel msdos`, this.echo);
|
|
82
|
+
await exec(`parted --script --align optimal ${installDevice} mkpart primary ext4 1MiB 512MiB`, this.echo); // sda1
|
|
83
|
+
await exec(`parted --script --align optimal ${installDevice} mkpart primary linux-swap 512MiB ${swapSize + 512}MiB`, this.echo); // sda2
|
|
84
|
+
await exec(`parted --script --align optimal ${installDevice} mkpart primary ext4 ${swapSize + 512}MiB 100%`, this.echo); // sda3
|
|
85
|
+
await exec(`parted --script ${installDevice} set 1 boot on`, this.echo); // sda1
|
|
86
|
+
await exec(`parted --script ${installDevice} set 1 esp on`, this.echo); // sda1
|
|
91
87
|
// BOOT 512M
|
|
92
88
|
this.devices.boot.name = `${installDevice}${p}1`; // 'boot'
|
|
93
89
|
this.devices.boot.fsType = 'ext4';
|
|
94
90
|
this.devices.boot.mountPoint = '/boot';
|
|
95
91
|
// SWAP 8G
|
|
96
92
|
// this.redraw(<Install message={`Formatting LUKS ${installDevice}2`} percent={0} />)
|
|
97
|
-
const crytoSwap = await
|
|
93
|
+
const crytoSwap = await exec(`cryptsetup -y -v luksFormat --type luks2 ${installDevice}${p}2`, echoYes);
|
|
98
94
|
if (crytoSwap.code !== 0) {
|
|
99
|
-
|
|
95
|
+
Utils.warning(`Error: ${crytoSwap.code} ${crytoSwap.data}`);
|
|
100
96
|
process.exit(1);
|
|
101
97
|
}
|
|
102
98
|
// this.redraw(<Install message={`Opening ${installDevice}${p}2 as swap_crypted`} percent={0} />)
|
|
103
|
-
const crytoSwapOpen = await
|
|
99
|
+
const crytoSwapOpen = await exec(`cryptsetup luksOpen --type luks2 ${installDevice}${p}2 swap_crypted`, echoYes);
|
|
104
100
|
if (crytoSwapOpen.code !== 0) {
|
|
105
|
-
|
|
101
|
+
Utils.warning(`Error: ${crytoSwapOpen.code} ${crytoSwapOpen.data}`);
|
|
106
102
|
process.exit(1);
|
|
107
103
|
}
|
|
108
104
|
this.devices.swap.name = '/dev/mapper/swap_crypted';
|
|
@@ -111,15 +107,15 @@ async function partition() {
|
|
|
111
107
|
this.devices.swap.mountPoint = 'none';
|
|
112
108
|
// ROOT
|
|
113
109
|
// this.redraw(<Install message={`Formatting LUKS ${installDevice}${p}3`} percent={0} />)
|
|
114
|
-
const crytoRoot = await
|
|
110
|
+
const crytoRoot = await exec(`cryptsetup -y -v luksFormat --type luks2 ${installDevice}${p}3`, echoYes);
|
|
115
111
|
if (crytoRoot.code !== 0) {
|
|
116
|
-
|
|
112
|
+
Utils.warning(`Error: ${crytoRoot.code} ${crytoRoot.data}`);
|
|
117
113
|
process.exit(1);
|
|
118
114
|
}
|
|
119
115
|
// this.redraw(<Install message={`Opening ${installDevice}${p}3 as root_crypted`} percent={0} />)
|
|
120
|
-
const crytoRootOpen = await
|
|
116
|
+
const crytoRootOpen = await exec(`cryptsetup luksOpen --type luks2 ${installDevice}${p}3 root_crypted`, echoYes);
|
|
121
117
|
if (crytoRootOpen.code !== 0) {
|
|
122
|
-
|
|
118
|
+
Utils.warning(`Error: ${crytoRootOpen.code} ${crytoRootOpen.data}`);
|
|
123
119
|
process.exit(1);
|
|
124
120
|
}
|
|
125
121
|
this.devices.root.name = '/dev/mapper/root_crypted';
|
|
@@ -137,12 +133,12 @@ async function partition() {
|
|
|
137
133
|
* UEFI: working
|
|
138
134
|
* ===========================================================================================
|
|
139
135
|
*/
|
|
140
|
-
await
|
|
141
|
-
await
|
|
142
|
-
await
|
|
143
|
-
await
|
|
144
|
-
await
|
|
145
|
-
await
|
|
136
|
+
await exec(`parted --script ${installDevice} mklabel gpt`, this.echo);
|
|
137
|
+
await exec(`parted --script ${installDevice} mkpart efi fat32 34s 256MiB`, this.echo); // sda1 EFI
|
|
138
|
+
await exec(`parted --script ${installDevice} mkpart swap linux-swap 256MiB ${swapSize + 256}Mib`, this.echo); // sda2 swap
|
|
139
|
+
await exec(`parted --script ${installDevice} mkpart root ext4 ${swapSize + 256}MiB 100%`, this.echo); // sda3 root
|
|
140
|
+
await exec(`parted --script ${installDevice} set 1 boot on`, this.echo); // sda1
|
|
141
|
+
await exec(`parted --script ${installDevice} set 1 esp on`, this.echo); // sda1
|
|
146
142
|
this.devices.efi.name = `${installDevice}${p}1`;
|
|
147
143
|
this.devices.efi.fsType = 'F 32 -I';
|
|
148
144
|
this.devices.efi.mountPoint = '/boot/efi';
|
|
@@ -164,13 +160,13 @@ async function partition() {
|
|
|
164
160
|
* UEFI, full-encrypt
|
|
165
161
|
* ===========================================================================================
|
|
166
162
|
*/
|
|
167
|
-
await
|
|
168
|
-
await
|
|
169
|
-
await
|
|
170
|
-
await
|
|
171
|
-
await
|
|
172
|
-
await
|
|
173
|
-
await
|
|
163
|
+
await exec(`parted --script ${installDevice} mklabel gpt`, this.echo);
|
|
164
|
+
await exec(`parted --script ${installDevice} mkpart efi fat32 34s 256MiB`, this.echo); // sda1 EFI
|
|
165
|
+
await exec(`parted --script ${installDevice} mkpart boot ext4 256MiB 768MiB`, this.echo); // sda2 boot
|
|
166
|
+
await exec(`parted --script ${installDevice} mkpart swap linux-swap 768MiB ${swapSize + 768}MiB`, this.echo); // sda3 swap
|
|
167
|
+
await exec(`parted --script ${installDevice} mkpart root ext4 ${swapSize + 768}MiB 100%`, this.echo); // sda4 root
|
|
168
|
+
await exec(`parted --script ${installDevice} set 1 boot on`, this.echo); // sda1
|
|
169
|
+
await exec(`parted --script ${installDevice} set 1 esp on`, this.echo); // sda1
|
|
174
170
|
// EFI 256M
|
|
175
171
|
this.devices.efi.name = `${installDevice}${p}1`; // 'efi'
|
|
176
172
|
this.devices.efi.fsType = 'F 32 -I';
|
|
@@ -192,15 +188,15 @@ async function partition() {
|
|
|
192
188
|
*/
|
|
193
189
|
// SWAP 8G
|
|
194
190
|
// redraw(<Install message={`Formatting LUKS ${installDevice}${p}3`} percent={0} />)
|
|
195
|
-
const crytoSwap = await
|
|
191
|
+
const crytoSwap = await exec(`cryptsetup -y -v luksFormat --type luks2 ${installDevice}${p}3`, echoYes);
|
|
196
192
|
if (crytoSwap.code !== 0) {
|
|
197
|
-
|
|
193
|
+
Utils.warning(`Error: ${crytoSwap.code} ${crytoSwap.data}`);
|
|
198
194
|
process.exit(1);
|
|
199
195
|
}
|
|
200
196
|
// this.redraw(<Install message={`Opening ${installDevice}${p}3 as swap_crypted`} percent={0} />)
|
|
201
|
-
const crytoSwapOpen = await
|
|
197
|
+
const crytoSwapOpen = await exec(`cryptsetup luksOpen --type luks2 ${installDevice}${p}3 swap_crypted`, echoYes);
|
|
202
198
|
if (crytoSwapOpen.code !== 0) {
|
|
203
|
-
|
|
199
|
+
Utils.warning(`Error: ${crytoSwapOpen.code} ${crytoSwapOpen.data}`);
|
|
204
200
|
process.exit(1);
|
|
205
201
|
}
|
|
206
202
|
this.devices.swap.name = '/dev/mapper/swap_crypted';
|
|
@@ -209,15 +205,15 @@ async function partition() {
|
|
|
209
205
|
this.devices.swap.mountPoint = 'none';
|
|
210
206
|
// ROOT
|
|
211
207
|
// this.redraw(<Install message={`Formatting LUKS ${installDevice}${p}4`} percent={0} />)
|
|
212
|
-
const crytoRoot = await
|
|
208
|
+
const crytoRoot = await exec(`cryptsetup -y -v luksFormat --type luks2 ${installDevice}${p}4`, echoYes);
|
|
213
209
|
if (crytoRoot.code !== 0) {
|
|
214
|
-
|
|
210
|
+
Utils.warning(`Error: ${crytoRoot.code} ${crytoRoot.data}`);
|
|
215
211
|
process.exit(1);
|
|
216
212
|
}
|
|
217
213
|
// this.redraw(<Install message={`Opening ${installDevice}${p}4 as root_crypted`} percent={0} />)
|
|
218
|
-
const crytoRootOpen = await
|
|
214
|
+
const crytoRootOpen = await exec(`cryptsetup luksOpen --type luks2 ${installDevice}${p}4 root_crypted`, echoYes);
|
|
219
215
|
if (crytoRootOpen.code !== 0) {
|
|
220
|
-
|
|
216
|
+
Utils.warning(`Error: ${crytoRootOpen.code} ${crytoRootOpen.data}`);
|
|
221
217
|
process.exit(1);
|
|
222
218
|
}
|
|
223
219
|
this.devices.root.name = '/dev/mapper/root_crypted';
|
|
@@ -237,22 +233,22 @@ async function partition() {
|
|
|
237
233
|
* ===========================================================================================
|
|
238
234
|
*/
|
|
239
235
|
// Creo partizioni
|
|
240
|
-
await
|
|
241
|
-
await
|
|
242
|
-
await
|
|
243
|
-
await
|
|
244
|
-
await
|
|
236
|
+
await exec(`parted --script ${installDevice} mklabel msdos`, this.echo);
|
|
237
|
+
await exec(`parted --script ${installDevice} mkpart primary ext2 1 512`, this.echo); // sda1
|
|
238
|
+
await exec(`parted --script --align optimal ${installDevice} mkpart primary ext2 512 100%`, this.echo); // sda2
|
|
239
|
+
await exec(`parted --script ${installDevice} set 1 boot on`, this.echo); // sda1
|
|
240
|
+
await exec(`parted --script ${installDevice} set 2 lvm on`, this.echo); // sda2
|
|
245
241
|
const partInfo = await lvmPartInfo(installDevice);
|
|
246
242
|
const lvmPartname = partInfo[0];
|
|
247
243
|
const lvmSwapSize = partInfo[1];
|
|
248
244
|
const lvmRootSize = partInfo[2];
|
|
249
|
-
await
|
|
250
|
-
await
|
|
251
|
-
await
|
|
252
|
-
await
|
|
253
|
-
await
|
|
254
|
-
await
|
|
255
|
-
await
|
|
245
|
+
await exec(`pvcreate /dev/${lvmPartname}`, this.echo);
|
|
246
|
+
await exec(`vgcreate pve /dev/${lvmPartname}`, this.echo);
|
|
247
|
+
await exec('vgchange -an', this.echo);
|
|
248
|
+
await exec(`lvcreate -L ${lvmSwapSize} -nswap pve`, this.echo);
|
|
249
|
+
await exec(`lvcreate -L ${lvmRootSize} -nroot pve`, this.echo);
|
|
250
|
+
await exec('lvcreate -l 100%FREE -ndata pve', this.echo);
|
|
251
|
+
await exec('vgchange -a y pve', this.echo);
|
|
256
252
|
this.devices.efi.name = 'none';
|
|
257
253
|
this.devices.boot.name = `${installDevice}${p}1`;
|
|
258
254
|
this.devices.root.fsType = 'ext2';
|
|
@@ -272,24 +268,24 @@ async function partition() {
|
|
|
272
268
|
* PROXMOX VE: lvm2 and UEFI
|
|
273
269
|
* ===========================================================================================
|
|
274
270
|
*/
|
|
275
|
-
await
|
|
276
|
-
await
|
|
277
|
-
await
|
|
278
|
-
await
|
|
279
|
-
await
|
|
280
|
-
await
|
|
281
|
-
await
|
|
271
|
+
await exec(`parted --script ${installDevice} mklabel gpt`, this.echo);
|
|
272
|
+
await exec(`parted --script ${installDevice} mkpart efi fat32 34s 256MiB`, this.echo); // sda1 EFI
|
|
273
|
+
await exec(`parted --script ${installDevice} mkpart boot ext2 256MiB 768MiB`, this.echo); // sda2 boot
|
|
274
|
+
await exec(`parted --script ${installDevice} mkpart lvm ext4 768MiB 100%`, this.echo); // sda3 lmv2
|
|
275
|
+
await exec(`parted --script ${installDevice} set 1 boot on`, this.echo); // sda1
|
|
276
|
+
await exec(`parted --script ${installDevice} set 1 esp on`, this.echo); // sda1
|
|
277
|
+
await exec(`parted --script ${installDevice} set 3 lvm on`, this.echo); // sda3
|
|
282
278
|
const partInfo = await lvmPartInfo(installDevice);
|
|
283
279
|
const lvmPartname = partInfo[0];
|
|
284
280
|
const lvmSwapSize = partInfo[1];
|
|
285
281
|
const lvmRootSize = partInfo[2];
|
|
286
|
-
await
|
|
287
|
-
await
|
|
288
|
-
await
|
|
289
|
-
await
|
|
290
|
-
await
|
|
291
|
-
await
|
|
292
|
-
await
|
|
282
|
+
await exec(`pvcreate /dev/${lvmPartname}`, this.echo);
|
|
283
|
+
await exec(`vgcreate pve /dev/${lvmPartname}`, this.echo);
|
|
284
|
+
await exec('vgchange -an', this.echo);
|
|
285
|
+
await exec(`lvcreate -L ${lvmSwapSize} -nswap pve`, this.echo);
|
|
286
|
+
await exec(`lvcreate -L ${lvmRootSize} -nroot pve`, this.echo);
|
|
287
|
+
await exec('lvcreate -l 100%FREE -ndata pve', this.echo);
|
|
288
|
+
await exec('vgchange -a y pve', this.echo);
|
|
293
289
|
this.devices.efi.name = `${installDevice}${p}1`;
|
|
294
290
|
this.devices.efi.fsType = 'F 32 -I';
|
|
295
291
|
this.devices.efi.mountPoint = '/boot/efi';
|
|
@@ -307,16 +303,15 @@ async function partition() {
|
|
|
307
303
|
}
|
|
308
304
|
return retVal;
|
|
309
305
|
}
|
|
310
|
-
exports.default = partition;
|
|
311
306
|
/**
|
|
312
307
|
*
|
|
313
308
|
* @param installDevice
|
|
314
309
|
* @returns
|
|
315
310
|
*/
|
|
316
|
-
async function lvmPartInfo(installDevice = '/dev/sda') {
|
|
311
|
+
export async function lvmPartInfo(installDevice = '/dev/sda') {
|
|
317
312
|
// Partizione LVM
|
|
318
|
-
const lvmPartname =
|
|
319
|
-
const lvmByteSize = Number(
|
|
313
|
+
const lvmPartname = shx.exec(`fdisk ${installDevice} -l | grep LVM | awk '{print $1}' | cut -d "/" -f3`).stdout.trim();
|
|
314
|
+
const lvmByteSize = Number(shx.exec(`cat /proc/partitions | grep ${lvmPartname}| awk '{print $3}' | grep "[0-9]"`).stdout.trim());
|
|
320
315
|
const lvmSize = lvmByteSize / 1024;
|
|
321
316
|
// La partizione di root viene posta ad 1/4 della partizione LVM, limite max 100 GB
|
|
322
317
|
const lvmSwapSize = 8192;
|
|
@@ -327,4 +322,3 @@ async function lvmPartInfo(installDevice = '/dev/sda') {
|
|
|
327
322
|
const lvmDataSize = lvmSize - lvmRootSize - lvmSwapSize;
|
|
328
323
|
return [lvmPartname, lvmSwapSize, lvmRootSize, lvmDataSize];
|
|
329
324
|
}
|
|
330
|
-
exports.lvmPartInfo = lvmPartInfo;
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* ./src/krill/modules/remove-installer-link.ts
|
|
3
|
+
* penguins-eggs v.10.0.0 / ecmascript 2020
|
|
4
|
+
* author: Piero Proietti
|
|
5
|
+
* email: piero.proietti@gmail.com
|
|
6
|
+
* license: MIT
|
|
7
|
+
* https://stackoverflow.com/questions/23876782/how-do-i-split-a-typescript-class-into-multiple-files
|
|
8
|
+
*/
|
|
9
|
+
import Sequence from '../sequence.js';
|
|
10
|
+
/**
|
|
11
|
+
* removeInstallerLink
|
|
12
|
+
*/
|
|
13
|
+
export default function removeInstallerLink(this: Sequence): Promise<void>;
|
|
@@ -1,24 +1,21 @@
|
|
|
1
|
-
"use strict";
|
|
2
1
|
/**
|
|
3
|
-
*
|
|
4
|
-
*
|
|
2
|
+
* ./src/krill/modules/remove-installer-link.ts
|
|
3
|
+
* penguins-eggs v.10.0.0 / ecmascript 2020
|
|
5
4
|
* author: Piero Proietti
|
|
6
5
|
* email: piero.proietti@gmail.com
|
|
7
6
|
* license: MIT
|
|
8
7
|
* https://stackoverflow.com/questions/23876782/how-do-i-split-a-typescript-class-into-multiple-files
|
|
9
8
|
*/
|
|
10
|
-
|
|
11
|
-
const tslib_1 = require("tslib");
|
|
12
|
-
const fs_1 = tslib_1.__importDefault(require("fs"));
|
|
9
|
+
import fs from 'node:fs';
|
|
13
10
|
/**
|
|
14
11
|
* removeInstallerLink
|
|
15
12
|
*/
|
|
16
|
-
async function removeInstallerLink() {
|
|
13
|
+
export default async function removeInstallerLink() {
|
|
17
14
|
const file = `${this.installTarget}/usr/bin/penguins-links-add.sh`;
|
|
18
15
|
let lines = [];
|
|
19
16
|
let content = '';
|
|
20
|
-
if (
|
|
21
|
-
lines =
|
|
17
|
+
if (fs.existsSync(file)) {
|
|
18
|
+
lines = fs.readFileSync(file, { encoding: 'utf8', flag: 'r' }).split('\n');
|
|
22
19
|
for (let i = 0; i < lines.length; i++) {
|
|
23
20
|
if (lines[i]) {
|
|
24
21
|
if (lines[i].search('penguins-krill.desktop') !== -1) {
|
|
@@ -34,6 +31,5 @@ async function removeInstallerLink() {
|
|
|
34
31
|
}
|
|
35
32
|
}
|
|
36
33
|
}
|
|
37
|
-
|
|
34
|
+
fs.writeFileSync(file, content);
|
|
38
35
|
}
|
|
39
|
-
exports.default = removeInstallerLink;
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* ./src/krill/modules/umount.ts
|
|
3
|
+
* penguins-eggs v.10.0.0 / ecmascript 2020
|
|
4
|
+
* author: Piero Proietti
|
|
5
|
+
* email: piero.proietti@gmail.com
|
|
6
|
+
* license: MIT
|
|
7
|
+
* https://stackoverflow.com/questions/23876782/how-do-i-split-a-typescript-class-into-multiple-files
|
|
8
|
+
*/
|
|
9
|
+
import Sequence from '../sequence.js';
|
|
10
|
+
/**
|
|
11
|
+
*
|
|
12
|
+
* @param mountpoint
|
|
13
|
+
*/
|
|
14
|
+
export default function umount(this: Sequence, mountPoint?: string): Promise<void>;
|
|
@@ -1,31 +1,27 @@
|
|
|
1
|
-
"use strict";
|
|
2
1
|
/**
|
|
3
|
-
*
|
|
4
|
-
*
|
|
2
|
+
* ./src/krill/modules/umount.ts
|
|
3
|
+
* penguins-eggs v.10.0.0 / ecmascript 2020
|
|
5
4
|
* author: Piero Proietti
|
|
6
5
|
* email: piero.proietti@gmail.com
|
|
7
6
|
* license: MIT
|
|
8
7
|
* https://stackoverflow.com/questions/23876782/how-do-i-split-a-typescript-class-into-multiple-files
|
|
9
8
|
*/
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
const utils_1 = tslib_1.__importDefault(require("../../classes/utils"));
|
|
13
|
-
const utils_2 = require("../../lib/utils");
|
|
9
|
+
import Utils from '../../classes/utils.js';
|
|
10
|
+
import { exec } from '../../lib/utils.js';
|
|
14
11
|
/**
|
|
15
12
|
*
|
|
16
13
|
* @param mountpoint
|
|
17
14
|
*/
|
|
18
|
-
async function umount(mountPoint = '') {
|
|
15
|
+
export default async function umount(mountPoint = '') {
|
|
19
16
|
let message = 'umount: ' + mountPoint;
|
|
20
|
-
if (
|
|
17
|
+
if (Utils.isMountpoint(mountPoint)) {
|
|
21
18
|
try {
|
|
22
|
-
await
|
|
23
|
-
await
|
|
19
|
+
await exec(`umount ${mountPoint} ${this.toNull}`, this.echo);
|
|
20
|
+
await exec('sleep 1', this.echo);
|
|
24
21
|
}
|
|
25
22
|
catch (error) {
|
|
26
23
|
message += +mountPoint + JSON.stringify(error);
|
|
27
|
-
await
|
|
24
|
+
await Utils.pressKeyToExit(message);
|
|
28
25
|
}
|
|
29
26
|
}
|
|
30
27
|
}
|
|
31
|
-
exports.default = umount;
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* ./src/krill/modules/unpackfs.ts
|
|
3
|
+
* penguins-eggs v.10.0.0 / ecmascript 2020
|
|
4
|
+
* author: Piero Proietti
|
|
5
|
+
* email: piero.proietti@gmail.com
|
|
6
|
+
* license: MIT
|
|
7
|
+
* https://stackoverflow.com/questions/23876782/how-do-i-split-a-typescript-class-into-multiple-files
|
|
8
|
+
*/
|
|
9
|
+
import Sequence from '../sequence.js';
|
|
10
|
+
/**
|
|
11
|
+
* unpackfs
|
|
12
|
+
*/
|
|
13
|
+
export default function unpackfs(this: Sequence): Promise<void>;
|
|
@@ -1,23 +1,19 @@
|
|
|
1
|
-
"use strict";
|
|
2
1
|
/**
|
|
3
|
-
*
|
|
4
|
-
*
|
|
2
|
+
* ./src/krill/modules/unpackfs.ts
|
|
3
|
+
* penguins-eggs v.10.0.0 / ecmascript 2020
|
|
5
4
|
* author: Piero Proietti
|
|
6
5
|
* email: piero.proietti@gmail.com
|
|
7
6
|
* license: MIT
|
|
8
7
|
* https://stackoverflow.com/questions/23876782/how-do-i-split-a-typescript-class-into-multiple-files
|
|
9
8
|
*/
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
const utils_1 = tslib_1.__importDefault(require("../../classes/utils"));
|
|
13
|
-
const utils_2 = require("../../lib/utils");
|
|
9
|
+
import Utils from '../../classes/utils.js';
|
|
10
|
+
import { exec } from '../../lib/utils.js';
|
|
14
11
|
/**
|
|
15
12
|
* unpackfs
|
|
16
13
|
*/
|
|
17
|
-
async function unpackfs() {
|
|
14
|
+
export default async function unpackfs() {
|
|
18
15
|
// const cmd = `unsquashfs -d ${this.installTarget} -f ${this.distro.liveMediumPath}`
|
|
19
16
|
const cmd = `unsquashfs -d ${this.installTarget} -f ${this.distro.liveMediumPath}${this.distro.squashfs}`;
|
|
20
|
-
const echoYes =
|
|
21
|
-
await
|
|
17
|
+
const echoYes = Utils.setEcho(true);
|
|
18
|
+
await exec(cmd, echoYes);
|
|
22
19
|
}
|
|
23
|
-
exports.default = unpackfs;
|
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* ./src/krill/prepare.tsx
|
|
3
|
+
* penguins-eggs v.10.0.0 / ecmascript 2020
|
|
4
|
+
* author: Piero Proietti
|
|
5
|
+
* email: piero.proietti@gmail.com
|
|
6
|
+
* license: MIT
|
|
7
|
+
* https://stackoverflow.com/questions/23876782/how-do-i-split-a-typescript-class-into-multiple-files
|
|
8
|
+
*/
|
|
9
|
+
import { IKrillConfig } from '../interfaces/i-krill-config.js';
|
|
10
|
+
import Locales from '../classes/locales.js';
|
|
11
|
+
import Keyboards from '../classes/keyboards.js';
|
|
12
|
+
import { INet } from '../interfaces/index.js';
|
|
13
|
+
import { IWelcome, ILocation, IKeyboard, IPartitions, IUsers } from '../interfaces/i-krill.js';
|
|
14
|
+
/**
|
|
15
|
+
*
|
|
16
|
+
*/
|
|
17
|
+
export default class Krill {
|
|
18
|
+
krillConfig: IKrillConfig;
|
|
19
|
+
locales: Locales;
|
|
20
|
+
keyboards: Keyboards;
|
|
21
|
+
unattended: boolean;
|
|
22
|
+
nointeractive: boolean;
|
|
23
|
+
halt: boolean;
|
|
24
|
+
/**
|
|
25
|
+
* constructor
|
|
26
|
+
* @param unattended
|
|
27
|
+
* @param nointeractive
|
|
28
|
+
* @param halt
|
|
29
|
+
*/
|
|
30
|
+
constructor(unattended?: boolean, nointeractive?: boolean, halt?: boolean);
|
|
31
|
+
/**
|
|
32
|
+
*
|
|
33
|
+
* @param krillConfig
|
|
34
|
+
* @param ip
|
|
35
|
+
* @param random
|
|
36
|
+
* @param domain
|
|
37
|
+
* @param suspend
|
|
38
|
+
* @param small
|
|
39
|
+
* @param none
|
|
40
|
+
* @param cryped
|
|
41
|
+
* @param pve
|
|
42
|
+
* @param verbose
|
|
43
|
+
*/
|
|
44
|
+
prepare(krillConfig?: IKrillConfig, ip?: boolean, random?: boolean, domain?: string, suspend?: boolean, small?: boolean, none?: boolean, cryped?: boolean, pve?: boolean, btrfs?: boolean, verbose?: boolean): Promise<void>;
|
|
45
|
+
/**
|
|
46
|
+
* WELCOME
|
|
47
|
+
*/
|
|
48
|
+
welcome(): Promise<IWelcome>;
|
|
49
|
+
/**
|
|
50
|
+
* LOCATION
|
|
51
|
+
*/
|
|
52
|
+
location(language: string): Promise<ILocation>;
|
|
53
|
+
/**
|
|
54
|
+
* KEYBOARD
|
|
55
|
+
*/
|
|
56
|
+
keyboard(): Promise<IKeyboard>;
|
|
57
|
+
/**
|
|
58
|
+
* PARTITIONS
|
|
59
|
+
*/
|
|
60
|
+
partitions(crypted?: boolean, pve?: boolean, btrfs?: boolean): Promise<IPartitions>;
|
|
61
|
+
/**
|
|
62
|
+
* USERS
|
|
63
|
+
*/
|
|
64
|
+
users(): Promise<IUsers>;
|
|
65
|
+
/**
|
|
66
|
+
* Network
|
|
67
|
+
*/
|
|
68
|
+
network(): Promise<INet>;
|
|
69
|
+
/**
|
|
70
|
+
* SUMMARY
|
|
71
|
+
*/
|
|
72
|
+
summary(location: ILocation, keyboard: IKeyboard, partitions: IPartitions, users: IUsers): Promise<void>;
|
|
73
|
+
/**
|
|
74
|
+
* return true if pv exist
|
|
75
|
+
*/
|
|
76
|
+
private pvExist;
|
|
77
|
+
}
|