penguins-eggs 25.9.14 → 25.9.25

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 (572) hide show
  1. package/.oclif.manifest.json +1 -1
  2. package/README.md +29 -29
  3. package/addons/eggs/adapt/applications/eggs-adapt.desktop +0 -0
  4. package/addons/eggs/pve/applications/eggs-pve.desktop +0 -0
  5. package/addons/eggs/rsupport/applications/eggs-rsupport.desktop +0 -0
  6. package/addons/eggs/theme/applications/install-system.desktop +0 -0
  7. package/addons/eggs/theme/calamares/branding/show.qml +61 -74
  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/derivatives.yaml +2 -2
  15. package/conf/distros/alpine/calamares/calamares-modules/machineid-openrc/machineid-openrc.sh +0 -0
  16. package/conf/distros/alpine/calamares/modules/mount.yml +104 -39
  17. package/conf/distros/alpine/calamares/settings.yml +4 -4
  18. package/conf/distros/bionic/calamares/calamares-modules/after-bootloader/after-bootloader.sh +0 -0
  19. package/conf/distros/bionic/calamares/calamares-modules/before-bootloader/before-bootloader.sh +0 -0
  20. package/conf/distros/bionic/calamares/calamares-modules/before-bootloader-mkdirs/before-bootloader-mkdirs.sh +0 -0
  21. package/conf/distros/bionic/calamares/calamares-modules/bug/bug.sh +0 -0
  22. package/conf/distros/bionic/calamares/calamares-modules/grubcfg/main.py +0 -0
  23. package/conf/distros/bionic/calamares/settings.yml +5 -5
  24. package/conf/distros/buster/calamares/calamares-modules/cleanup/cleanup.sh +0 -0
  25. package/conf/distros/buster/calamares/calamares-modules/dpkg-unsafe-io/dpkg-unsafe-io.sh +0 -0
  26. package/conf/distros/buster/calamares/calamares-modules/sources-yolk/sources-yolk.sh +0 -0
  27. package/conf/distros/buster/calamares/libexec/.keepit +0 -0
  28. package/conf/distros/buster/calamares/libexec/README.md +5 -0
  29. package/conf/distros/{noble/calamares/modules/focal-jammy/mount.yml → buster/calamares/modules/mount.3.2.yml} +3 -6
  30. package/conf/distros/buster/calamares/modules/mount.yml +2 -4
  31. package/conf/distros/buster/calamares/modules/shellprocess@boot_deploy.yml +23 -0
  32. package/conf/distros/buster/calamares/modules/shellprocess@boot_reconfigure.yml +14 -0
  33. package/conf/distros/buster/calamares/modules/shellprocess@mkinitramfs.yml +4 -0
  34. package/conf/distros/buster/calamares/settings.yml +28 -11
  35. package/conf/distros/fedora/calamares/calamares-modules/bootloaderspecification/bootloaderspecification.sh +0 -0
  36. package/conf/distros/fedora/calamares/settings.yml +6 -6
  37. package/conf/distros/jessie/krill/settings.yml +6 -6
  38. package/conf/distros/noble/README.md +8 -1
  39. package/conf/distros/noble/calamares/libexec/.keepit +0 -0
  40. package/conf/distros/noble/calamares/libexec/README.md +5 -0
  41. package/conf/distros/noble/calamares/libexec/calamares-aptsources.sh +15 -0
  42. package/conf/distros/noble/calamares/libexec/calamares-l10n-helper.sh +35 -0
  43. package/conf/distros/noble/calamares/libexec/calamares-logs-helper.sh +34 -0
  44. package/conf/distros/noble/calamares/libexec/calamares-nomodeset.sh +19 -0
  45. package/conf/distros/noble/calamares/modules/after_bootloader_context.yml +26 -0
  46. package/conf/distros/noble/calamares/modules/before_bootloader_context.yml +12 -0
  47. package/conf/distros/noble/calamares/modules/bootloader.yml +67 -14
  48. package/conf/distros/noble/calamares/modules/bootloader.yml.old +35 -0
  49. package/conf/distros/noble/calamares/modules/displaymanager.yml +21 -0
  50. package/conf/distros/noble/calamares/modules/finished.yml +3 -0
  51. package/conf/distros/noble/calamares/modules/fstab.yml +9 -0
  52. package/conf/distros/noble/calamares/modules/grubcfg.yml +49 -1
  53. package/conf/distros/noble/calamares/modules/keyboard.yml +29 -0
  54. package/conf/distros/noble/calamares/modules/locale.yml +5 -6
  55. package/conf/distros/noble/calamares/modules/machineid.yml +3 -1
  56. package/conf/distros/noble/calamares/modules/mount.yml +21 -19
  57. package/conf/distros/noble/calamares/modules/netinstall.yml +5 -0
  58. package/conf/distros/noble/calamares/modules/packages.yml +5 -16
  59. package/conf/distros/noble/calamares/modules/shellprocess@aptsources.yml +11 -0
  60. package/conf/distros/noble/calamares/modules/shellprocess@boot_deploy.yml +18 -0
  61. package/conf/distros/noble/calamares/modules/shellprocess@boot_reconfigure.yml +14 -0
  62. package/conf/distros/noble/calamares/modules/shellprocess@install_translations.yml +7 -0
  63. package/conf/distros/noble/calamares/modules/shellprocess@logs.yml +7 -0
  64. package/conf/distros/noble/calamares/modules/shellprocess@mkinitramfs.yml +4 -0
  65. package/conf/distros/noble/calamares/modules/shellprocess@nomodeset.yml +11 -0
  66. package/conf/distros/noble/calamares/modules/unpackfs.yml +2 -1
  67. package/conf/distros/noble/calamares/modules/users.yml +19 -17
  68. package/conf/distros/noble/calamares/modules/welcome.yml +9 -13
  69. package/conf/distros/noble/calamares/settings.yml +82 -72
  70. package/conf/distros/openmamba/calamares/settings.yml +4 -4
  71. package/conf/distros/opensuse/calamares/calamares-modules/bootloaderspecification/bootloaderspecification.sh +0 -0
  72. package/conf/distros/opensuse/calamares/settings.yml +6 -6
  73. package/conf/distros/opensuse/calamares/zstd2lzo.sh +0 -0
  74. package/conf/distros/rolling/calamares/settings.yml +4 -4
  75. package/conf/distros/stretch/krill/settings.yml +6 -6
  76. package/conf/init/unattended.sh +0 -0
  77. package/eui/eui-autostart-cinnamon.desktop +0 -0
  78. package/eui/eui-autostart-xfce.desktop +0 -0
  79. package/eui/eui-create-image.sh +0 -0
  80. package/eui/eui-start.sh +0 -0
  81. package/package.json +125 -131
  82. package/perrisbrewery/scripts/postinst +0 -0
  83. package/perrisbrewery/scripts/postrm +0 -0
  84. package/perrisbrewery/scripts/preinst +0 -0
  85. package/perrisbrewery/scripts/prerm +0 -0
  86. package/perrisbrewery/template/dependencies.yaml +1 -0
  87. package/pods/almalinux.sh +0 -0
  88. package/pods/archlinux.sh +0 -0
  89. package/pods/ci/kernel-overlay-install.sh +0 -0
  90. package/pods/ci/minimal/almalinux-container2host.sh +0 -0
  91. package/pods/ci/minimal/archlinux-container2host.sh +0 -0
  92. package/pods/ci/minimal/debian-container2host.sh +0 -0
  93. package/pods/ci/minimal/fedora-container2host.sh +0 -0
  94. package/pods/ci/minimal/manjaro-container2host.sh +0 -0
  95. package/pods/ci/minimal/opensuse-container2host.sh +0 -0
  96. package/pods/ci/penguins-eggs-execute.sh +0 -0
  97. package/pods/ci/penguins-eggs-install.sh +0 -0
  98. package/pods/ci/run +0 -0
  99. package/pods/ci/run-on-almalinux.sh +0 -0
  100. package/pods/ci/run-on-archlinux.sh +0 -0
  101. package/pods/ci/run-on-debian.sh +0 -0
  102. package/pods/ci/run-on-devuan.sh +0 -0
  103. package/pods/ci/run-on-fedora.sh +0 -0
  104. package/pods/ci/run-on-manjaro.sh +0 -0
  105. package/pods/ci/run-on-opensuse.sh +0 -0
  106. package/pods/ci/run-on-rockylinux.sh +0 -0
  107. package/pods/ci/run-on-ubuntu.sh +0 -0
  108. package/pods/debian.sh +0 -0
  109. package/pods/devuan.sh +0 -0
  110. package/pods/fedora.sh +0 -0
  111. package/pods/lmde.sh +0 -0
  112. package/pods/manjaro.sh +0 -0
  113. package/pods/opensuse.sh +0 -0
  114. package/pods/podman.command.sh +0 -0
  115. package/pods/rocky.sh +0 -0
  116. package/pods/run-build-packages-debs.sh +0 -0
  117. package/pods/run-create-debs.sh +0 -0
  118. package/pods/ubuntu.sh +0 -0
  119. package/scripts/99clean +0 -0
  120. package/scripts/adapt.sh +0 -0
  121. package/scripts/bros/waydroid-helper.sh +0 -0
  122. package/scripts/lsb_release +0 -0
  123. package/scripts/mom.sh +0 -0
  124. package/scripts/pve-live.service +0 -0
  125. package/scripts/pve-live.sh +0 -0
  126. package/scripts/resy +0 -0
  127. package/conf/distros/noble/calamares/modules/_automirror.yml +0 -6
  128. package/conf/distros/noble/calamares/modules/_before_bootloader_context.yml +0 -18
  129. package/conf/distros/noble/calamares/modules/_before_bootloader_mkdirs_context.yml +0 -10
  130. package/conf/distros/noble/calamares/modules/_displaymanager.yml +0 -9
  131. package/conf/distros/noble/calamares/modules/_oemid.yml +0 -2
  132. package/conf/distros/noble/calamares/modules/_pkgselect_context.yml +0 -19
  133. package/conf/distros/noble/calamares/modules/_pkgselect_snap_context.yml +0 -9
  134. package/conf/distros/noble/calamares/modules/_shellprocess_logs.yml +0 -5
  135. package/conf/distros/noble/calamares/modules/_users.conf.oem +0 -30
  136. package/conf/distros/noble/calamares/modules/focal-jammy/fstab.yml +0 -13
  137. package/conf/distros/noble/calamares/modules/focal-jammy/users.yml +0 -19
  138. package/conf/distros/noble/calamares/modules/shellprocess_add386arch.yml +0 -5
  139. package/conf/distros/noble/calamares/modules/shellprocess_bug-LP#1829805.yml +0 -5
  140. package/conf/distros/noble/calamares/modules/shellprocess_fixconkeys_part1.yml +0 -5
  141. package/conf/distros/noble/calamares/modules/shellprocess_fixconkeys_part2.yml +0 -5
  142. package/conf/distros/noble/calamares/modules/shellprocess_oemprep.yml +0 -5
  143. package/dist/classes/bleach.d.ts +0 -37
  144. package/dist/classes/bleach.js +0 -148
  145. package/dist/classes/cli-autologin.d.ts +0 -52
  146. package/dist/classes/cli-autologin.js +0 -252
  147. package/dist/classes/compressors.d.ts +0 -54
  148. package/dist/classes/compressors.js +0 -109
  149. package/dist/classes/daddy.d.ts +0 -26
  150. package/dist/classes/daddy.js +0 -175
  151. package/dist/classes/distro.d.ts +0 -32
  152. package/dist/classes/distro.js +0 -382
  153. package/dist/classes/diversions.d.ts +0 -53
  154. package/dist/classes/diversions.js +0 -133
  155. package/dist/classes/incubation/branding.d.ts +0 -17
  156. package/dist/classes/incubation/branding.js +0 -85
  157. package/dist/classes/incubation/fisherman-helper/displaymanager.d.ts +0 -11
  158. package/dist/classes/incubation/fisherman-helper/displaymanager.js +0 -40
  159. package/dist/classes/incubation/fisherman-helper/packages.d.ts +0 -20
  160. package/dist/classes/incubation/fisherman-helper/packages.js +0 -72
  161. package/dist/classes/incubation/fisherman-helper/settings.d.ts +0 -15
  162. package/dist/classes/incubation/fisherman-helper/settings.js +0 -83
  163. package/dist/classes/incubation/fisherman.d.ts +0 -74
  164. package/dist/classes/incubation/fisherman.js +0 -271
  165. package/dist/classes/incubation/incubator.d/alpine.d.ts +0 -32
  166. package/dist/classes/incubation/incubator.d/alpine.js +0 -78
  167. package/dist/classes/incubation/incubator.d/bionic.d.ts +0 -32
  168. package/dist/classes/incubation/incubator.d/bionic.js +0 -83
  169. package/dist/classes/incubation/incubator.d/buster.d.ts +0 -32
  170. package/dist/classes/incubation/incubator.d/buster.js +0 -85
  171. package/dist/classes/incubation/incubator.d/fedora.d.ts +0 -32
  172. package/dist/classes/incubation/incubator.d/fedora.js +0 -80
  173. package/dist/classes/incubation/incubator.d/jessie.d.ts +0 -31
  174. package/dist/classes/incubation/incubator.d/jessie.js +0 -44
  175. package/dist/classes/incubation/incubator.d/noble.d.ts +0 -32
  176. package/dist/classes/incubation/incubator.d/noble.js +0 -85
  177. package/dist/classes/incubation/incubator.d/openmamba.d.ts +0 -32
  178. package/dist/classes/incubation/incubator.d/openmamba.js +0 -81
  179. package/dist/classes/incubation/incubator.d/opensuse.d.ts +0 -32
  180. package/dist/classes/incubation/incubator.d/opensuse.js +0 -78
  181. package/dist/classes/incubation/incubator.d/rolling.d.ts +0 -32
  182. package/dist/classes/incubation/incubator.d/rolling.js +0 -78
  183. package/dist/classes/incubation/incubator.d.ts +0 -48
  184. package/dist/classes/incubation/incubator.js +0 -404
  185. package/dist/classes/incubation/installer.d.ts +0 -13
  186. package/dist/classes/incubation/installer.js +0 -52
  187. package/dist/classes/keyboards.d.ts +0 -50
  188. package/dist/classes/keyboards.js +0 -287
  189. package/dist/classes/locales.d.ts +0 -21
  190. package/dist/classes/locales.js +0 -77
  191. package/dist/classes/network.d.ts +0 -37
  192. package/dist/classes/network.js +0 -98
  193. package/dist/classes/ovary.d/bind-live-fs.d.ts +0 -18
  194. package/dist/classes/ovary.d/bind-live-fs.js +0 -185
  195. package/dist/classes/ovary.d/bind-vfs.d.ts +0 -17
  196. package/dist/classes/ovary.d/bind-vfs.js +0 -37
  197. package/dist/classes/ovary.d/create-xdg-autostart.d.ts +0 -13
  198. package/dist/classes/ovary.d/create-xdg-autostart.js +0 -194
  199. package/dist/classes/ovary.d/edit-live-fs.d.ts +0 -20
  200. package/dist/classes/ovary.d/edit-live-fs.js +0 -245
  201. package/dist/classes/ovary.d/fertilization.d.ts +0 -12
  202. package/dist/classes/ovary.d/fertilization.js +0 -52
  203. package/dist/classes/ovary.d/finished.d.ts +0 -13
  204. package/dist/classes/ovary.d/finished.js +0 -44
  205. package/dist/classes/ovary.d/initrd.d.ts +0 -21
  206. package/dist/classes/ovary.d/initrd.js +0 -97
  207. package/dist/classes/ovary.d/kernel-copy.d.ts +0 -12
  208. package/dist/classes/ovary.d/kernel-copy.js +0 -22
  209. package/dist/classes/ovary.d/live-create-structure.d.ts +0 -12
  210. package/dist/classes/ovary.d/live-create-structure.js +0 -73
  211. package/dist/classes/ovary.d/make-dot-disk.d.ts +0 -12
  212. package/dist/classes/ovary.d/make-dot-disk.js +0 -62
  213. package/dist/classes/ovary.d/make-efi.d.ts +0 -14
  214. package/dist/classes/ovary.d/make-efi.js +0 -274
  215. package/dist/classes/ovary.d/make-iso.d.ts +0 -13
  216. package/dist/classes/ovary.d/make-iso.js +0 -45
  217. package/dist/classes/ovary.d/make-squashfs.d.ts +0 -18
  218. package/dist/classes/ovary.d/make-squashfs.js +0 -110
  219. package/dist/classes/ovary.d/merged.d.ts +0 -27
  220. package/dist/classes/ovary.d/merged.js +0 -78
  221. package/dist/classes/ovary.d/produce.d.ts +0 -23
  222. package/dist/classes/ovary.d/produce.js +0 -319
  223. package/dist/classes/ovary.d/rexec.d.ts +0 -13
  224. package/dist/classes/ovary.d/rexec.js +0 -34
  225. package/dist/classes/ovary.d/syslinux.d.ts +0 -12
  226. package/dist/classes/ovary.d/syslinux.js +0 -82
  227. package/dist/classes/ovary.d/user-create-live.d.ts +0 -14
  228. package/dist/classes/ovary.d/user-create-live.js +0 -97
  229. package/dist/classes/ovary.d/users-remove.d.ts +0 -9
  230. package/dist/classes/ovary.d/users-remove.js +0 -38
  231. package/dist/classes/ovary.d/xorriso-command.d.ts +0 -14
  232. package/dist/classes/ovary.d/xorriso-command.js +0 -123
  233. package/dist/classes/ovary.d.ts +0 -87
  234. package/dist/classes/ovary.js +0 -90
  235. package/dist/classes/pacman.d/aldos.d.ts +0 -52
  236. package/dist/classes/pacman.d/aldos.js +0 -100
  237. package/dist/classes/pacman.d/alpine.d.ts +0 -56
  238. package/dist/classes/pacman.d/alpine.js +0 -167
  239. package/dist/classes/pacman.d/archlinux.d.ts +0 -62
  240. package/dist/classes/pacman.d/archlinux.js +0 -136
  241. package/dist/classes/pacman.d/debian.d.ts +0 -65
  242. package/dist/classes/pacman.d/debian.js +0 -143
  243. package/dist/classes/pacman.d/fedora.d.ts +0 -53
  244. package/dist/classes/pacman.d/fedora.js +0 -101
  245. package/dist/classes/pacman.d/openmamba.d.ts +0 -52
  246. package/dist/classes/pacman.d/openmamba.js +0 -100
  247. package/dist/classes/pacman.d/opensuse.d.ts +0 -53
  248. package/dist/classes/pacman.d/opensuse.js +0 -103
  249. package/dist/classes/pacman.d/voidlinux.d.ts +0 -52
  250. package/dist/classes/pacman.d/voidlinux.js +0 -90
  251. package/dist/classes/pacman.d.ts +0 -139
  252. package/dist/classes/pacman.js +0 -774
  253. package/dist/classes/pve-live.d.ts +0 -17
  254. package/dist/classes/pve-live.js +0 -52
  255. package/dist/classes/pxe.d.ts +0 -76
  256. package/dist/classes/pxe.js +0 -353
  257. package/dist/classes/settings.d.ts +0 -52
  258. package/dist/classes/settings.js +0 -185
  259. package/dist/classes/sources_list.d.ts +0 -28
  260. package/dist/classes/sources_list.js +0 -89
  261. package/dist/classes/systemctl.d.ts +0 -47
  262. package/dist/classes/systemctl.js +0 -86
  263. package/dist/classes/tailor.d.ts +0 -50
  264. package/dist/classes/tailor.js +0 -563
  265. package/dist/classes/tools.d.ts +0 -26
  266. package/dist/classes/tools.js +0 -50
  267. package/dist/classes/users.d.ts +0 -28
  268. package/dist/classes/users.js +0 -143
  269. package/dist/classes/utils.d/kernel.d.ts +0 -38
  270. package/dist/classes/utils.d/kernel.js +0 -184
  271. package/dist/classes/utils.d.ts +0 -327
  272. package/dist/classes/utils.js +0 -955
  273. package/dist/classes/xdg.d.ts +0 -45
  274. package/dist/classes/xdg.js +0 -337
  275. package/dist/classes/yolk.d.ts +0 -33
  276. package/dist/classes/yolk.js +0 -114
  277. package/dist/commands/adapt.d.ts +0 -17
  278. package/dist/commands/adapt.js +0 -33
  279. package/dist/commands/analyze.d.ts +0 -26
  280. package/dist/commands/analyze.js +0 -95
  281. package/dist/commands/calamares.d.ts +0 -29
  282. package/dist/commands/calamares.js +0 -112
  283. package/dist/commands/config.d.ts +0 -35
  284. package/dist/commands/config.js +0 -120
  285. package/dist/commands/cuckoo.d.ts +0 -17
  286. package/dist/commands/cuckoo.js +0 -61
  287. package/dist/commands/dad.d.ts +0 -21
  288. package/dist/commands/dad.js +0 -47
  289. package/dist/commands/export/iso.d.ts +0 -19
  290. package/dist/commands/export/iso.js +0 -55
  291. package/dist/commands/export/pkg.d.ts +0 -29
  292. package/dist/commands/export/pkg.js +0 -173
  293. package/dist/commands/export/tarballs.d.ts +0 -27
  294. package/dist/commands/export/tarballs.js +0 -79
  295. package/dist/commands/install.d.ts +0 -38
  296. package/dist/commands/install.js +0 -91
  297. package/dist/commands/kill.d.ts +0 -24
  298. package/dist/commands/kill.js +0 -50
  299. package/dist/commands/love.d.ts +0 -21
  300. package/dist/commands/love.js +0 -73
  301. package/dist/commands/mom.d.ts +0 -16
  302. package/dist/commands/mom.js +0 -30
  303. package/dist/commands/pods.d.ts +0 -22
  304. package/dist/commands/pods.js +0 -92
  305. package/dist/commands/produce.d.ts +0 -35
  306. package/dist/commands/produce.js +0 -221
  307. package/dist/commands/status.d.ts +0 -23
  308. package/dist/commands/status.js +0 -31
  309. package/dist/commands/syncfrom.d.ts +0 -45
  310. package/dist/commands/syncfrom.js +0 -152
  311. package/dist/commands/syncto.d.ts +0 -40
  312. package/dist/commands/syncto.js +0 -175
  313. package/dist/commands/tools/clean.d.ts +0 -18
  314. package/dist/commands/tools/clean.js +0 -37
  315. package/dist/commands/tools/ppa.d.ts +0 -31
  316. package/dist/commands/tools/ppa.js +0 -176
  317. package/dist/commands/tools/skel.d.ts +0 -18
  318. package/dist/commands/tools/skel.js +0 -44
  319. package/dist/commands/tools/stat.d.ts +0 -31
  320. package/dist/commands/tools/stat.js +0 -70
  321. package/dist/commands/tools/yolk.d.ts +0 -24
  322. package/dist/commands/tools/yolk.js +0 -45
  323. package/dist/commands/update.d.ts +0 -46
  324. package/dist/commands/update.js +0 -238
  325. package/dist/commands/wardrobe/get.d.ts +0 -23
  326. package/dist/commands/wardrobe/get.js +0 -52
  327. package/dist/commands/wardrobe/list.d.ts +0 -24
  328. package/dist/commands/wardrobe/list.js +0 -125
  329. package/dist/commands/wardrobe/show.d.ts +0 -25
  330. package/dist/commands/wardrobe/show.js +0 -97
  331. package/dist/commands/wardrobe/wear.d.ts +0 -26
  332. package/dist/commands/wardrobe/wear.js +0 -84
  333. package/dist/dhcpd-proxy/classes/packet.d.ts +0 -36
  334. package/dist/dhcpd-proxy/classes/packet.js +0 -124
  335. package/dist/dhcpd-proxy/index.d.ts +0 -4
  336. package/dist/dhcpd-proxy/index.js +0 -4
  337. package/dist/dhcpd-proxy/interfaces/i-pxe.d.ts +0 -45
  338. package/dist/dhcpd-proxy/interfaces/i-pxe.js +0 -1
  339. package/dist/dhcpd-proxy/lib/packet/converters.d.ts +0 -11
  340. package/dist/dhcpd-proxy/lib/packet/converters.js +0 -395
  341. package/dist/dhcpd-proxy/lib/packet/message-types.d.ts +0 -10
  342. package/dist/dhcpd-proxy/lib/packet/message-types.js +0 -12
  343. package/dist/dhcpd-proxy/lib/packet/options.d.ts +0 -8
  344. package/dist/dhcpd-proxy/lib/packet/options.js +0 -264
  345. package/dist/dhcpd-proxy/lib/sprintf.d.ts +0 -6
  346. package/dist/dhcpd-proxy/lib/sprintf.js +0 -130
  347. package/dist/dhcpd-proxy/lib/utils.d.ts +0 -126
  348. package/dist/dhcpd-proxy/lib/utils.js +0 -255
  349. package/dist/dhcpd-proxy/simple-proxy.d.ts +0 -11
  350. package/dist/dhcpd-proxy/simple-proxy.js +0 -118
  351. package/dist/index.d.ts +0 -8
  352. package/dist/index.js +0 -8
  353. package/dist/interfaces/i-addons.d.ts +0 -12
  354. package/dist/interfaces/i-addons.js +0 -8
  355. package/dist/interfaces/i-analyze.d.ts +0 -17
  356. package/dist/interfaces/i-analyze.js +0 -17
  357. package/dist/interfaces/i-app.d.ts +0 -14
  358. package/dist/interfaces/i-app.js +0 -8
  359. package/dist/interfaces/i-branding.d.ts +0 -36
  360. package/dist/interfaces/i-branding.js +0 -8
  361. package/dist/interfaces/i-calamares-displaymanager.d.ts +0 -17
  362. package/dist/interfaces/i-calamares-displaymanager.js +0 -1
  363. package/dist/interfaces/i-calamares-finished.d.ts +0 -12
  364. package/dist/interfaces/i-calamares-finished.js +0 -1
  365. package/dist/interfaces/i-calamares-packages.d.ts +0 -28
  366. package/dist/interfaces/i-calamares-packages.js +0 -1
  367. package/dist/interfaces/i-calamares-partition.d.ts +0 -40
  368. package/dist/interfaces/i-calamares-partition.js +0 -1
  369. package/dist/interfaces/i-config-tools.d.ts +0 -15
  370. package/dist/interfaces/i-config-tools.js +0 -8
  371. package/dist/interfaces/i-devices.d.ts +0 -20
  372. package/dist/interfaces/i-devices.js +0 -8
  373. package/dist/interfaces/i-distro.d.ts +0 -23
  374. package/dist/interfaces/i-distro.js +0 -8
  375. package/dist/interfaces/i-drive-list.d.ts +0 -33
  376. package/dist/interfaces/i-drive-list.js +0 -8
  377. package/dist/interfaces/i-eggs-config.d.ts +0 -32
  378. package/dist/interfaces/i-eggs-config.js +0 -8
  379. package/dist/interfaces/i-excludes.d.ts +0 -14
  380. package/dist/interfaces/i-excludes.js +0 -8
  381. package/dist/interfaces/i-exec.d.ts +0 -11
  382. package/dist/interfaces/i-exec.js +0 -8
  383. package/dist/interfaces/i-initrd.d.ts +0 -13
  384. package/dist/interfaces/i-initrd.js +0 -8
  385. package/dist/interfaces/i-install.d.ts +0 -16
  386. package/dist/interfaces/i-install.js +0 -8
  387. package/dist/interfaces/i-installer.d.ts +0 -17
  388. package/dist/interfaces/i-installer.js +0 -8
  389. package/dist/interfaces/i-luks-passphrase.d.ts +0 -11
  390. package/dist/interfaces/i-luks-passphrase.js +0 -8
  391. package/dist/interfaces/i-materia.d.ts +0 -36
  392. package/dist/interfaces/i-materia.js +0 -8
  393. package/dist/interfaces/i-net.d.ts +0 -16
  394. package/dist/interfaces/i-net.js +0 -8
  395. package/dist/interfaces/i-os-release.d.ts +0 -5
  396. package/dist/interfaces/i-os-release.js +0 -1
  397. package/dist/interfaces/i-packages.d.ts +0 -16
  398. package/dist/interfaces/i-packages.js +0 -8
  399. package/dist/interfaces/i-partitions.d.ts +0 -16
  400. package/dist/interfaces/i-partitions.js +0 -8
  401. package/dist/interfaces/i-pxe.d.ts +0 -45
  402. package/dist/interfaces/i-pxe.js +0 -1
  403. package/dist/interfaces/i-remix.d.ts +0 -21
  404. package/dist/interfaces/i-remix.js +0 -8
  405. package/dist/interfaces/i-settings.d.ts +0 -33
  406. package/dist/interfaces/i-settings.js +0 -8
  407. package/dist/interfaces/i-user.d.ts +0 -14
  408. package/dist/interfaces/i-user.js +0 -8
  409. package/dist/interfaces/i-workdir.d.ts +0 -14
  410. package/dist/interfaces/i-workdir.js +0 -8
  411. package/dist/interfaces/i-xkb-model.d.ts +0 -24
  412. package/dist/interfaces/i-xkb-model.js +0 -8
  413. package/dist/interfaces/index.d.ts +0 -26
  414. package/dist/interfaces/index.js +0 -8
  415. package/dist/krill/classes/cfs.d.ts +0 -17
  416. package/dist/krill/classes/cfs.js +0 -39
  417. package/dist/krill/classes/krill_enums.d.ts +0 -37
  418. package/dist/krill/classes/krill_enums.js +0 -41
  419. package/dist/krill/classes/prepare.d/confirm.d.ts +0 -5
  420. package/dist/krill/classes/prepare.d/confirm.js +0 -30
  421. package/dist/krill/classes/prepare.d/keyboard.d.ts +0 -14
  422. package/dist/krill/classes/prepare.d/keyboard.js +0 -62
  423. package/dist/krill/classes/prepare.d/location.d.ts +0 -17
  424. package/dist/krill/classes/prepare.d/location.js +0 -59
  425. package/dist/krill/classes/prepare.d/network.d.ts +0 -14
  426. package/dist/krill/classes/prepare.d/network.js +0 -68
  427. package/dist/krill/classes/prepare.d/partitions.d.ts +0 -14
  428. package/dist/krill/classes/prepare.d/partitions.js +0 -86
  429. package/dist/krill/classes/prepare.d/summary.d.ts +0 -15
  430. package/dist/krill/classes/prepare.d/summary.js +0 -69
  431. package/dist/krill/classes/prepare.d/users.d.ts +0 -6
  432. package/dist/krill/classes/prepare.d/users.js +0 -63
  433. package/dist/krill/classes/prepare.d/welcome.d.ts +0 -6
  434. package/dist/krill/classes/prepare.d/welcome.js +0 -30
  435. package/dist/krill/classes/prepare.d.ts +0 -89
  436. package/dist/krill/classes/prepare.js +0 -314
  437. package/dist/krill/classes/sequence.d/add_user.d.ts +0 -20
  438. package/dist/krill/classes/sequence.d/add_user.js +0 -77
  439. package/dist/krill/classes/sequence.d/bootloader.d.ts +0 -14
  440. package/dist/krill/classes/sequence.d/bootloader.js +0 -117
  441. package/dist/krill/classes/sequence.d/bootloader_config.d.ts +0 -14
  442. package/dist/krill/classes/sequence.d/bootloader_config.js +0 -192
  443. package/dist/krill/classes/sequence.d/change_password.d.ts +0 -15
  444. package/dist/krill/classes/sequence.d/change_password.js +0 -18
  445. package/dist/krill/classes/sequence.d/del_live_user.d.ts +0 -14
  446. package/dist/krill/classes/sequence.d/del_live_user.js +0 -39
  447. package/dist/krill/classes/sequence.d/fstab.d.ts +0 -14
  448. package/dist/krill/classes/sequence.d/fstab.js +0 -177
  449. package/dist/krill/classes/sequence.d/grubcfg.d.ts +0 -17
  450. package/dist/krill/classes/sequence.d/grubcfg.js +0 -35
  451. package/dist/krill/classes/sequence.d/hostname.d.ts +0 -13
  452. package/dist/krill/classes/sequence.d/hostname.js +0 -50
  453. package/dist/krill/classes/sequence.d/initramfs.d.ts +0 -13
  454. package/dist/krill/classes/sequence.d/initramfs.js +0 -54
  455. package/dist/krill/classes/sequence.d/initramfs_cfg.d.ts +0 -14
  456. package/dist/krill/classes/sequence.d/initramfs_cfg.js +0 -35
  457. package/dist/krill/classes/sequence.d/locale.d.ts +0 -13
  458. package/dist/krill/classes/sequence.d/locale.js +0 -91
  459. package/dist/krill/classes/sequence.d/locale_cfg.d.ts +0 -10
  460. package/dist/krill/classes/sequence.d/locale_cfg.js +0 -58
  461. package/dist/krill/classes/sequence.d/m_keyboard.d.ts +0 -14
  462. package/dist/krill/classes/sequence.d/m_keyboard.js +0 -58
  463. package/dist/krill/classes/sequence.d/machine_id.d.ts +0 -15
  464. package/dist/krill/classes/sequence.d/machine_id.js +0 -33
  465. package/dist/krill/classes/sequence.d/mkfs.d.ts +0 -15
  466. package/dist/krill/classes/sequence.d/mkfs.js +0 -75
  467. package/dist/krill/classes/sequence.d/mount_fs.d.ts +0 -17
  468. package/dist/krill/classes/sequence.d/mount_fs.js +0 -68
  469. package/dist/krill/classes/sequence.d/mount_vfs.d.ts +0 -17
  470. package/dist/krill/classes/sequence.d/mount_vfs.js +0 -59
  471. package/dist/krill/classes/sequence.d/network_cfg.d.ts +0 -19
  472. package/dist/krill/classes/sequence.d/network_cfg.js +0 -73
  473. package/dist/krill/classes/sequence.d/packages.d.ts +0 -14
  474. package/dist/krill/classes/sequence.d/packages.js +0 -111
  475. package/dist/krill/classes/sequence.d/partition.d/bios_luks.d.ts +0 -17
  476. package/dist/krill/classes/sequence.d/partition.d/bios_luks.js +0 -73
  477. package/dist/krill/classes/sequence.d/partition.d/bios_standard.d.ts +0 -16
  478. package/dist/krill/classes/sequence.d/partition.d/bios_standard.js +0 -51
  479. package/dist/krill/classes/sequence.d/partition.d/uefi_luks.d.ts +0 -17
  480. package/dist/krill/classes/sequence.d/partition.d/uefi_luks.js +0 -78
  481. package/dist/krill/classes/sequence.d/partition.d/uefi_standard.d.ts +0 -10
  482. package/dist/krill/classes/sequence.d/partition.d/uefi_standard.js +0 -33
  483. package/dist/krill/classes/sequence.d/partition.d.ts +0 -14
  484. package/dist/krill/classes/sequence.d/partition.js +0 -84
  485. package/dist/krill/classes/sequence.d/remove_installer_link.d.ts +0 -13
  486. package/dist/krill/classes/sequence.d/remove_installer_link.js +0 -35
  487. package/dist/krill/classes/sequence.d/umount.d.ts +0 -14
  488. package/dist/krill/classes/sequence.d/umount.js +0 -28
  489. package/dist/krill/classes/sequence.d/unpackfs.d.ts +0 -13
  490. package/dist/krill/classes/sequence.d/unpackfs.js +0 -20
  491. package/dist/krill/classes/sequence.d.ts +0 -133
  492. package/dist/krill/classes/sequence.js +0 -396
  493. package/dist/krill/components/finished.d.ts +0 -16
  494. package/dist/krill/components/finished.js +0 -56
  495. package/dist/krill/components/information.d.ts +0 -8
  496. package/dist/krill/components/information.js +0 -162
  497. package/dist/krill/components/install.d.ts +0 -15
  498. package/dist/krill/components/install.js +0 -60
  499. package/dist/krill/components/keyboard.d.ts +0 -16
  500. package/dist/krill/components/keyboard.js +0 -54
  501. package/dist/krill/components/location.d.ts +0 -16
  502. package/dist/krill/components/location.js +0 -59
  503. package/dist/krill/components/network.d.ts +0 -19
  504. package/dist/krill/components/network.js +0 -65
  505. package/dist/krill/components/partitions.d.ts +0 -18
  506. package/dist/krill/components/partitions.js +0 -89
  507. package/dist/krill/components/steps.d.ts +0 -13
  508. package/dist/krill/components/steps.js +0 -148
  509. package/dist/krill/components/summary.d.ts +0 -25
  510. package/dist/krill/components/summary.js +0 -77
  511. package/dist/krill/components/title.d.ts +0 -11
  512. package/dist/krill/components/title.js +0 -35
  513. package/dist/krill/components/users.d.ts +0 -24
  514. package/dist/krill/components/users.js +0 -80
  515. package/dist/krill/components/welcome.d.ts +0 -13
  516. package/dist/krill/components/welcome.js +0 -63
  517. package/dist/krill/interfaces/i_krill.d.ts +0 -44
  518. package/dist/krill/interfaces/i_krill.js +0 -8
  519. package/dist/krill/interfaces/i_krill_config.d.ts +0 -35
  520. package/dist/krill/interfaces/i_krill_config.js +0 -8
  521. package/dist/krill/lib/get_address.d.ts +0 -8
  522. package/dist/krill/lib/get_address.js +0 -23
  523. package/dist/krill/lib/get_dns.d.ts +0 -8
  524. package/dist/krill/lib/get_dns.js +0 -23
  525. package/dist/krill/lib/get_domain.d.ts +0 -8
  526. package/dist/krill/lib/get_domain.js +0 -23
  527. package/dist/krill/lib/get_gateway.d.ts +0 -8
  528. package/dist/krill/lib/get_gateway.js +0 -23
  529. package/dist/krill/lib/get_hostname.d.ts +0 -8
  530. package/dist/krill/lib/get_hostname.js +0 -23
  531. package/dist/krill/lib/get_luks_passphrase.d.ts +0 -8
  532. package/dist/krill/lib/get_luks_passphrase.js +0 -40
  533. package/dist/krill/lib/get_netmask.d.ts +0 -8
  534. package/dist/krill/lib/get_netmask.js +0 -23
  535. package/dist/krill/lib/get_password.d.ts +0 -8
  536. package/dist/krill/lib/get_password.js +0 -36
  537. package/dist/krill/lib/get_userfullname.d.ts +0 -8
  538. package/dist/krill/lib/get_userfullname.js +0 -23
  539. package/dist/krill/lib/get_username.d.ts +0 -8
  540. package/dist/krill/lib/get_username.js +0 -23
  541. package/dist/krill/lib/select_address_type.d.ts +0 -8
  542. package/dist/krill/lib/select_address_type.js +0 -24
  543. package/dist/krill/lib/select_filesystem_type.d.ts +0 -8
  544. package/dist/krill/lib/select_filesystem_type.js +0 -40
  545. package/dist/krill/lib/select_installation_device.d.ts +0 -8
  546. package/dist/krill/lib/select_installation_device.js +0 -40
  547. package/dist/krill/lib/select_installation_mode.d.ts +0 -9
  548. package/dist/krill/lib/select_installation_mode.js +0 -25
  549. package/dist/krill/lib/select_interface.d.ts +0 -8
  550. package/dist/krill/lib/select_interface.js +0 -24
  551. package/dist/krill/lib/select_keyboard_layout.d.ts +0 -11
  552. package/dist/krill/lib/select_keyboard_layout.js +0 -36
  553. package/dist/krill/lib/select_keyboard_model.d.ts +0 -11
  554. package/dist/krill/lib/select_keyboard_model.js +0 -34
  555. package/dist/krill/lib/select_keyboard_option.d.ts +0 -11
  556. package/dist/krill/lib/select_keyboard_option.js +0 -34
  557. package/dist/krill/lib/select_keyboard_variant.d.ts +0 -11
  558. package/dist/krill/lib/select_keyboard_variant.js +0 -35
  559. package/dist/krill/lib/select_languages.d.ts +0 -8
  560. package/dist/krill/lib/select_languages.js +0 -28
  561. package/dist/krill/lib/select_regions.d.ts +0 -8
  562. package/dist/krill/lib/select_regions.js +0 -24
  563. package/dist/krill/lib/select_replaced_partition.d.ts +0 -8
  564. package/dist/krill/lib/select_replaced_partition.js +0 -31
  565. package/dist/krill/lib/select_user_swap_choice.d.ts +0 -9
  566. package/dist/krill/lib/select_user_swap_choice.js +0 -35
  567. package/dist/krill/lib/select_zones.d.ts +0 -8
  568. package/dist/krill/lib/select_zones.js +0 -518
  569. package/dist/lib/kill_me_softly.d.ts +0 -11
  570. package/dist/lib/kill_me_softly.js +0 -61
  571. package/dist/lib/utils.d.ts +0 -19
  572. package/dist/lib/utils.js +0 -65
