penguins-eggs 25.11.8 → 25.11.21

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.
Files changed (166) hide show
  1. package/.oclif.manifest.json +149 -140
  2. package/README.md +90 -132
  3. package/README.pdf +1343 -2331
  4. package/addons/eggs/adapt/applications/eggs-adapt.desktop +0 -0
  5. package/addons/eggs/pve/applications/eggs-pve.desktop +0 -0
  6. package/addons/eggs/rsupport/applications/eggs-rsupport.desktop +0 -0
  7. package/addons/eggs/theme/applications/install-system.desktop +0 -0
  8. package/assets/calamares/install-system.sh +0 -0
  9. package/assets/penguins-eggs.desktop +0 -0
  10. package/assets/penguins-krill.desktop +0 -0
  11. package/assets/penguins-links-add.desktop +0 -0
  12. package/assets/penguins-live-installer.desktop +0 -0
  13. package/bin/dev.js +0 -0
  14. package/conf/distros/alpine/calamares/calamares-modules/machineid-openrc/machineid-openrc.sh +0 -0
  15. package/conf/distros/archlinux/calamares/modules/bootloader.yml +1 -1
  16. package/conf/distros/archlinux/calamares/modules/partition.yml +385 -8
  17. package/conf/distros/buster/calamares/calamares-modules/cleanup/cleanup.sh +0 -0
  18. package/conf/distros/buster/calamares/calamares-modules/dpkg-unsafe-io/dpkg-unsafe-io.sh +0 -0
  19. package/conf/distros/buster/calamares/calamares-modules/sources-yolk/sources-yolk.sh +0 -0
  20. package/conf/distros/fedora/calamares/calamares-modules/bootloaderspecification/bootloaderspecification.sh +0 -0
  21. package/conf/distros/focal/calamares/calamares-modules/.keepit +0 -0
  22. package/conf/distros/focal/calamares/calamares-modules/cleanup/cleanup.sh +20 -0
  23. package/conf/distros/focal/calamares/calamares-modules/cleanup/module.yml +9 -0
  24. package/conf/distros/focal/calamares/calamares-modules/sources-yolk/module.yml +8 -0
  25. package/conf/distros/focal/calamares/calamares-modules/sources-yolk/sources-yolk.sh +50 -0
  26. package/conf/distros/focal/calamares/calamares-modules/sources-yolk-undo/module.yml +8 -0
  27. package/conf/distros/focal/calamares/libexec/.keepit +0 -0
  28. package/conf/distros/focal/calamares/libexec/README.md +5 -0
  29. package/conf/distros/focal/calamares/libexec/calamares-aptsources.sh +15 -0
  30. package/conf/distros/focal/calamares/libexec/calamares-l10n-helper.sh +38 -0
  31. package/conf/distros/focal/calamares/libexec/calamares-logs-helper.sh +34 -0
  32. package/conf/distros/focal/calamares/libexec/calamares-nomodeset.sh +19 -0
  33. package/conf/distros/focal/calamares/modules/after_bootloader_context.yml +26 -0
  34. package/conf/distros/focal/calamares/modules/before_bootloader_context.yml +12 -0
  35. package/conf/distros/focal/calamares/modules/bootloader.yml +86 -0
  36. package/conf/distros/focal/calamares/modules/bootloader.yml.old +35 -0
  37. package/conf/distros/focal/calamares/modules/displaymanager.yml +12 -0
  38. package/conf/distros/focal/calamares/modules/finished.yml +6 -0
  39. package/conf/distros/focal/calamares/modules/fstab.yml +63 -0
  40. package/conf/distros/focal/calamares/modules/grubcfg.yml +51 -0
  41. package/conf/distros/focal/calamares/modules/keyboard.yml +29 -0
  42. package/conf/distros/focal/calamares/modules/locale.yml +7 -0
  43. package/conf/distros/focal/calamares/modules/machineid.yml +10 -0
  44. package/conf/distros/focal/calamares/modules/mount.yml +20 -0
  45. package/conf/distros/focal/calamares/modules/netinstall.yml +5 -0
  46. package/conf/distros/focal/calamares/modules/packages.mustache +5 -0
  47. package/conf/distros/focal/calamares/modules/partition.yml +21 -0
  48. package/conf/distros/focal/calamares/modules/removeuser.mustache +3 -0
  49. package/conf/distros/focal/calamares/modules/shellprocess@aptsources.yml +11 -0
  50. package/conf/distros/focal/calamares/modules/shellprocess@boot_deploy.yml +9 -0
  51. package/conf/distros/focal/calamares/modules/shellprocess@boot_reconfigure.yml +15 -0
  52. package/conf/distros/focal/calamares/modules/shellprocess@install_translations.yml +8 -0
  53. package/conf/distros/focal/calamares/modules/shellprocess@logs.yml +8 -0
  54. package/conf/distros/focal/calamares/modules/shellprocess@mkinitramfs.yml +6 -0
  55. package/conf/distros/focal/calamares/modules/shellprocess@nomodeset.yml +12 -0
  56. package/conf/distros/focal/calamares/modules/umount.yml +4 -0
  57. package/conf/distros/focal/calamares/modules/unpackfs.mustache +6 -0
  58. package/conf/distros/focal/calamares/modules/users.yml +27 -0
  59. package/conf/distros/focal/calamares/modules/welcome.yml +24 -0
  60. package/conf/distros/focal/calamares/settings.yml +97 -0
  61. package/conf/distros/noble/calamares/calamares-modules/cleanup/cleanup.sh +0 -0
  62. package/conf/distros/noble/calamares/calamares-modules/sources-yolk/sources-yolk.sh +0 -0
  63. package/conf/distros/noble/calamares/libexec/calamares-aptsources.sh +0 -0
  64. package/conf/distros/noble/calamares/libexec/calamares-l10n-helper.sh +0 -0
  65. package/conf/distros/noble/calamares/libexec/calamares-logs-helper.sh +0 -0
  66. package/conf/distros/noble/calamares/libexec/calamares-nomodeset.sh +0 -0
  67. package/conf/distros/opensuse/calamares/calamares-modules/bootloaderspecification/bootloaderspecification.sh +0 -0
  68. package/conf/distros/opensuse/calamares/settings.yml +0 -0
  69. package/conf/distros/opensuse/calamares/zstd2lzo.sh +0 -0
  70. package/conf/distros/trixie/calamares/calamares-modules/cleanup/cleanup.sh +0 -0
  71. package/conf/distros/trixie/calamares/calamares-modules/dpkg-unsafe-io/dpkg-unsafe-io.sh +0 -0
  72. package/conf/distros/trixie/calamares/calamares-modules/sources-yolk/sources-yolk.sh +0 -0
  73. package/conf/init/unattended.sh +0 -0
  74. package/dist/appimage/first-run-check.d.ts +8 -0
  75. package/dist/appimage/first-run-check.js +13 -0
  76. package/dist/appimage/prerequisites.d.ts +34 -0
  77. package/dist/appimage/prerequisites.js +350 -0
  78. package/dist/bin/dev.cmd +3 -0
  79. package/dist/bin/dev.js +6 -0
  80. package/dist/bin/run.cmd +3 -0
  81. package/dist/bin/run.js +5 -0
  82. package/dist/classes/cli-autologin.js +4 -4
  83. package/dist/classes/distro.js +11 -27
  84. package/dist/classes/diversions.d.ts +5 -0
  85. package/dist/classes/diversions.js +23 -7
  86. package/dist/classes/incubation/customize/customize-partitions.js +8 -1
  87. package/dist/classes/incubation/fisherman-helper/packages.js +1 -1
  88. package/dist/classes/incubation/incubator.js +2 -2
  89. package/dist/classes/pacman.d/archlinux.js +5 -5
  90. package/dist/classes/pacman.d/debian.js +0 -2
  91. package/dist/classes/pacman.d/opensuse.js +2 -2
  92. package/dist/classes/pacman.js +10 -11
  93. package/dist/classes/utils.d.ts +4 -0
  94. package/dist/classes/utils.js +19 -3
  95. package/dist/commands/calamares.js +1 -1
  96. package/dist/commands/config.js +2 -2
  97. package/dist/commands/{analyze.d.ts → export/appimage.d.ts} +10 -9
  98. package/dist/commands/export/appimage.js +76 -0
  99. package/dist/commands/export/iso.js +1 -1
  100. package/dist/commands/export/pkg.d.ts +1 -1
  101. package/dist/commands/export/pkg.js +2 -2
  102. package/dist/commands/{install.d.ts → krill.d.ts} +3 -4
  103. package/dist/commands/{install.js → krill.js} +5 -6
  104. package/dist/commands/produce.js +1 -1
  105. package/dist/commands/setup.d.ts +21 -0
  106. package/dist/commands/setup.js +90 -0
  107. package/dist/commands/tools/repo.d.ts +0 -5
  108. package/dist/commands/tools/repo.js +205 -127
  109. package/dist/commands/update.d.ts +1 -1
  110. package/dist/commands/update.js +68 -59
  111. package/dist/krill/components/information.js +2 -2
  112. package/dist/krill/components/title.js +13 -13
  113. package/dist/lib/utils.d.ts +16 -0
  114. package/dist/lib/utils.js +24 -32
  115. package/dracut/create-symlink +0 -0
  116. package/dracut/export +0 -0
  117. package/dracut/export-dracut-analysis +0 -0
  118. package/dracut/export-dracut-log +0 -0
  119. package/dracut/mkisofs +0 -0
  120. package/dracut/modules.d/00debug-shell/debug-hook.sh +0 -0
  121. package/dracut/modules.d/00debug-shell/module-setup.sh +0 -0
  122. package/dracut/modules.d/90block/block-cmdline.sh +0 -0
  123. package/dracut/modules.d/90block/module-setup.sh +0 -0
  124. package/dracut/modules.d/95iso-scan/iso-scan-fallback.sh +0 -0
  125. package/dracut/modules.d/95iso-scan/iso-scan.sh +0 -0
  126. package/dracut/modules.d/95iso-scan/module-setup.sh +0 -0
  127. package/dracut/modules.d/95luks-loop/luks-loop.sh +0 -0
  128. package/dracut/modules.d/95luks-loop/module-setup.sh +0 -0
  129. package/dracut/renew-initramfs +0 -0
  130. package/dracut/sbin2bin +0 -0
  131. package/dracut/update-dracut-conf-d +0 -0
  132. package/dracut/update-dracut-modules +0 -0
  133. package/eui/eui-autostart-cinnamon.desktop +0 -0
  134. package/eui/eui-autostart-xfce.desktop +0 -0
  135. package/eui/eui-create-image.sh +0 -0
  136. package/eui/eui-start.sh +0 -0
  137. package/manpages/doc/man/eggs.1.gz +0 -0
  138. package/manpages/doc/man/eggs.html +582 -9
  139. package/package.json +125 -130
  140. package/perrisbrewery/scripts/postinst +0 -0
  141. package/perrisbrewery/scripts/postrm +0 -0
  142. package/perrisbrewery/scripts/preinst +0 -0
  143. package/perrisbrewery/scripts/prerm +0 -0
  144. package/perrisbrewery/template/dependencies.yaml +0 -5
  145. package/perrisbrewery/template/man.template.md +7 -0
  146. package/scripts/99clean +0 -0
  147. package/scripts/_eggs +28 -47
  148. package/scripts/adapt.sh +0 -0
  149. package/scripts/appimage-build.sh +152 -0
  150. package/scripts/appimage-install.sh +43 -0
  151. package/scripts/bros/waydroid-helper.sh +0 -0
  152. package/scripts/eggs.bash +3 -4
  153. package/scripts/lsb_release +0 -0
  154. package/scripts/mom.sh +0 -0
  155. package/scripts/pve-live.service +0 -0
  156. package/scripts/pve-live.sh +0 -0
  157. package/scripts/resy +0 -0
  158. package/dist/classes/distro-hossein.d.ts +0 -52
  159. package/dist/classes/distro-hossein.js +0 -239
  160. package/dist/classes/incubation/incubator.d/bionic.d.ts +0 -32
  161. package/dist/classes/incubation/incubator.d/bionic.js +0 -83
  162. package/dist/commands/analyze.js +0 -95
  163. package/dist/commands/pods.d.ts +0 -22
  164. package/dist/commands/pods.js +0 -92
  165. package/scripts/boot-encrypted-root.sh +0 -220
  166. package/scripts/mount-encrypted-home.sh +0 -324
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
package/bin/dev.js CHANGED
File without changes
@@ -83,4 +83,4 @@ efiBootMgr: "efibootmgr"
83
83
  installEFIFallback: true
