penguins-eggs 10.0.37 → 10.0.40
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 +1 -1
- package/README.md +31 -30
- package/conf/derivatives.yaml +3 -2
- package/conf/distros/opensuse/README.md +3 -0
- package/conf/distros/opensuse/calamares/calamares-modules/bootloader-config/bootloader-config.sh +40 -0
- package/conf/distros/opensuse/calamares/calamares-modules/bootloader-config/module.yml +9 -0
- package/conf/distros/opensuse/calamares/calamares-modules/cleanup/cleanup.sh +13 -0
- package/conf/distros/opensuse/calamares/calamares-modules/cleanup/module.yml +9 -0
- package/conf/distros/opensuse/calamares/modules/bootloader.yml +57 -0
- package/conf/distros/opensuse/calamares/modules/displaymanager.yml +23 -0
- package/conf/distros/opensuse/calamares/modules/finished.yml +5 -0
- package/conf/distros/opensuse/calamares/modules/fstab.yml +12 -0
- package/conf/distros/opensuse/calamares/modules/locale.yml +98 -0
- package/conf/distros/opensuse/calamares/modules/luksopenswaphookcfg.yml +5 -0
- package/conf/distros/opensuse/calamares/modules/machineid.yml +17 -0
- package/conf/distros/opensuse/calamares/modules/mount.yml +56 -0
- package/conf/distros/opensuse/calamares/modules/packages.yml +6 -0
- package/conf/distros/opensuse/calamares/modules/partition.yml +242 -0
- package/conf/distros/opensuse/calamares/modules/removeuser.yml +15 -0
- package/conf/distros/opensuse/calamares/modules/unpackfs.yml +6 -0
- package/conf/distros/opensuse/calamares/modules/users.yml +18 -0
- package/conf/distros/opensuse/calamares/modules/welcome.yml +19 -0
- package/conf/distros/opensuse/calamares/settings.yml +57 -0
- package/conf/distros/rolling/calamares/modules/finished.yml +2 -1
- package/conf/distros/rolling/calamares/modules/partition.yml +1 -1
- package/conf/distros/rolling/calamares/settings.yml +3 -1
- package/dist/classes/bleach.js +5 -1
- package/dist/classes/cli-autologin.js +33 -27
- package/dist/classes/distro.js +48 -47
- package/dist/classes/families/fedora.js +1 -1
- package/dist/classes/incubation/fisherman.d.ts +1 -1
- package/dist/classes/incubation/fisherman.js +1 -1
- package/dist/classes/incubation/incubator.js +8 -0
- package/dist/classes/locales.js +1 -1
- package/dist/classes/ovary.d.ts +2 -6
- package/dist/classes/ovary.js +25 -32
- package/dist/classes/pacman.js +11 -11
- package/dist/classes/tailor.d.ts +11 -14
- package/dist/classes/tailor.js +184 -247
- package/dist/classes/utils.js +1 -1
- package/dist/commands/wardrobe/wear.js +3 -0
- package/dist/components/finished.js +5 -4
- package/dist/components/install.js +12 -8
- package/dist/interfaces/i-materia.d.ts +9 -14
- package/dist/krill/modules/add-user.js +9 -12
- package/dist/krill/modules/bootloader-config.js +15 -0
- package/dist/krill/modules/bootloader.js +2 -2
- package/dist/krill/modules/del-live-user.js +3 -2
- package/dist/krill/modules/fstab.js +2 -0
- package/dist/krill/modules/initramfs.js +10 -0
- package/dist/krill/modules/locale.js +5 -5
- package/dist/krill/modules/m-keyboard.js +3 -16
- package/dist/krill/modules/machine-id.js +3 -3
- package/dist/krill/modules/mkfs.d.ts +2 -0
- package/dist/krill/modules/mkfs.js +2 -0
- package/dist/krill/modules/unpackfs.js +3 -2
- package/dist/krill/sequence.d.ts +9 -6
- package/dist/krill/sequence.js +162 -259
- package/dracut/dracut.conf.d/01-live.conf +2 -1
- package/manpages/doc/man/eggs.1.gz +0 -0
- package/manpages/doc/man/eggs.html +4 -4
- package/mkinitcpio/arch/README.md +48 -0
- package/mkinitcpio/arch/mkinitcpio.conf +4 -3
- package/mkinitfs/initramfs-init.in +4 -3
- package/package.json +12 -9
- package/syslinux/chain.c32 +0 -0
- package/syslinux/isolinux.bin +0 -0
- package/syslinux/ldlinux.c32 +0 -0
- package/syslinux/libcom32.c32 +0 -0
- package/syslinux/libutil.c32 +0 -0
- package/syslinux/vesamenu.c32 +0 -0
|
@@ -0,0 +1,242 @@
|
|
|
1
|
+
# # Alpine 3.18
|
|
2
|
+
# partition.yaml
|
|
3
|
+
---
|
|
4
|
+
# This setting specifies the mount point of the EFI system partition. Some
|
|
5
|
+
# distributions (Fedora, Debian, Manjaro, etc.) use /boot/efi, others (KaOS,
|
|
6
|
+
# etc.) use just /boot.
|
|
7
|
+
efiSystemPartition: "/boot/efi"
|
|
8
|
+
|
|
9
|
+
# This optional setting specifies the size of the EFI system partition.
|
|
10
|
+
# If nothing is specified, the default size of 300MiB will be used.
|
|
11
|
+
# efiSystemPartitionSize: 300M
|
|
12
|
+
|
|
13
|
+
# In autogenerated partitioning, allow the user to select a swap size?
|
|
14
|
+
# If there is exactly one choice, no UI is presented, and the user
|
|
15
|
+
# cannot make a choice -- this setting is used. If there is more than
|
|
16
|
+
# one choice, a UI is presented.
|
|
17
|
+
#
|
|
18
|
+
# Legacy settings *neverCreateSwap* and *ensureSuspendToDisk* correspond
|
|
19
|
+
# to values of *userSwapChoices* as follows:
|
|
20
|
+
# - *neverCreateSwap* is true, means [none]
|
|
21
|
+
# - *neverCreateSwap* is false, *ensureSuspendToDisk* is false, [small]
|
|
22
|
+
# - *neverCreateSwap* is false, *ensureSuspendToDisk* is true, [suspend]
|
|
23
|
+
#
|
|
24
|
+
# Autogenerated swap sizes are as follows:
|
|
25
|
+
# - *suspend*: Swap is always at least total memory size,
|
|
26
|
+
# and up to 4GiB RAM follows the rule-of-thumb 2 * memory;
|
|
27
|
+
# from 4GiB to 8 GiB it stays steady at 8GiB, and over 8 GiB memory
|
|
28
|
+
# swap is the size of main memory.
|
|
29
|
+
# - *small*: Follows the rules above, but Swap is at
|
|
30
|
+
# most 8GiB, and no more than 10% of available disk.
|
|
31
|
+
# In both cases, a fudge factor (usually 10% extra) is applied so that there
|
|
32
|
+
# is some space for administrative overhead (e.g. 8 GiB swap will allocate
|
|
33
|
+
# 8.8GiB on disk in the end).
|
|
34
|
+
#
|
|
35
|
+
# If *file* is enabled here, make sure to have the *fstab* module
|
|
36
|
+
# as well (later in the exec phase) so that the swap file is
|
|
37
|
+
# actually created.
|
|
38
|
+
userSwapChoices:
|
|
39
|
+
- none # Create no swap, use no swap
|
|
40
|
+
- small # Up to 4GB
|
|
41
|
+
- suspend # At least main memory size
|
|
42
|
+
# - reuse # Re-use existing swap, but don't create any (unsupported right now)
|
|
43
|
+
- file # To swap file instead of partition
|
|
44
|
+
|
|
45
|
+
# This optional setting specifies the name of the swap partition (see
|
|
46
|
+
# PARTLABEL; gpt only; requires KPMCore >= 4.2.0).
|
|
47
|
+
# If nothing is specified, the partition name is left unset.
|
|
48
|
+
# swapPartitionName: swap
|
|
49
|
+
|
|
50
|
+
# LEGACY SETTINGS (these will generate a warning)
|
|
51
|
+
# ensureSuspendToDisk: true
|
|
52
|
+
# neverCreateSwap: false
|
|
53
|
+
|
|
54
|
+
# Correctly draw nested (e.g. logical) partitions as such.
|
|
55
|
+
drawNestedPartitions: false
|
|
56
|
+
|
|
57
|
+
# Show/hide partition labels on manual partitioning page.
|
|
58
|
+
alwaysShowPartitionLabels: true
|
|
59
|
+
|
|
60
|
+
# Allow manual partitioning.
|
|
61
|
+
#
|
|
62
|
+
# When set to false, this option hides the "Manual partitioning" button,
|
|
63
|
+
# limiting the user's choice to "Erase", "Replace" or "Alongside".
|
|
64
|
+
# This can be useful when using a custom partition layout we don't want
|
|
65
|
+
# the user to modify.
|
|
66
|
+
#
|
|
67
|
+
# If nothing is specified, manual partitioning is enabled.
|
|
68
|
+
#allowManualPartitioning: true
|
|
69
|
+
|
|
70
|
+
# Initial selection on the Choice page
|
|
71
|
+
#
|
|
72
|
+
# There are four radio buttons (in principle: erase, replace, alongside, manual),
|
|
73
|
+
# and you can pick which of them, if any, is initially selected. For most
|
|
74
|
+
# installers, "none" is the right choice: it makes the user pick something specific,
|
|
75
|
+
# rather than accidentally being able to click past an important choice (in particular,
|
|
76
|
+
# "erase" is a dangerous choice).
|
|
77
|
+
#
|
|
78
|
+
# The default is "none"
|
|
79
|
+
#
|
|
80
|
+
initialPartitioningChoice: none
|
|
81
|
+
#
|
|
82
|
+
# Similarly, some of the installation choices may offer a choice of swap;
|
|
83
|
+
# the available choices depend on *userSwapChoices*, above, and this
|
|
84
|
+
# setting can be used to pick a specific one.
|
|
85
|
+
#
|
|
86
|
+
# The default is "none" (no swap) if that is one of the enabled options, otherwise
|
|
87
|
+
# one of the items from the options.
|
|
88
|
+
initialSwapChoice: none
|
|
89
|
+
|
|
90
|
+
# Default partition table type, used when a "erase" disk is made.
|
|
91
|
+
#
|
|
92
|
+
# When erasing a disk, a new partition table is created on disk.
|
|
93
|
+
# In other cases, e.g. Replace and Alongside, as well as when using
|
|
94
|
+
# manual partitioning, this partition table exists already on disk
|
|
95
|
+
# and it is left unmodified.
|
|
96
|
+
#
|
|
97
|
+
# Suggested values: gpt, msdos
|
|
98
|
+
# If nothing is specified, Calamares defaults to "gpt" if system is
|
|
99
|
+
# efi or "msdos".
|
|
100
|
+
#
|
|
101
|
+
# Names are case-sensitive and defined by KPMCore.
|
|
102
|
+
# defaultPartitionTableType: msdos
|
|
103
|
+
|
|
104
|
+
# Requirement for partition table type
|
|
105
|
+
#
|
|
106
|
+
# Restrict the installation on disks that match the type of partition
|
|
107
|
+
# tables that are specified.
|
|
108
|
+
#
|
|
109
|
+
# Possible values: msdos, gpt. Names are case-sensitive and defined by KPMCore.
|
|
110
|
+
#
|
|
111
|
+
# If nothing is specified, Calamares defaults to both "msdos" and "gpt".
|
|
112
|
+
#
|
|
113
|
+
# requiredPartitionTableType: gpt
|
|
114
|
+
# requiredPartitionTableType:
|
|
115
|
+
# - msdos
|
|
116
|
+
# - gpt
|
|
117
|
+
|
|
118
|
+
# Default filesystem type, used when a "new" partition is made.
|
|
119
|
+
#
|
|
120
|
+
# When replacing a partition, the existing filesystem inside the
|
|
121
|
+
# partition is retained. In other cases, e.g. Erase and Alongside,
|
|
122
|
+
# as well as when using manual partitioning and creating a new
|
|
123
|
+
# partition, this filesystem type is pre-selected. Note that
|
|
124
|
+
# editing a partition in manual-creation mode will not automatically
|
|
125
|
+
# change the filesystem type to this default value -- it is not
|
|
126
|
+
# creating a new partition.
|
|
127
|
+
#
|
|
128
|
+
# Suggested values: ext2, ext3, ext4, reiser, xfs, jfs, btrfs
|
|
129
|
+
# If nothing is specified, Calamares defaults to "ext4".
|
|
130
|
+
#
|
|
131
|
+
# Names are case-sensitive and defined by KPMCore.
|
|
132
|
+
defaultFileSystemType: "ext4"
|
|
133
|
+
|
|
134
|
+
# Selectable filesystem type, used when "erase" is done.
|
|
135
|
+
#
|
|
136
|
+
# When erasing the disk, the *defaultFileSystemType* is used (see
|
|
137
|
+
# above), but it is also possible to give users a choice:
|
|
138
|
+
# list suitable filesystems here. A drop-down is provided
|
|
139
|
+
# to pick which is the filesystems will be used.
|
|
140
|
+
#
|
|
141
|
+
# The value *defaultFileSystemType* is added to this list (with a warning)
|
|
142
|
+
# if not present; the default pick is the *defaultFileSystemType*.
|
|
143
|
+
#
|
|
144
|
+
# If not specified at all, uses *defaultFileSystemType* without a
|
|
145
|
+
# warning (this matches traditional no-choice-available behavior best).
|
|
146
|
+
availableFileSystemTypes: ["ext4"]
|
|
147
|
+
|
|
148
|
+
# Show/hide LUKS related functionality in automated partitioning modes.
|
|
149
|
+
# Disable this if you choose not to deploy early unlocking support in GRUB2
|
|
150
|
+
# and/or your distribution's initramfs solution.
|
|
151
|
+
#
|
|
152
|
+
# BIG FAT WARNING:
|
|
153
|
+
#
|
|
154
|
+
# This option is unsupported, as it cuts out a crucial security feature.
|
|
155
|
+
# Disabling LUKS and shipping Calamares without a correctly configured GRUB2
|
|
156
|
+
# and initramfs is considered suboptimal use of the Calamares software. The
|
|
157
|
+
# Calamares team will not provide user support for any potential issue that
|
|
158
|
+
# may arise as a consequence of setting this option to false.
|
|
159
|
+
# It is strongly recommended that system integrators put in the work to support
|
|
160
|
+
# LUKS unlocking support in GRUB2 and initramfs/dracut/mkinitcpio/etc.
|
|
161
|
+
# For more information on setting up GRUB2 for Calamares with LUKS, see
|
|
162
|
+
# https://github.com/calamares/calamares/wiki/Deploy-LUKS
|
|
163
|
+
#
|
|
164
|
+
# If nothing is specified, LUKS is enabled in automated modes.
|
|
165
|
+
#enableLuksAutomatedPartitioning: true
|
|
166
|
+
|
|
167
|
+
# Partition layout.
|
|
168
|
+
#
|
|
169
|
+
# This optional setting specifies a custom partition layout.
|
|
170
|
+
#
|
|
171
|
+
# If nothing is specified, the default partition layout is a single partition
|
|
172
|
+
# for root that uses 100% of the space and uses the filesystem defined by
|
|
173
|
+
# defaultFileSystemType.
|
|
174
|
+
#
|
|
175
|
+
# Note: the EFI system partition is prepend automatically to the layout if
|
|
176
|
+
# needed; the swap partition is appended to the layout if enabled (small of
|
|
177
|
+
# suspend).
|
|
178
|
+
#
|
|
179
|
+
# Otherwise, the partition layout is defined as follow:
|
|
180
|
+
#
|
|
181
|
+
# partitionLayout:
|
|
182
|
+
# - name: "rootfs"
|
|
183
|
+
# type: "4f68bce3-e8cd-4db1-96e7-fbcaf984b709"
|
|
184
|
+
# filesystem: "ext4"
|
|
185
|
+
# mountPoint: "/"
|
|
186
|
+
# size: 20%
|
|
187
|
+
# minSize: 500M
|
|
188
|
+
# maxSize: 10G
|
|
189
|
+
# attributes: 0xffff000000000003
|
|
190
|
+
# - name: "home"
|
|
191
|
+
# type = "933ac7e1-2eb4-4f13-b844-0e14e2aef915"
|
|
192
|
+
# filesystem: "ext4"
|
|
193
|
+
# mountPoint: "/home"
|
|
194
|
+
# size: 3G
|
|
195
|
+
# minSize: 1.5G
|
|
196
|
+
# features:
|
|
197
|
+
# 64bit: false
|
|
198
|
+
# casefold: true
|
|
199
|
+
# - name: "data"
|
|
200
|
+
# filesystem: "fat32"
|
|
201
|
+
# mountPoint: "/data"
|
|
202
|
+
# features:
|
|
203
|
+
# sector-size: 4096
|
|
204
|
+
# sectors-per-cluster: 128
|
|
205
|
+
# size: 100%
|
|
206
|
+
#
|
|
207
|
+
# There can be any number of partitions, each entry having the following attributes:
|
|
208
|
+
# - name: filesystem label
|
|
209
|
+
# and
|
|
210
|
+
# partition name (gpt only; since KPMCore 4.2.0)
|
|
211
|
+
# - uuid: partition uuid (optional parameter; gpt only; requires KPMCore >= 4.2.0)
|
|
212
|
+
# - type: partition type (optional parameter; gpt only; requires KPMCore >= 4.2.0)
|
|
213
|
+
# - attributes: partition attributes (optional parameter; gpt only; requires KPMCore >= 4.2.0)
|
|
214
|
+
# - filesystem: filesystem type (optional parameter)
|
|
215
|
+
# - if not set at all, treat as "unformatted"
|
|
216
|
+
# - if "unformatted", no filesystem will be created
|
|
217
|
+
# - if "unknown" (or an unknown FS name, like "elephant") then the
|
|
218
|
+
# default filesystem type, or the user's choice, will be applied instead
|
|
219
|
+
# of "unknown" (e.g. the user might pick ext4, or xfs).
|
|
220
|
+
# - mountPoint: partition mount point (optional parameter; not mounted if unset)
|
|
221
|
+
# - size: partition size in bytes (append 'K', 'M' or 'G' for KiB, MiB or GiB)
|
|
222
|
+
# or
|
|
223
|
+
# % of the available drive space if a '%' is appended to the value
|
|
224
|
+
# - minSize: minimum partition size (optional parameter)
|
|
225
|
+
# - maxSize: maximum partition size (optional parameter)
|
|
226
|
+
# - features: filesystem features (optional parameter; requires KPMCore >= 4.2.0)
|
|
227
|
+
# name: boolean or integer or string
|
|
228
|
+
|
|
229
|
+
# Checking for available storage
|
|
230
|
+
#
|
|
231
|
+
# This overlaps with the setting of the same name in the welcome module's
|
|
232
|
+
# requirements section. If nothing is set by the welcome module, this
|
|
233
|
+
# value is used instead. It is still a problem if there is no required
|
|
234
|
+
# size set at all, and the replace and resize options will not be offered
|
|
235
|
+
# if no required size is set.
|
|
236
|
+
#
|
|
237
|
+
# The value is in Gibibytes (GiB).
|
|
238
|
+
#
|
|
239
|
+
# BIG FAT WARNING: except for OEM-phase-0 use, you should be using
|
|
240
|
+
# the welcome module, **and** configure this value in
|
|
241
|
+
# `welcome.conf`, not here.
|
|
242
|
+
requiredStorage: 6.0
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
# # Alpine 3.18
|
|
2
|
+
# removeuser
|
|
3
|
+
# SPDX-FileCopyrightText: no
|
|
4
|
+
# SPDX-License-Identifier: CC0-1.0
|
|
5
|
+
#
|
|
6
|
+
# Removes a single user (with userdel) from the system.
|
|
7
|
+
# This is typically used in OEM setups or if the live user
|
|
8
|
+
# spills into the target system.
|
|
9
|
+
#
|
|
10
|
+
# The module never fails; if userdel fails, this is logged
|
|
11
|
+
# but the module still reports success and installation / setup
|
|
12
|
+
# continues as normal.
|
|
13
|
+
---
|
|
14
|
+
# Username in the target system to be removed.
|
|
15
|
+
username: {{username}}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
---
|
|
2
|
+
userGroup: users
|
|
3
|
+
defaultGroups:
|
|
4
|
+
- cdrom
|
|
5
|
+
- floppy
|
|
6
|
+
- sudo
|
|
7
|
+
- audio
|
|
8
|
+
- dip
|
|
9
|
+
- video
|
|
10
|
+
- plugdev
|
|
11
|
+
- netdev
|
|
12
|
+
- lpadmin
|
|
13
|
+
- scanner
|
|
14
|
+
- bluetooth
|
|
15
|
+
autologinGroup: autologin
|
|
16
|
+
sudoersGroup: sudo
|
|
17
|
+
setRootPassword: true
|
|
18
|
+
doReusePassword: false
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
# Alpine 3.18
|
|
2
|
+
# welcome
|
|
3
|
+
---
|
|
4
|
+
showSupportUrl: true
|
|
5
|
+
showKnownIssuesUrl: true
|
|
6
|
+
showReleaseNotesUrl: true
|
|
7
|
+
|
|
8
|
+
requirements:
|
|
9
|
+
requiredStorage: 10
|
|
10
|
+
requiredRam: 1.0
|
|
11
|
+
check:
|
|
12
|
+
- storage
|
|
13
|
+
- ram
|
|
14
|
+
- power
|
|
15
|
+
- root
|
|
16
|
+
required:
|
|
17
|
+
- storage
|
|
18
|
+
- ram
|
|
19
|
+
- root
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
# Alpine 3.18
|
|
2
|
+
---
|
|
3
|
+
# "local" is LIBDIR/calamares/modules with settings in SHARE/calamares/modules
|
|
4
|
+
modules-search: [ local, /usr/lib/calamares/modules ]
|
|
5
|
+
|
|
6
|
+
oem-setup: false
|
|
7
|
+
disable-cancel: false
|
|
8
|
+
disable-cancel-during-exec: false
|
|
9
|
+
quit-at-end: false
|
|
10
|
+
|
|
11
|
+
instances:
|
|
12
|
+
- id: cleanup
|
|
13
|
+
module: shellprocess
|
|
14
|
+
config: shellprocess_cleanup.conf
|
|
15
|
+
|
|
16
|
+
sequence:
|
|
17
|
+
# Phase 1 - prepare.
|
|
18
|
+
- show:
|
|
19
|
+
- welcome
|
|
20
|
+
- locale
|
|
21
|
+
- keyboard
|
|
22
|
+
- partition
|
|
23
|
+
- users
|
|
24
|
+
- summary
|
|
25
|
+
|
|
26
|
+
# Phase 2 - install.
|
|
27
|
+
- exec:
|
|
28
|
+
- partition
|
|
29
|
+
- mount
|
|
30
|
+
- unpackfs
|
|
31
|
+
- machineid
|
|
32
|
+
- fstab
|
|
33
|
+
- locale
|
|
34
|
+
- keyboard
|
|
35
|
+
- users
|
|
36
|
+
- displaymanager
|
|
37
|
+
- networkcfg
|
|
38
|
+
- hwclock
|
|
39
|
+
- services-openrc
|
|
40
|
+
- bootloader-config
|
|
41
|
+
- grubcfg
|
|
42
|
+
- bootloader
|
|
43
|
+
- packages
|
|
44
|
+
- luksbootkeyfile
|
|
45
|
+
- plymouthcfg
|
|
46
|
+
- mkinitfs
|
|
47
|
+
- removeuser
|
|
48
|
+
- umount
|
|
49
|
+
|
|
50
|
+
# Phase 3 - postinstall.
|
|
51
|
+
- show:
|
|
52
|
+
- finished
|
|
53
|
+
|
|
54
|
+
# branding
|
|
55
|
+
branding: {{branding}}
|
|
56
|
+
prompt-install: false
|
|
57
|
+
dont-chroot: false
|
|
@@ -31,7 +31,8 @@
|
|
|
31
31
|
# This is new behavior.
|
|
32
32
|
#
|
|
33
33
|
# The three combinations of legacy values are still supported.
|
|
34
|
-
restartNowMode: user-unchecked
|
|
34
|
+
#restartNowMode: user-unchecked
|
|
35
|
+
restartNowEnabled: true
|
|
35
36
|
restartNowChecked: true
|
|
36
37
|
# If the checkbox is shown, and the checkbox is checked, then when
|
|
37
38
|
# Calamares exits from the finished-page it will run this command.
|
|
@@ -143,7 +143,7 @@ defaultFileSystemType: "ext4"
|
|
|
143
143
|
#
|
|
144
144
|
# If not specified at all, uses *defaultFileSystemType* without a
|
|
145
145
|
# warning (this matches traditional no-choice-available behavior best).
|
|
146
|
-
availableFileSystemTypes: ["ext4"]
|
|
146
|
+
availableFileSystemTypes: ["ext4","btrfs"]
|
|
147
147
|
|
|
148
148
|
# Show/hide LUKS related functionality in automated partitioning modes.
|
|
149
149
|
# Disable this if you choose not to deploy early unlocking support in GRUB2
|
|
@@ -40,7 +40,7 @@ sequence:
|
|
|
40
40
|
{{hasDisplaymanager}}displaymanager
|
|
41
41
|
- networkcfg
|
|
42
42
|
- hwclock
|
|
43
|
-
|
|
43
|
+
# grubcfg
|
|
44
44
|
- bootloader
|
|
45
45
|
- packages
|
|
46
46
|
- luksbootkeyfile
|
|
@@ -87,3 +87,5 @@ prompt-install: false
|
|
|
87
87
|
# YAML: boolean.
|
|
88
88
|
dont-chroot: false
|
|
89
89
|
|
|
90
|
+
# preso da debian
|
|
91
|
+
quit-at-end: false
|
package/dist/classes/bleach.js
CHANGED
|
@@ -96,8 +96,8 @@ export default class CliAutologin {
|
|
|
96
96
|
content += lines[i] + '\n';
|
|
97
97
|
}
|
|
98
98
|
fs.writeFileSync(inittab, content, 'utf-8');
|
|
99
|
-
await this.addIssue(distro, version, user, userPasswd, rootPasswd, chroot);
|
|
100
99
|
await this.addMotd(distro, version, user, userPasswd, rootPasswd, chroot);
|
|
100
|
+
await this.addIssue(distro, version, user, userPasswd, rootPasswd, chroot);
|
|
101
101
|
}
|
|
102
102
|
}
|
|
103
103
|
/**
|
|
@@ -111,13 +111,17 @@ export default class CliAutologin {
|
|
|
111
111
|
*/
|
|
112
112
|
async addIssue(distro, version, user, userPasswd, rootPasswd, chroot = '/') {
|
|
113
113
|
const fileIssue = `${chroot}/etc/issue`;
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
114
|
+
if (fs.existsSync(fileIssue)) {
|
|
115
|
+
if (!fs.lstatSync(fileIssue).isSymbolicLink()) {
|
|
116
|
+
this.msgRemove(fileIssue);
|
|
117
|
+
let content = fs.readFileSync(fileIssue, 'utf8');
|
|
118
|
+
content += startMessage + '\n';
|
|
119
|
+
content += `This is a ${distro}/${version} system created by Penguins' eggs.\n`;
|
|
120
|
+
content += 'You can login with user: ' + chalk.bold(user) + ' and password: ' + chalk.bold(userPasswd) + ', root password: ' + chalk.bold(rootPasswd) + '\n';
|
|
121
|
+
content += stopMessage + '\n';
|
|
122
|
+
fs.writeFileSync(fileIssue, content);
|
|
123
|
+
}
|
|
124
|
+
}
|
|
121
125
|
}
|
|
122
126
|
/**
|
|
123
127
|
*
|
|
@@ -148,11 +152,10 @@ export default class CliAutologin {
|
|
|
148
152
|
eggsMotd += Utils.flag() + '\n';
|
|
149
153
|
eggsMotd += 'You are logged as: ' + chalk.bold(user) + ' your password is: ' + chalk.bold(userPasswd) + ', root password: ' + chalk.bold(rootPasswd) + '\n\n';
|
|
150
154
|
eggsMotd += 'install : ' + chalk.bold(installer) + '\n';
|
|
151
|
-
eggsMotd += '
|
|
152
|
-
eggsMotd += '
|
|
153
|
-
eggsMotd += '
|
|
154
|
-
eggsMotd += '
|
|
155
|
-
eggsMotd += ' create your configuration in /config and ask for a Pull Request' + '\n';
|
|
155
|
+
eggsMotd += ' --unattended : ' + chalk.bold('sudo eggs install --unattended') + '\n';
|
|
156
|
+
eggsMotd += ' --chroot : ' + chalk.bold('sudo eggs install --chroot') + '\n';
|
|
157
|
+
eggsMotd += ' --help : ' + chalk.bold('sudo eggs install --help') + '\n';
|
|
158
|
+
eggsMotd += '\n';
|
|
156
159
|
eggsMotd += stopMessage + '\n';
|
|
157
160
|
fs.writeFileSync(fileMotd, eggsMotd);
|
|
158
161
|
}
|
|
@@ -170,7 +173,6 @@ export default class CliAutologin {
|
|
|
170
173
|
if (fs.existsSync(dirOverride)) {
|
|
171
174
|
shx.exec(`rm ${dirOverride} -rf`);
|
|
172
175
|
}
|
|
173
|
-
// shx.exec(`systemctl revert getty@.service`)
|
|
174
176
|
this.msgRemove(`${chroot}/etc/motd`);
|
|
175
177
|
this.msgRemove(`${chroot}/etc/issue`);
|
|
176
178
|
}
|
|
@@ -210,8 +212,10 @@ export default class CliAutologin {
|
|
|
210
212
|
}
|
|
211
213
|
content += lines[i] + '\n';
|
|
212
214
|
}
|
|
215
|
+
// motd
|
|
213
216
|
fs.writeFileSync(inittab, content, 'utf-8');
|
|
214
217
|
this.msgRemove(`${chroot}/etc/motd`);
|
|
218
|
+
// issue
|
|
215
219
|
this.msgRemove(`${chroot}/etc/issue`);
|
|
216
220
|
} // to add: openrc and runit for Devuan
|
|
217
221
|
}
|
|
@@ -221,21 +225,23 @@ export default class CliAutologin {
|
|
|
221
225
|
*/
|
|
222
226
|
async msgRemove(path) {
|
|
223
227
|
if (fs.existsSync(path)) {
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
228
|
+
if (!fs.lstatSync(path).isSymbolicLink()) {
|
|
229
|
+
const rows = fs.readFileSync(path, 'utf8').split('\n');
|
|
230
|
+
let cleaned = '';
|
|
231
|
+
let remove = false;
|
|
232
|
+
for (const row of rows) {
|
|
233
|
+
if (row.includes(startMessage)) {
|
|
234
|
+
remove = true;
|
|
235
|
+
}
|
|
236
|
+
if (!remove && row !== '') {
|
|
237
|
+
cleaned += row + '\n';
|
|
238
|
+
}
|
|
239
|
+
if (row.includes(stopMessage)) {
|
|
240
|
+
remove = false;
|
|
241
|
+
}
|
|
236
242
|
}
|
|
243
|
+
fs.writeFileSync(path, cleaned, 'utf-8');
|
|
237
244
|
}
|
|
238
|
-
fs.writeFileSync(path, cleaned, 'utf-8');
|
|
239
245
|
}
|
|
240
246
|
}
|
|
241
247
|
}
|
package/dist/classes/distro.js
CHANGED
|
@@ -38,6 +38,7 @@ class Distro {
|
|
|
38
38
|
* Costruttore
|
|
39
39
|
*/
|
|
40
40
|
constructor() {
|
|
41
|
+
let found = false;
|
|
41
42
|
this.bugReportUrl = 'https://github.com-pieroproietti/penguins-eggs/issue';
|
|
42
43
|
this.codenameId = '';
|
|
43
44
|
this.codenameLikeId = '';
|
|
@@ -124,7 +125,7 @@ class Distro {
|
|
|
124
125
|
* opensuse compatible
|
|
125
126
|
*/
|
|
126
127
|
case 'openSUSE': {
|
|
127
|
-
this.familyId = '
|
|
128
|
+
this.familyId = 'opensuse';
|
|
128
129
|
break;
|
|
129
130
|
}
|
|
130
131
|
/**
|
|
@@ -219,7 +220,6 @@ class Distro {
|
|
|
219
220
|
/**
|
|
220
221
|
* Arch
|
|
221
222
|
*/
|
|
222
|
-
case 'Spizaetus':
|
|
223
223
|
case 'n/a':
|
|
224
224
|
case 'rolling': {
|
|
225
225
|
this.familyId = 'archlinux';
|
|
@@ -237,7 +237,6 @@ class Distro {
|
|
|
237
237
|
/**
|
|
238
238
|
* patch per Roy VERIFICARE
|
|
239
239
|
*/
|
|
240
|
-
let found = false;
|
|
241
240
|
let file = path.resolve(__dirname, '../../conf/derivatives.yaml');
|
|
242
241
|
if (fs.existsSync('/etc/penguins-eggs.d/derivatives.yaml')) {
|
|
243
242
|
file = '/etc/penguins-eggs.d/derivatives.yaml';
|
|
@@ -256,15 +255,6 @@ class Distro {
|
|
|
256
255
|
}
|
|
257
256
|
}
|
|
258
257
|
}
|
|
259
|
-
if (!found) {
|
|
260
|
-
console.log(`This distro ${this.distroId}/${this.codenameId} is not yet recognized!`);
|
|
261
|
-
console.log('');
|
|
262
|
-
console.log('You can edit /usr/lib/penguins-eggs/conf/derivatives.yaml to add it -');
|
|
263
|
-
console.log('after that - run: sudo eggs dad -d to re-configure eggs.');
|
|
264
|
-
console.log('If you can create your new iso, you can contribute to the project');
|
|
265
|
-
console.log('by suggesting your modification.');
|
|
266
|
-
process.exit(0);
|
|
267
|
-
}
|
|
268
258
|
}
|
|
269
259
|
}
|
|
270
260
|
/**
|
|
@@ -291,7 +281,26 @@ class Distro {
|
|
|
291
281
|
}
|
|
292
282
|
} // Fine analisi distroId
|
|
293
283
|
/**
|
|
294
|
-
*
|
|
284
|
+
* if lsb-release exists
|
|
285
|
+
*/
|
|
286
|
+
const lsbConfig = '/etc/lsb-release';
|
|
287
|
+
if (fs.existsSync(lsbConfig)) {
|
|
288
|
+
this.distroId = Utils.searchOnFile(lsbConfig, `DISTRIB_ID`);
|
|
289
|
+
this.codenameId = Utils.searchOnFile(lsbConfig, `DISTRIB_CODENAME`);
|
|
290
|
+
// patch for BigLinux
|
|
291
|
+
if (this.distroId.toLowerCase().includes('biglinux')) {
|
|
292
|
+
this.distroId = 'biglinux';
|
|
293
|
+
}
|
|
294
|
+
}
|
|
295
|
+
/**
|
|
296
|
+
* ManjaroLinux and BigLinux
|
|
297
|
+
*/
|
|
298
|
+
if (this.distroId === 'ManjaroLinux' || this.distroId.toLowerCase().includes('biglinux')) {
|
|
299
|
+
this.liveMediumPath = '/run/miso/bootmnt/';
|
|
300
|
+
this.squashfs = 'manjaro/x86_64/livefs.sfs';
|
|
301
|
+
}
|
|
302
|
+
/**
|
|
303
|
+
* all the distros without codename: Alpine, fedora, opensuse
|
|
295
304
|
*/
|
|
296
305
|
switch (this.familyId) {
|
|
297
306
|
case 'alpine': {
|
|
@@ -306,6 +315,7 @@ class Distro {
|
|
|
306
315
|
this.isolinuxPath = this.syslinuxPath;
|
|
307
316
|
// At the moment
|
|
308
317
|
this.isCalamaresAvailable = true;
|
|
318
|
+
found = true;
|
|
309
319
|
break;
|
|
310
320
|
}
|
|
311
321
|
case 'fedora': {
|
|
@@ -318,43 +328,34 @@ class Distro {
|
|
|
318
328
|
this.usrLibPath = '/usr/lib/';
|
|
319
329
|
this.memdiskPath = this.syslinuxPath;
|
|
320
330
|
this.isolinuxPath = this.syslinuxPath;
|
|
321
|
-
// At the moment
|
|
322
331
|
this.isCalamaresAvailable = true;
|
|
332
|
+
found = true;
|
|
323
333
|
break;
|
|
324
334
|
}
|
|
325
|
-
case '
|
|
326
|
-
|
|
327
|
-
|
|
328
|
-
|
|
329
|
-
|
|
330
|
-
|
|
331
|
-
|
|
332
|
-
|
|
333
|
-
|
|
334
|
-
|
|
335
|
-
|
|
336
|
-
|
|
337
|
-
|
|
338
|
-
|
|
339
|
-
|
|
340
|
-
|
|
341
|
-
|
|
342
|
-
|
|
343
|
-
|
|
344
|
-
|
|
345
|
-
|
|
346
|
-
|
|
347
|
-
|
|
348
|
-
|
|
349
|
-
this.distroId = 'biglinux';
|
|
350
|
-
}
|
|
351
|
-
}
|
|
352
|
-
/**
|
|
353
|
-
* ManjaroLinux and BigLinux
|
|
354
|
-
*/
|
|
355
|
-
if (this.distroId === 'ManjaroLinux' || this.distroId.toLowerCase().includes('biglinux')) {
|
|
356
|
-
this.liveMediumPath = '/run/miso/bootmnt/';
|
|
357
|
-
this.squashfs = 'manjaro/x86_64/livefs.sfs';
|
|
335
|
+
case 'opensuse':
|
|
336
|
+
{
|
|
337
|
+
this.distroLike = 'openSUSE';
|
|
338
|
+
this.codenameId = 'rolling';
|
|
339
|
+
this.codenameLikeId = 'opensuse';
|
|
340
|
+
this.liveMediumPath = '/run/initramfs/live/'; // è il mount della root su cd di installatione
|
|
341
|
+
this.syslinuxPath = '/usr/share/syslinux/';
|
|
342
|
+
this.pxelinuxPath = this.syslinuxPath;
|
|
343
|
+
this.usrLibPath = '/usr/lib/';
|
|
344
|
+
this.memdiskPath = this.syslinuxPath;
|
|
345
|
+
this.isolinuxPath = this.syslinuxPath;
|
|
346
|
+
this.isCalamaresAvailable = true;
|
|
347
|
+
found = true;
|
|
348
|
+
break;
|
|
349
|
+
}
|
|
350
|
+
if (!found) {
|
|
351
|
+
console.log(`This distro ${this.distroId}/${this.codenameId} is not yet recognized!`);
|
|
352
|
+
console.log('');
|
|
353
|
+
console.log('You can edit /usr/lib/penguins-eggs/conf/derivatives.yaml to add it -');
|
|
354
|
+
console.log('after that - run: sudo eggs dad -d to re-configure eggs.');
|
|
355
|
+
console.log('If you can create your new iso, you can contribute to the project');
|
|
356
|
+
console.log('by suggesting your modification.');
|
|
357
|
+
process.exit(0);
|
|
358
|
+
}
|
|
358
359
|
}
|
|
359
360
|
}
|
|
360
361
|
}
|