@@ -1,17 +0,0 @@
1
- /**
2
- * ./src/classes/pve-live.ts
3
- * penguins-eggs v.25.7.x / ecmascript 2020
4
- * author: Piero Proietti
5
- * email: piero.proietti@gmail.com
6
- * license: MIT
7
- */
8
- import Systemctl from './systemctl.js';
9
- export default class PveLive {
10
- systemctl: Systemctl;
11
- constructor();
12
- create(root?: string): void;
13
- disable(): void;
14
- enable(): void;
15
- start(): void;
16
- stop(): void;
17
- }
@@ -1,52 +0,0 @@
1
- /**
2
- * ./src/classes/pve-live.ts
3
- * penguins-eggs v.25.7.x / ecmascript 2020
4
- * author: Piero Proietti
5
- * email: piero.proietti@gmail.com
6
- * license: MIT
7
- */
8
- /**
9
- * This will create a symbolic link from the system’s copy of the service file (usually in /lib/systemd/system or /etc/systemd/system)
10
- * into the location on disk where systemd looks for autostart files (usually /etc/systemd/system/some_target.target.wants.
11
- * We will go over what a target is later in this guide).
12
- * To disable the service from starting automatically, you can type:
13
- * sudo systemctl disable application.service
14
- * This will remove the symbolic link that indicated that the service should be started automatically.
15
- */
16
- import path from 'node:path';
17
- import shx from 'shelljs';
18
- import Systemctl from './systemctl.js';
19
- // _dirname
20
- const __dirname = path.dirname(new URL(import.meta.url).pathname);
21
- export default class PveLive {
22
- systemctl = {};
23
- constructor() {
24
- this.systemctl = new Systemctl();
25
- }
26
- create(root = '/') {
27
- // console.log("root:" + root)
28
- shx.cp(path.resolve(__dirname, '../../scripts/pve-live.sh'), `${root}/usr/bin/`);
29
- shx.exec(`chmod +x ${root}/usr/bin/pve-live.sh`);
30
- // console.log(`pve-live: ${root}/usr/bin/pve-live.sh`)
31
- shx.cp(path.resolve(__dirname, '../../scripts/pve-live.service'), `${root}/lib/systemd/system/`);
32
- shx.exec(`chmod +x ${root}/lib/systemd/system/pve-live.service`);
33
- // console.log(`pve-service: ${root}lib/systemd/system/pve-live.service`)
34
- // enable service
35
- const src = `${root}/usr/lib/systemd/system`;
36
- const dest = `${root}/etc/systemd/system/multi-user.target.wants`;
37
- shx.exec(`ln -s ${src}/pve-live.service ${dest}/pve-live.service`);
38
- // Utils.pressKeyToExit("check it!",true)
39
- }
40
- disable() {
41
- this.systemctl.disable('pve-live');
42
- }
43
- enable() {
44
- this.systemctl.enable('pve-live');
45
- }
46
- start() {
47
- this.systemctl.start('pve-live');
48
- }
49
- stop() {
50
- this.systemctl.stop('pve-live');
51
- }
52
- }
@@ -1,76 +0,0 @@
1
- /**
2
- * ./src/classes/pxe.ts
3
- * penguins-eggs v.25.7.x / ecmascript 2020
4
- * author: Piero Proietti
5
- * email: piero.proietti@gmail.com
6
- * license: MIT
7
- */
8
- import { IDhcpOptions, ITftpOptions } from '../dhcpd-proxy/interfaces/i-pxe.js';
9
- import Distro from './distro.js';
10
- import Settings from './settings.js';
11
- /**
12
- * Pxe:
13
- */
14
- export default class Pxe {
15
- bootLabel: string;
16
- echo: {};
17
- eggRoot: string;
18
- initrdImg: string;
19
- isos: string[];
20
- nest: string;
21
- pxeRoot: string;
22
- distro: Distro;
23
- settings: Settings;
24
- vmlinuz: string;
25
- /**
26
- * constructor
27
- * @param nest
28
- * @param pxeRoot
29
- */
30
- constructor(nest?: string, pxeRoot?: string, verbose?: boolean);
31
- /**
32
- * fertilization()
33
- *
34
- * cuckoo's nest
35
- */
36
- fertilization(): Promise<void>;
37
- /**
38
- * build
39
- */
40
- build(): Promise<void>;
41
- /**
42
- *
43
- * @param dhcpOptions
44
- */
45
- dhcpdStart(dhcpOptions: IDhcpOptions): void;
46
- /**
47
- * start http server for images
48
- */
49
- httpStart(): Promise<void>;
50
- /**
51
- * start tftp
52
- */
53
- tftpStart(tftpOptions: ITftpOptions): Promise<void>;
54
- /**
55
- * configure PXE http server
56
- */
57
- private http;
58
- /**
59
- * configure PXE bios
60
- */
61
- private bios;
62
- /**
63
- * uefi: uso ipxe solo per chainload di grub
64
- */
65
- private uefi;
66
- /**
67
- * grubCfg
68
- * @param familyId
69
- */
70
- private grubCfg;
71
- /**
72
- * Metodo helper per ottenere i parametri corretti per GRUB
73
- * in base alla famiglia della distribuzione.
74
- */
75
- private _getKernelParameters;
76
- }
@@ -1,353 +0,0 @@
1
- /**
2
- * ./src/classes/pxe.ts
3
- * penguins-eggs v.25.7.x / ecmascript 2020
4
- * author: Piero Proietti
5
- * email: piero.proietti@gmail.com
6
- * license: MIT
7
- */
8
- import fs from 'node:fs';
9
- import path from 'node:path';
10
- import { startSimpleProxy } from '../dhcpd-proxy/simple-proxy.js';
11
- import express from 'express';
12
- // @ts-ignore
13
- import tftp from 'tftp';
14
- import { exec } from '../lib/utils.js';
15
- import Distro from './distro.js';
16
- import Settings from './settings.js';
17
- import Utils from './utils.js';
18
- import Diversions from './diversions.js';
19
- // _dirname
20
- const __dirname = path.dirname(new URL(import.meta.url).pathname);
21
- /**
22
- * Pxe:
23
- */
24
- export default class Pxe {
25
- bootLabel = '';
26
- echo = {};
27
- eggRoot = '';
28
- initrdImg = '';
29
- isos = []; // cuckoo's eggs
30
- nest = '';
31
- pxeRoot = '';
32
- distro = {};
33
- settings = {};
34
- vmlinuz = '';
35
- /**
36
- * constructor
37
- * @param nest
38
- * @param pxeRoot
39
- */
40
- constructor(nest = '', pxeRoot = '', verbose = false) {
41
- this.nest = nest;
42
- this.pxeRoot = pxeRoot;
43
- this.echo = Utils.setEcho(verbose);
44
- }
45
- /**
46
- * fertilization()
47
- *
48
- * cuckoo's nest
49
- */
50
- async fertilization() {
51
- this.settings = new Settings();
52
- this.settings.load();
53
- this.distro = new Distro();
54
- if (Utils.isLive()) {
55
- this.eggRoot = this.distro.liveMediumPath;
56
- }
57
- else {
58
- this.eggRoot = this.settings.config.snapshot_mnt + 'iso/';
59
- }
60
- if (!Utils.isLive() && !fs.existsSync(this.settings.config.snapshot_mnt)) {
61
- console.log('no image available, build an image with: sudo eggs produce');
62
- process.exit();
63
- }
64
- /**
65
- * se pxeRoot non esiste viene creato
66
- */
67
- if (!fs.existsSync(this.pxeRoot)) {
68
- await exec(`mkdir ${this.pxeRoot} -p`);
69
- }
70
- /**
71
- * Ricerca delle ISOs
72
- * installed: /home/eggs/.mnt/iso/live
73
- * live: this.iso/live
74
- */
75
- const isos = [];
76
- const pathFiles = this.eggRoot + 'live';
77
- const files = fs.readdirSync(pathFiles);
78
- // rieva nome vmlinuz e initrdImg
79
- for (const file of files) {
80
- if (path.basename(file).slice(0, 7) === 'vmlinuz') {
81
- this.vmlinuz = path.basename(file);
82
- }
83
- if (path.basename(file).slice(0, 4) === 'init') {
84
- this.initrdImg = path.basename(file);
85
- }
86
- }
87
- /**
88
- * bootLabel
89
- */
90
- this.bootLabel = 'not found';
91
- if (fs.existsSync(this.eggRoot + '/.disk/mkisofs')) {
92
- const a = fs.readFileSync(this.eggRoot + '/.disk/mkisofs', 'utf8');
93
- const b = a.slice(Math.max(0, a.indexOf('-o ') + 3));
94
- const c = b.slice(0, Math.max(0, b.indexOf(' ')));
95
- this.bootLabel = c.slice(Math.max(0, c.lastIndexOf('/') + 1));
96
- }
97
- console.log(`eggRoot: ${this.eggRoot}`);
98
- console.log(`bootLabel: ${this.bootLabel}`);
99
- console.log(`vmlinuz: ${this.vmlinuz}`);
100
- console.log(`initrd: ${this.initrdImg}`);
101
- }
102
- /**
103
- * build
104
- */
105
- async build() {
106
- const echoYes = Utils.setEcho(true);
107
- // pxeRoot erase
108
- if (fs.existsSync(this.pxeRoot)) {
109
- await exec(`rm ${this.pxeRoot} -rf`, this.echo);
110
- }
111
- // Struttura
112
- await exec(`mkdir ${this.pxeRoot} -p`, this.echo);
113
- await exec(`ln -s ${this.eggRoot}live ${this.pxeRoot}/live`, this.echo);
114
- await exec(`ln -s ${this.nest}.disk ${this.pxeRoot}/.disk`, this.echo);
115
- // Link supplementari distro
116
- if (this.distro.familyId === 'archlinux') {
117
- let filesystemName = `arch/x86_64/airootfs.sfs`;
118
- if (Diversions.isManjaroBased(this.settings.distro.distroId)) {
119
- filesystemName = `manjaro/x86_64/livefs.sfs`;
120
- }
121
- await exec(`mkdir ${this.pxeRoot}/${path.dirname(filesystemName)} -p`, this.echo);
122
- await exec(`ln -s ${this.eggRoot}/live/filesystem.squashfs ${this.pxeRoot}/${filesystemName}`, this.echo);
123
- }
124
- // Firewall per fedora
125
- if (this.distro.familyId === 'fedora' || this.distro.familyId === 'opensuse') {
126
- await exec(`firewall-cmd --add-service=dhcp --permanent`, this.echo);
127
- await exec(`firewall-cmd --add-service=tftp --permanent`, this.echo);
128
- await exec(`firewall-cmd --add-service=http --permanent`, this.echo);
129
- await exec(`firewall-cmd --reload`, this.echo);
130
- }
131
- await this.grubCfg();
132
- await this.bios();
133
- await this.uefi();
134
- await this.http();
135
- }
136
- /**
137
- *
138
- * @param dhcpOptions
139
- */
140
- dhcpdStart(dhcpOptions) {
141
- startSimpleProxy(dhcpOptions);
142
- }
143
- /**
144
- * start http server for images
145
- */
146
- async httpStart() {
147
- const port = 80;
148
- const httpRoot = this.pxeRoot + '/';
149
- // 1. Crea un'applicazione Express
150
- const app = express();
151
- // 2. Usa il middleware di Express per servire i file statici.
152
- app.use(express.static(httpRoot));
153
- // 3. Avvia il server
154
- app.listen(port, () => {
155
- console.log(`HTTP server (Express) listening on 0.0.0.0:${port}`);
156
- console.log(`Serving files from ${httpRoot}`);
157
- });
158
- }
159
- /**
160
- * start tftp
161
- */
162
- async tftpStart(tftpOptions) {
163
- const tftpServer = tftp.createServer(tftpOptions);
164
- console.log('tftp listening: ' + tftpOptions.host + ':' + tftpOptions.port);
165
- tftpServer.on('error', (error) => {
166
- // Errors from the main socket
167
- // The current transfers are not aborted
168
- console.error(error);
169
- });
170
- tftpServer.on('request', (req, res) => {
171
- req.on('error', (error) => {
172
- // Error from the request
173
- // The connection is already closed
174
- console.error('[' + req.stats.remoteAddress + ':' + req.stats.remotePort + '] (' + req.file + ') ' + error.message);
175
- });
176
- });
177
- tftpServer.listen();
178
- }
179
- /**
180
- * configure PXE http server
181
- */
182
- async http() {
183
- const file = `${this.pxeRoot}/index.html`;
184
- let content = '';
185
- content += "<html><title>Penguin's eggs PXE server</title>";
186
- content += '<div style="background-image:url(\'/splash.png\');background-repeat:no-repeat;width: 640;height:480;padding:5px;border:1px solid black;">';
187
- content += '<h1>Cuckoo PXE server</h1>';
188
- content += `<body>address: <a href=http://${Utils.address()}>${Utils.address()}</a><br/>`;
189
- if (Utils.isLive()) {
190
- content += 'started from live iso image<br/>';
191
- }
192
- else {
193
- content += 'Serving:<li>';
194
- for (const iso of this.isos) {
195
- content += `<ul><a href='http://${Utils.address()}/${iso}'>${iso}</a></ul>`;
196
- }
197
- content += '</li>';
198
- }
199
- content += "source: <a href='https://github.com/pieroproietti/penguins-eggs'>https://github.com/pieroproietti/penguins-eggs</a><br/>";
200
- content += "manual: <a href='https://penguins-eggs.net/book/italiano9.2.html'>italiano</a>, <a href='https://penguins--eggs-net.translate.goog/book/italiano9.2?_x_tr_sl=auto&_x_tr_tl=en&_x_tr_hl=en'>translated</a><br/>";
201
- content += "discuss: <a href='https://t.me/penguins_eggs'>Telegram group<br/></body</html>";
202
- fs.writeFileSync(file, content);
203
- }
204
- /**
205
- * configure PXE bios
206
- */
207
- async bios() {
208
- const bootloaders = Diversions.bootloaders(this.distro.familyId);
209
- await exec(`cp ${__dirname}/../../addons/eggs/theme/livecd/isolinux.theme.cfg ${this.pxeRoot}/isolinux.theme.cfg`, this.echo);
210
- await exec(`cp ${__dirname}/../../addons/eggs/theme/livecd/splash.png ${this.pxeRoot}/splash.png`, this.echo);
211
- // ipxe.pxe
212
- await exec(`ln -s ${bootloaders}ipxe/ipxe.pxe ${this.pxeRoot}/ipxe.pxe`, this.echo);
213
- // snponly.efi
214
- await exec(`ln -s ${bootloaders}ipxe/snponly.efi ${this.pxeRoot}/snponly.efi`, this.echo);
215
- // pxe
216
- await exec(`cp ${bootloaders}PXELINUX/pxelinux.0 ${this.pxeRoot}/pxelinux.0`, this.echo);
217
- await exec(`cp ${bootloaders}PXELINUX/lpxelinux.0 ${this.pxeRoot}/lpxelinux.0`, this.echo);
218
- // syslinux
219
- await exec(`ln -s ${bootloaders}syslinux/modules/bios/ldlinux.c32 ${this.pxeRoot}/ldlinux.c32`, this.echo);
220
- await exec(`ln -s ${bootloaders}syslinux/modules/bios/vesamenu.c32 ${this.pxeRoot}/vesamenu.c32`, this.echo);
221
- await exec(`ln -s ${bootloaders}syslinux/modules/bios/libcom32.c32 ${this.pxeRoot}/libcom32.c32`, this.echo);
222
- await exec(`ln -s ${bootloaders}syslinux/modules/bios/libutil.c32 ${this.pxeRoot}/libutil.c32`, this.echo);
223
- await exec(`ln -s ${bootloaders}syslinux/modules/bios/memdisk ${this.pxeRoot}/memdisk`, this.echo);
224
- await exec(`mkdir ${this.pxeRoot}/pxelinux.cfg`, this.echo);
225
- let content = '';
226
- content += '# eggs: pxelinux.cfg/default\n';
227
- content += '# search path for the c32 support libraries (libcom32, libutil etc.)\n';
228
- content += `path /\n`;
229
- content += 'include isolinux.theme.cfg\n';
230
- content += 'UI vesamenu.c32\n';
231
- content += '\n';
232
- content += `menu title cuckoo: when you need a flying PXE server! ${Utils.address()}\n`;
233
- content += 'PROMPT 0\n';
234
- content += 'TIMEOUT 200\n';
235
- content += '\n';
236
- content += `label ${this.distro.distroId}\n`;
237
- content += `menu label ${this.bootLabel.replace('.iso', '')}\n`;
238
- content += `kernel http://${Utils.address()}/live/${path.basename(this.vmlinuz)}\n`;
239
- const kernelParams = this._getKernelParameters();
240
- content += `append initrd=http://${Utils.address()}/live/${path.basename(this.initrdImg)} ${kernelParams}\n`;
241
- const file = `${this.pxeRoot}/pxelinux.cfg/default`;
242
- fs.writeFileSync(file, content);
243
- }
244
- /**
245
- * uefi: uso ipxe solo per chainload di grub
246
- */
247
- async uefi() {
248
- let content = '#!ipxe\n';
249
- content += 'dhcp\n';
250
- content += `chain http://${Utils.address()}/grub.efi\n`;
251
- const file = `${this.pxeRoot}/autoexec.ipxe`;
252
- fs.writeFileSync(file, content);
253
- }
254
- /**
255
- * grubCfg
256
- * @param familyId
257
- */
258
- async grubCfg() {
259
- const bootloaders = Diversions.bootloaders(this.distro.familyId);
260
- const echoYes = Utils.setEcho(true);
261
- /**
262
- * On Debian bookworm:
263
- */
264
- await exec(`mkdir -p ${this.pxeRoot}/grub`, this.echo);
265
- if (this.distro.familyId === 'debian') {
266
- if (process.arch === 'x64') {
267
- await exec(`cp ${bootloaders}/grub/x86_64-efi-signed/grubnetx64.efi.signed ${this.pxeRoot}/grub.efi`, this.echo);
268
- await exec(`cp -r ${bootloaders}/grub/x86_64-efi ${this.pxeRoot}/grub`, this.echo);
269
- }
270
- else if (process.arch === 'ia32') {
271
- await exec(`cp ${bootloaders}/grub/i386-efi-signed/grubnetia32.efi.signed ${this.pxeRoot}/grub.efi`, this.echo);
272
- await exec(`cp -r ${bootloaders}/grub/i386-efi ${this.pxeRoot}/grub`, this.echo);
273
- }
274
- else if (process.arch === 'arm64') {
275
- await exec(`cp ${bootloaders}/grub/arm64-efi-signed/grubnetaa64.efi.signed ${this.pxeRoot}/grub.efi`, this.echo);
276
- await exec(`cp -r ${bootloaders}/grub/arm64-efi ${this.pxeRoot}/grub`, this.echo);
277
- }
278
- }
279
- else {
280
- /**
281
- * le altre distribuzione not signed
282
- */
283
- await exec(`cp ${bootloaders}grub/x86_64-efi/monolithic/grubnetx64.efi ${this.pxeRoot}/grub.efi`, this.echo);
284
- await exec(`cp -r ${bootloaders}/grub/x86_64-efi ${this.pxeRoot}/grub`, this.echo);
285
- }
286
- // Genera il file grub.cfg
287
- const grubName = `${this.pxeRoot}/grub/grub.cfg`; // Il file deve chiamarsi grub.cfg
288
- let grubContent = '';
289
- grubContent += `set timeout=10\n`;
290
- grubContent += `set default=0\n\n`;
291
- // Titolo del menu dinamico
292
- grubContent += `menuentry "${this.bootLabel.replace('.iso', '')} via PXE" {\n`;
293
- grubContent += ` echo "Booting ${this.bootLabel.replace('.iso', '')}..."\n`;
294
- grubContent += ` echo "Loading Linux Kernel..."\n`;
295
- const kernelParams = this._getKernelParameters();
296
- grubContent += ` linux (http,${Utils.address()})/live/${path.basename(this.vmlinuz)} ${kernelParams}\n`;
297
- grubContent += ` echo "Loading Initial Ramdisk..."\n`;
298
- grubContent += ` initrd (http,${Utils.address()})/live/${path.basename(this.initrdImg)}\n`;
299
- grubContent += `}\n`;
300
- fs.writeFileSync(grubName, grubContent, 'utf-8');
301
- }
302
- /**
303
- * Metodo helper per ottenere i parametri corretti per GRUB
304
- * in base alla famiglia della distribuzione.
305
- */
306
- _getKernelParameters() {
307
- let lp = '';
308
- // .replaceAll(/\s\s+/g, ' ')
309
- switch (this.distro.familyId) {
310
- case 'alpine':
311
- lp = `alpine_repo=http://${Utils.address()}/live/filesystem.squashfs \
312
- modules=loop,squashfs,sd-mod,usb-storage,virtio-net,e1000e \
313
- acpi=off \
314
- ip=dhcp`;
315
- break;
316
- case 'archlinux':
317
- let basedir = 'archisobasedir=arch';
318
- let hook = 'archiso_http_srv';
319
- if (Diversions.isManjaroBased(this.distro.distroId)) {
320
- basedir = '';
321
- hook = 'miso_http_srv';
322
- }
323
- lp = `${hook}=http://${Utils.address()}/ \
324
- ${basedir} \
325
- ip=dhcp \
326
- copytoram=n`;
327
- break;
328
- case 'debian':
329
- lp = `fetch=http://${Utils.address()}/live/filesystem.squashfs \
330
- boot=live \
331
- config \
332
- noswap \
333
- noprompt \
334
- ip=dhcp`;
335
- break;
336
- case 'fedora':
337
- case 'openmamba':
338
- case 'opensuse':
339
- lp = `initrd=http://${Utils.address()}/live/${path.basename(this.initrdImg)} \
340
- root=live:http://${Utils.address()}/live/filesystem.squashfs \
341
- rootfstype=auto \
342
- ro \
343
- rd.live.image \
344
- rd.luks=0 \
345
- rd.md=0 \
346
- rd.dm=0\n`;
347
- break;
348
- default:
349
- console.warn(`Attenzione: famiglia distro '${this.distro.familyId}' non riconosciuta per GRUB.`);
350
- }
351
- return lp.replaceAll(/\s\s+/g, ' ');
352
- }
353
- }
@@ -1,52 +0,0 @@
1
- /**
2
- * ./src/classes/settings.ts
3
- * penguins-eggs v.25.7.x / ecmascript 2020
4
- * author: Piero Proietti
5
- * email: piero.proietti@gmail.com
6
- * license: MIT
7
- */
8
- import { IApp, IDistro, IRemix, IWorkDir } from '../interfaces/index.js';
9
- import { IEggsConfig } from '../interfaces/index.js';
10
- import Incubator from './incubation/incubator.js';
11
- /**
12
- * Setting
13
- */
14
- export default class Settings {
15
- app: IApp;
16
- config: IEggsConfig;
17
- distro: IDistro;
18
- i686: boolean;
19
- incubator: Incubator;
20
- initrd_image: string;
21
- initrdImg: string;
22
- isLive: boolean;
23
- iso_work: string;
24
- isoFilename: string;
25
- kernel_image: string;
26
- remix: IRemix;
27
- session_excludes: string;
28
- vmlinuz: string;
29
- work_dir: IWorkDir;
30
- constructor(compression?: string);
31
- /**
32
- * Calculate and show free space on the disk
33
- * @returns {void}
34
- */
35
- listFreeSpace(): Promise<void>;
36
- /**
37
- * Load configuration from config_file
38
- * @returns {boolean} Success
39
- */
40
- load(): Promise<boolean>;
41
- /**
42
- *
43
- * @param basename
44
- * @param theme
45
- */
46
- loadRemix(theme?: string): Promise<void>;
47
- /**
48
- *
49
- * @param config
50
- */
51
- save(config: IEggsConfig): Promise<void>;
52
- }