84
84
 
85
85
  # Optionally install both BIOS and UEFI GRUB bootloaders.
86
- installHybridGRUB: false
86
+ installHybridGRUB: false
@@ -1,15 +1,392 @@
1
- # This come from manjaro
2
- ---
3
- efiSystemPartition: "/boot/efi"
1
+ # SPDX-FileCopyrightText: no
2
+ # SPDX-License-Identifier: CC0-1.0
3
+ #
4
+
5
+ # Options for EFI system partition.
6
+ #
7
+ # - *mountPoint*
8
+ # This setting specifies the mount point of the EFI system partition. Some
9
+ # distributions (Fedora, Debian, Manjaro, etc.) use /boot/efi, others (KaOS,
10
+ # etc.) use just /boot.
11
+ #
12
+ # Defaults to "/boot/efi", may be empty (but weird effects ensue)
13
+ # - *recommendedSize*
14
+ # This optional setting specifies the size of the EFI system partition.
15
+ # If nothing is specified, the default size of 300MiB will be used.
16
+ # When writing quantities here, M is treated as MiB, and if you really
17
+ # want one-million (10^6) bytes, use MB.
18
+ # - *minimumSize*
19
+ # This optional setting specifies the absolute minimum size of the EFI
20
+ # system partition. If nothing is specified, the *recommendedSize*
21
+ # is used instead.
22
+ # - *label*
23
+ # This optional setting specifies the name of the EFI system partition (see
24
+ # PARTLABEL; gpt only; requires KPMCore >= 4.2.0).
25
+ # If nothing is specified, the partition name is left unset.
26
+ #
27
+ # Going below the *recommended* size is allowed, but the user will
28
+ # get a warning that it might not work. Going below the *minimum*
29
+ # size is not allowed and the user will be told it will not work.
30
+ #
31
+ # Both quantities must be at least 32MiB, this is enforced by the EFI
32
+ # spec. If minimum is not specified, it defaults to the recommended
33
+ # size. Distros that allow more user latitude can set the minimum lower.
34
+ efi:
35
+ mountPoint: "/boot/efi"
36
+ recommendedSize: 300MiB
37
+ minimumSize: 32MiB
38
+ label: "EFI"
39
+
40
+ # Deprecated alias of efi.mountPoint
41
+ # efiSystemPartition: "/boot/efi"
42
+
43
+ # Deprecated alias of efi.recommendedSize
44
+ # efiSystemPartitionSize: 300MiB
45
+
46
+ # Deprecated alias of efi.label
47
+ # efiSystemPartitionName: EFI
48
+
49
+ # In autogenerated partitioning, allow the user to select a swap size?
50
+ # If there is exactly one choice, no UI is presented, and the user
51
+ # cannot make a choice -- this setting is used. If there is more than
52
+ # one choice, a UI is presented.
53
+ #
54
+ # Legacy settings *neverCreateSwap* and *ensureSuspendToDisk* correspond
55
+ # to values of *userSwapChoices* as follows:
56
+ # - *neverCreateSwap* is true, means [none]
57
+ # - *neverCreateSwap* is false, *ensureSuspendToDisk* is false, [small]
58
+ # - *neverCreateSwap* is false, *ensureSuspendToDisk* is true, [suspend]
59
+ #
60
+ # Autogenerated swap sizes are as follows:
61
+ # - *suspend*: Swap is always at least total memory size,
62
+ # and up to 4GiB RAM follows the rule-of-thumb 2 * memory;
63
+ # from 4GiB to 8 GiB it stays steady at 8GiB, and over 8 GiB memory
64
+ # swap is the size of main memory.
65
+ # - *small*: Follows the rules above, but Swap is at
66
+ # most 8GiB, and no more than 10% of available disk.
67
+ # In both cases, a fudge factor (usually 10% extra) is applied so that there
68
+ # is some space for administrative overhead (e.g. 8 GiB swap will allocate
69
+ # 8.8GiB on disk in the end).
70
+ #
71
+ # If *file* is enabled here, make sure to have the *fstab* module
72
+ # as well (later in the exec phase) so that the swap file is
73
+ # actually created.
4
74
  userSwapChoices:
5
75
  - none # Create no swap, use no swap
6
76
  - small # Up to 4GB
7
77
  - suspend # At least main memory size
78
+ # - reuse # Re-use existing swap, but don't create any (unsupported right now)
8
79
  - file # To swap file instead of partition
80
+
81
+ # This optional setting specifies the name of the swap partition (see
82
+ # PARTLABEL; gpt only; requires KPMCore >= 4.2.0).
83
+ # If nothing is specified, the partition name is left unset.
84
+ # swapPartitionName: swap
85
+
86
+ # LEGACY SETTINGS (these will generate a warning)
87
+ # ensureSuspendToDisk: true
88
+ # neverCreateSwap: false
89
+
90
+ # This setting specifies the LUKS generation (i.e LUKS1, LUKS2) used internally by
91
+ # cryptsetup when creating an encrypted partition.
92
+ #
93
+ # This option is set to luks1 by default, as grub doesn't support LUKS2 + Argon2id
94
+ # currently. On the other hand grub does support LUKS2 with PBKDF2 and could therefore be
95
+ # also set to luks2. Also there are some patches for grub and Argon2.
96
+ # See: https://aur.archlinux.org/packages/grub-improved-luks2-git
97
+ #
98
+ # Choices: luks1, luks2 (in addition, "luks" means "luks1")
99
+ #
100
+ # The default is luks1
101
+ #
102
+ luksGeneration: luks1
103
+
104
+ # This setting determines if encryption should be allowed when using zfs. This
105
+ # setting has no effect unless zfs support is provided.
106
+ #
107
+ # This setting is to handle the fact that some bootloaders(such as grub) do not
108
+ # support zfs encryption.
109
+ #
110
+ # The default is true
111
+ #
112
+ # allowZfsEncryption: true
113
+
114
+ # Correctly draw nested (e.g. logical) partitions as such.
115
+ drawNestedPartitions: false
116
+
117
+ # Show/hide partition labels on manual partitioning page.
9
118
  alwaysShowPartitionLabels: true
10
- # There are four options: erase, replace, alongside, manual),
11
- # the default is "none".
12
- initialPartitioningChoice: erase
119
+
120
+ # Allow manual partitioning.
121
+ #
122
+ # When set to false, this option hides the "Manual partitioning" button,
123
+ # limiting the user's choice to "Erase", "Replace" or "Alongside".
124
+ # This can be useful when using a custom partition layout we don't want
125
+ # the user to modify.
126
+ #
127
+ # If nothing is specified, manual partitioning is enabled.
128
+ #allowManualPartitioning: true
129
+
130
+ # Show not encrypted boot partition warning.
131
+ #
132
+ # When set to false, this option does not show the
133
+ # "Boot partition not encrypted" warning when encrypting the
134
+ # root partition but not /boot partition.
135
+ #
136
+ # If nothing is specified, the warning is shown.
137
+ #showNotEncryptedBootMessage: true
138
+
139
+ # Initial selection on the Choice page
140
+ #
141
+ # There are four radio buttons (in principle: erase, replace, alongside, manual),
142
+ # and you can pick which of them, if any, is initially selected. For most
143
+ # installers, "none" is the right choice: it makes the user pick something specific,
144
+ # rather than accidentally being able to click past an important choice (in particular,
145
+ # "erase" is a dangerous choice).
146
+ #
147
+ # The default is "none"
148
+ #
149
+ initialPartitioningChoice: none
150
+ #
151
+ # Similarly, some of the installation choices may offer a choice of swap;
152
+ # the available choices depend on *userSwapChoices*, above, and this
153
+ # setting can be used to pick a specific one.
154
+ #
155
+ # The default is "none" (no swap) if that is one of the enabled options, otherwise
156
+ # one of the items from the options.
13
157
  initialSwapChoice: none
14
- defaultFileSystemType: "btrfs"
15
- availableFileSystemTypes: ["btrfs","ext4","f2fs","xfs"]
158
+
159
+ # armInstall
160
+ #
161
+ # Leaves 16MB empty at the start of a drive when partitioning
162
+ # where usually the u-boot loader goes
163
+ #
164
+ # armInstall: false
165
+
166
+ # Default partition table type, used when a "erase" disk is made.
167
+ #
168
+ # When erasing a disk, a new partition table is created on disk.
169
+ # In other cases, e.g. Replace and Alongside, as well as when using
170
+ # manual partitioning, this partition table exists already on disk
171
+ # and it is left unmodified.
172
+ #
173
+ # Possible values: gpt, msdos (or other names defined by KPMcore).
174
+ # Names are case-sensitive.
175
+ #
176
+ # If nothing is specified, Calamares defaults to "gpt" if system is
177
+ # efi or "msdos" otherwise.
178
+ #
179
+ # defaultPartitionTableType: msdos
180
+
181
+ # Specify whether to create a partition table layout suitable for a hybrid
182
+ # (BIOS + EFI) bootloader installation. This will prepend both bios-boot and
183
+ # EFI system partitions to the partition layout, regardless of whether the
184
+ # booted system uses BIOS or EFI firmware. Defaults to false.
185
+ #
186
+ # createHybridBootloaderLayout: false
187
+
188
+ # Requirement for partition table type
189
+ #
190
+ # Restrict the installation on disks that match the type of partition
191
+ # tables that are specified.
192
+ #
193
+ # Possible values: msdos, gpt (or other names defined by KPMcore).
194
+ # Names are case-sensitive.
195
+ #
196
+ # If nothing is specified, Calamares defaults to both "msdos" and "gpt".
197
+ #
198
+ # requiredPartitionTableType: gpt
199
+ # requiredPartitionTableType:
200
+ # - msdos
201
+ # - gpt
202
+
203
+ # Default filesystem type, used when a "new" partition is made.
204
+ #
205
+ # When replacing a partition, the new filesystem type will be from the
206
+ # defaultFileSystemType value. In other cases, e.g. Erase and Alongside,
207
+ # as well as when using manual partitioning and creating a new
208
+ # partition, this filesystem type is pre-selected. Note that
209
+ # editing a partition in manual-creation mode will not automatically
210
+ # change the filesystem type to this default value -- it is not
211
+ # creating a new partition.
212
+ #
213
+ # Suggested values: ext2, ext3, ext4, reiser, xfs, jfs, btrfs
214
+ # If nothing is specified, Calamares defaults to "ext4".
215
+ #
216
+ # Names are case-sensitive and defined by KPMCore.
217
+ defaultFileSystemType: "ext4"
218
+
219
+ # Selectable filesystem type, used when "erase" is done.
220
+ #
221
+ # When erasing the disk, the *defaultFileSystemType* is used (see
222
+ # above), but it is also possible to give users a choice:
223
+ # list suitable filesystems here. A drop-down is provided
224
+ # to pick which is the filesystems will be used.
225
+ #
226
+ # The value *defaultFileSystemType* is added to this list (with a warning)
227
+ # if not present; the default pick is the *defaultFileSystemType*.
228
+ #
229
+ # If not specified at all, uses *defaultFileSystemType* without a
230
+ # warning (this matches traditional no-choice-available behavior best).
231
+ # availableFileSystemTypes: ["ext4","f2fs"]
232
+
233
+ # Per-directory filesystem restrictions.
234
+ #
235
+ # This optional setting specifies what filesystems the user can and cannot use
236
+ # for various directories and mountpoints when using manual partitioning.
237
+ #
238
+ # If nothing is specified, the only restriction enforced by default is that
239
+ # the EFI system partition must use the fat32 filesystem.
240
+ #
241
+ # Otherwise, the filesystem restrictions are defined as follow:
242
+ #
243
+ # directoryFilesystemRestrictions:
244
+ # - directory: "any"
245
+ # allowedFilesystemTypes: ["all"]
246
+ # - directory: "/"
247
+ # allowedFilesystemTypes: ["ext4","xfs","btrfs","jfs","f2fs"]
248
+ # - mountpoint: "efi"
249
+ # allowedFilesystemTypes: ["fat32"]
250
+ # onlyWhenMountpoint: true
251
+ #
252
+ # There can be any number of mountpoints listed, each entry having the
253
+ # following attributes:
254
+ # - mountpoint: mountpoint's full path
255
+ # or
256
+ # "any" to specify a global whitelist that applies to all
257
+ # mountpoints
258
+ # or
259
+ # "efi" to specify a whitelist specific to the EFI system
260
+ # partition, wherever that partition is located
261
+ # - allowedFilesystemTypes: the list of all filesystems valid for this
262
+ # mountpoint. If the list contains exactly one
263
+ # element, and that element is the special value
264
+ # "any", all filesystem types recognized by
265
+ # Calamares will be allowed.
266
+ # - onlyWhenMountpoint: Whether the restriction should apply only when the
267
+ # specified directory is a mountpoint. When set to
268
+ # true, Calamares will only enforce the listed
269
+ # restrictions when the user makes a separate partition
270
+ # for this directory and assigns the mountpoint
271
+ # accordingly. When set to false, Calamares will
272
+ # ensure this directory uses the specified filesystem
273
+ # even if the directory is part of a filesystem on a
274
+ # different mountpoint. Defaults to false.
275
+
276
+ # The ClearMounts job unmounts / unmaps things before partitioning.
277
+ # Some special entries under /dev/mapper are excepted from this process.
278
+ # The example lists the three hard-coded exceptions which always apply
279
+ # (they don't need to be listed here). Add other names or wildcards (with
280
+ # a trailing '*') to this list if the live-ISO has additional mounts.
281
+ essentialMounts: [ "live-*", "control", "ventoy" ]
282
+
283
+ # Show/hide LUKS related functionality in automated partitioning modes.
284
+ # Disable this if you choose not to deploy early unlocking support in GRUB2
285
+ # and/or your distribution's initramfs solution.
286
+ #
287
+ # BIG FAT WARNING:
288
+ #
289
+ # This option is unsupported, as it cuts out a crucial security feature.
290
+ # Disabling LUKS and shipping Calamares without a correctly configured GRUB2
291
+ # and initramfs is considered suboptimal use of the Calamares software. The
292
+ # Calamares team will not provide user support for any potential issue that
293
+ # may arise as a consequence of setting this option to false.
294
+ # It is strongly recommended that system integrators put in the work to support
295
+ # LUKS unlocking support in GRUB2 and initramfs/dracut/mkinitcpio/etc.
296
+ # For more information on setting up GRUB2 for Calamares with LUKS, see
297
+ # the Calamares website at https://calamares.io/docs/partitions/#luks .
298
+ #
299
+ # If nothing is specified, LUKS is enabled in automated modes.
300
+ #enableLuksAutomatedPartitioning: true
301
+
302
+ # When enableLuksAutomatedPartitioning is true, this option will pre-check
303
+ # encryption checkbox. This option is only usefull to help people to not forget
304
+ # to cypher their disk when installing in enterprise (for example).
305
+ #preCheckEncryption: false
306
+
307
+ # LVM support
308
+ #
309
+ # There is only one sub-key available, *enable* (defaults to true)
310
+ # which can be used to show (default) or hide the LVM buttons in the partitioning module.
311
+ lvm:
312
+ enable: true
313
+
314
+ # Partition layout.
315
+ #
316
+ # This optional setting specifies a custom partition layout.
317
+ #
318
+ # If nothing is specified, the default partition layout is a single partition
319
+ # for root that uses 100% of the space and uses the filesystem defined by
320
+ # defaultFileSystemType.
321
+ #
322
+ # Note: the EFI system partition is prepended automatically to the layout if
323
+ # needed; the swap partition is appended to the layout if enabled (selections
324
+ # "small" or "suspend" in *userSwapChoices*).
325
+ #
326
+ # Otherwise, the partition layout is defined as follow:
327
+ #
328
+ # partitionLayout:
329
+ # - name: "rootfs"
330
+ # type: "4f68bce3-e8cd-4db1-96e7-fbcaf984b709"
331
+ # filesystem: "ext4"
332
+ # noEncrypt: false
333
+ # mountPoint: "/"
334
+ # size: 20%
335
+ # minSize: 500M
336
+ # maxSize: 10G
337
+ # attributes: 0xffff000000000003
338
+ # - name: "home"
339
+ # type: "933ac7e1-2eb4-4f13-b844-0e14e2aef915"
340
+ # filesystem: "ext4"
341
+ # noEncrypt: false
342
+ # mountPoint: "/home"
343
+ # size: 3G
344
+ # minSize: 1.5G
345
+ # features:
346
+ # 64bit: false
347
+ # casefold: true
348
+ # - name: "data"
349
+ # filesystem: "fat32"
350
+ # mountPoint: "/data"
351
+ # features:
352
+ # sector-size: 4096
353
+ # sectors-per-cluster: 128
354
+ # size: 100%
355
+ #
356
+ # There can be any number of partitions, each entry having the following attributes:
357
+ # - name: filesystem label
358
+ # and
359
+ # partition name (gpt only; since KPMCore 4.2.0)
360
+ # - uuid: partition uuid (optional parameter; gpt only; requires KPMCore >= 4.2.0)
361
+ # - type: partition type (optional parameter; gpt only; requires KPMCore >= 4.2.0)
362
+ # - attributes: partition attributes (optional parameter; gpt only; requires KPMCore >= 4.2.0)
363
+ # - filesystem: filesystem type (optional parameter)
364
+ # - if not set at all, treat as "unformatted"
365
+ # - if "unformatted", no filesystem will be created
366
+ # - if "unknown" (or an unknown FS name, like "elephant") then the
367
+ # default filesystem type, or the user's choice, will be applied instead
368
+ # of "unknown" (e.g. the user might pick ext4, or xfs).
369
+ # - noEncrypt: whether this partition is exempt from encryption if enabled (optional parameter; default is false)
370
+ # - mountPoint: partition mount point (optional parameter; not mounted if unset)
371
+ # - size: partition size in bytes (append 'K', 'M' or 'G' for KiB, MiB or GiB)
372
+ # or
373
+ # % of the available drive space if a '%' is appended to the value
374
+ # - minSize: minimum partition size (optional parameter)
375
+ # - maxSize: maximum partition size (optional parameter)
376
+ # - features: filesystem features (optional parameter; requires KPMCore >= 4.2.0)
377
+ # name: boolean or integer or string
378
+
379
+ # Checking for available storage
380
+ #
381
+ # This overlaps with the setting of the same name in the welcome module's
382
+ # requirements section. If nothing is set by the welcome module, this
383
+ # value is used instead. It is still a problem if there is no required
384
+ # size set at all, and the replace and resize options will not be offered
385
+ # if no required size is set.
386
+ #
387
+ # The value is in Gibibytes (GiB).
388
+ #
389
+ # BIG FAT WARNING: except for OEM-phase-0 use, you should be using
390
+ # the welcome module, **and** configure this value in
391
+ # `welcome.conf`, not here.
392
+ # requiredStorage: 3.5
@@ -0,0 +1,20 @@
1
+ #!/bin/bash
2
+ CHROOT=$(mount | grep proc | grep calamares | awk '{print $3}' | sed -e "s#/proc##g")
3
+
4
+ if [ -f "$CHROOT"/etc/motd ]; then
5
+ sed -i '/^eggs-start-message/,/^\eggs-end-message/{/^#/!{/^\$/!d;};}' "$CHROOT"/etc/motd
6
+ fi
7
+
8
+ if [ -f "$CHROOT"/etc/issue ]; then
9
+ sed -i '/^eggs-start-message/,/^\eggs-end-message/{/^#/!{/^\$/!d;};}' "$CHROOT"/etc/issue
10
+ fi
11
+
12
+ # remove calamares link desktop
13
+ rm -f $CHROOT/usr/share/applications/install-system.desktop
14
+
15
+ # remove CLI autologin if exists
16
+ rm -f $CHROOT/etc/systemd/system/getty@.service.d/override.conf
17
+
18
+ # remove 10-installer if exists
19
+ rm -f $CHROOT/etc/sudoers.d/10-installer
20
+
@@ -0,0 +1,9 @@
1
+ # Common
2
+ # cleanup
3
+ ---
4
+ type: "job"
5
+ name: "cleanup"
6
+ interface: "process"
7
+ chroot: false
8
+ command: "/usr/sbin/cleanup.sh"
9
+ timeout: 8
@@ -0,0 +1,8 @@
1
+ # Debian Buster
2
+ # sources-yolk
3
+ ---
4
+ type: "job"
5
+ name: "sources-yolk"
6
+ interface: "process"
7
+ command: "/usr/sbin/sources-yolk.sh"
8
+ timeout: 600
@@ -0,0 +1,50 @@
1
+ #!/bin/sh
2
+
3
+ #
4
+ # We use just yolk during installation
5
+ #
6
+ # sources-yolk.sh
7
+ # add yolk
8
+ #
9
+ # sources-yolk.sh -u
10
+ # remove yolk
11
+
12
+ #
13
+ #
14
+ #
15
+ main() {
16
+ if [ "$1" = "-u" ]; then
17
+ remove
18
+ else
19
+ add
20
+ fi
21
+ sync
22
+ exit 0
23
+ }
24
+
25
+
26
+ #
27
+ #
28
+ #
29
+ remove() {
30
+ if [ -f "$YOLK_LIST" ]; then
31
+ rm -f "$YOLK_LIST"
32
+ fi
33
+ }
34
+
35
+ #
36
+ #
37
+ #
38
+ add() {
39
+ echo "deb [trusted=yes] file:/var/local/yolk ./" > "$YOLK_LIST"
40
+ chroot "$CHROOT" apt-get --yes update
41
+ }
42
+
43
+ #
44
+ # WE START HERE
45
+ #
46
+ CHROOT=$(mount | grep proc | grep calamares | awk '{print $3}' | sed -e "s#/proc##g")
47
+ YOLK_LIST="$CHROOT/etc/apt/sources.list.d/yolk.list"
48
+
49
+ main "$1"
50
+
@@ -0,0 +1,8 @@
1
+ # Debian Buster
2
+ # sources-yolk-undo
3
+ ---
4
+ type: "job"
5
+ name: "sources-yolk-undo"
6
+ interface: "process"
7
+ command: "/usr/sbin/sources-yolk.sh -u"
8
+ timeout: 600
File without changes
@@ -0,0 +1,5 @@
1
+ # penguins-eggs
2
+
3
+ Contains scripts for calamares, which are copied to `/usr/libexec/calamares`.
4
+
5
+ The creation of `/usr/libexec/calamares` and its population should be done by `eggs calamares --install`, while `eggs calamares --remove` should ensure its removal.
@@ -0,0 +1,15 @@
1
+ #!/bin/sh
2
+ # SPDX-License-Identifier: GPL-3.0-only OR LicenseRef-KDE-Accepted-GPL
3
+ # SPDX-FileCopyrightText: 2020 Harald Sitter <sitter@kde.org>
4
+
5
+ # Carry nomodeset into chroot
6
+
7
+ set -ex
8
+
9
+ echo "Reinstalling ubuntu-keyring"
10
+
11
+ ls /etc/apt/sources.list.d/
12
+
13
+ apt-get install --reinstall ubuntu-keyring
14
+
15
+ ls /etc/apt/sources.list.d/
@@ -0,0 +1,38 @@
1
+ #!/bin/sh
2
+ # SPDX-FileCopyrightText: 2018-2019 Harald Sitter <sitter@kde.org>
3
+ # SPDX-License-Identifier: GPL-3.0-only OR LicenseRef-KDE-Accepted-GPL
4
+
5
+ # apt install language-selector-common
6
+
7
+ # calamares currently has subpar l10n capabilites.
8
+ # this helper is ment to aid in getting very primitive language support
9
+ # of the ground by using a helper from ubuntu's language-selector-common
10
+ # to retrieve a list of packages required for the chosen system language
11
+ # and then manually installig it.
12
+ # https://github.com/calamares/calamares/issues/924
13
+
14
+ set -ex
15
+
16
+ . /etc/default/locale
17
+
18
+ echo $LANG
19
+ echo $LC_TIME
20
+ without_ext=$(echo $LANG | cut -d. -f1)
21
+
22
+ # Calamares technically should mangle locale.gen, but it's broken
23
+ # https://github.com/calamares/calamares/issues/940
24
+ # To unbreak this call locale-gen manually with LC_TIME. This may be the same
25
+ # as LANG, which gets set up by lang-pack-en-base
26
+ # (installed by check-language-support).
27
+ # But since the pack may be any language and network might not be available
28
+ # we set up both the LANG and LC_TIME so that both are definitely set up
29
+ # regardless of network availablity or calamares bugs.
30
+ # NB: this is a special way of calling it unique to Ubuntu which will mangle
31
+ # the config and enable it in one go
32
+ /usr/sbin/locale-gen --keep-existing "$LANG"
33
+ /usr/sbin/locale-gen --keep-existing "$LC_TIME"
34
+
35
+ apt-get update || true
36
+ # apt-get install language-selector-common || true
37
+ missing=$(check-language-support --language="$without_ext")
38
+ apt-get install -y $missing || true
@@ -0,0 +1,34 @@
1
+ #!/bin/sh
2
+ # SPDX-FileCopyrightText: 2018-2019 Harald Sitter <sitter@kde.org>
3
+ # SPDX-License-Identifier: GPL-3.0-only OR LicenseRef-KDE-Accepted-GPL
4
+
5
+ set -ex
6
+
7
+ # may fail
8
+ root=$1
9
+ install_dir=$root/var/log/installer
10
+ log_path=".cache/calamares/session.log"
11
+ [ -d $install_dir ] || mkdir -p $install_dir
12
+
13
+ if [ -e $HOME/$log_path ]; then
14
+ cp $HOME/$log_path $install_dir/debug
15
+ elif [ -e /root/$log_path ] ; then
16
+ cp /root/$log_path $install_dir/debug
17
+ else
18
+ echo "WARNING: Cannot find calamares/session.log"
19
+ fi
20
+
21
+ cp __LIVE_MEDIUM_PATH__.disk/info $install_dir/media-info
22
+ #cp /var/log/casper.log $install_dir/casper.log
23
+ cp /var/log/syslog $install_dir/syslog
24
+
25
+ gzip --stdout $root/var/lib/dpkg/status > $install_dir/initial-status.gz
26
+
27
+ # OEM id isn't a thing, when in OEM mode ubiquity would also archive that.
28
+ # https://github.com/calamares/calamares/issues/943
29
+
30
+ chmod -v 600 $install_dir/*
31
+ # Make these world readable, they can absolutely not contain anything relevant
32
+ # to security.
33
+ chmod -v 644 $install_dir/initial-status.gz
34
+ chmod -v 644 $install_dir/media-info
@@ -0,0 +1,19 @@
1
+ #!/bin/sh
2
+ # SPDX-License-Identifier: GPL-3.0-only OR LicenseRef-KDE-Accepted-GPL
3
+ # SPDX-FileCopyrightText: 2020 Harald Sitter <sitter@kde.org>
4
+
5
+ # Carry nomodeset into chroot
6
+
7
+ set -ex
8
+
9
+ if ! grep -q nomodeset /proc/cmdline; then
10
+ exit 0
11
+ fi
12
+
13
+ echo "Forwarding nomodeset to installed system"
14
+
15
+ cat > /etc/default/grub.d/ubuntu-installation-nomodeset.cfg << 'EOF'
16
+ GRUB_CMDLINE_LINUX_DEFAULT="${GRUB_CMDLINE_LINUX_DEFAULT} nomodeset"
17
+ EOF
18
+
19
+ update-grub