penguins-eggs 25.10.24 → 25.10.28

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 (513) hide show
  1. package/.oclif.manifest.json +1 -1
  2. package/README.md +3 -770
  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 +1 -1
  7. package/addons/eggs/theme/livecd/generic.grub.theme.cfg +1 -3
  8. package/addons/eggs/theme/livecd/generic.isolinux.theme.cfg +1 -2
  9. package/assets/calamares/install-system.sh +0 -0
  10. package/assets/penguins-eggs.desktop +0 -0
  11. package/assets/penguins-krill.desktop +0 -0
  12. package/assets/penguins-links-add.desktop +0 -0
  13. package/assets/penguins-live-installer.desktop +0 -0
  14. package/bin/dev.js +0 -0
  15. package/conf/distros/alpine/calamares/calamares-modules/machineid-openrc/machineid-openrc.sh +0 -0
  16. package/conf/distros/buster/calamares/calamares-modules/cleanup/cleanup.sh +0 -0
  17. package/conf/distros/buster/calamares/calamares-modules/dpkg-unsafe-io/dpkg-unsafe-io.sh +0 -0
  18. package/conf/distros/buster/calamares/calamares-modules/sources-yolk/sources-yolk.sh +0 -0
  19. package/conf/distros/fedora/calamares/calamares-modules/bootloaderspecification/bootloaderspecification.sh +0 -0
  20. package/conf/distros/focal/calamares/calamares-modules/cleanup/cleanup.sh +0 -0
  21. package/conf/distros/focal/calamares/calamares-modules/sources-yolk/sources-yolk.sh +0 -0
  22. package/conf/distros/noble/calamares/calamares-modules/cleanup/cleanup.sh +0 -0
  23. package/conf/distros/noble/calamares/calamares-modules/sources-yolk/sources-yolk.sh +0 -0
  24. package/conf/distros/noble/calamares/libexec/calamares-aptsources.sh +0 -0
  25. package/conf/distros/noble/calamares/libexec/calamares-l10n-helper.sh +0 -0
  26. package/conf/distros/noble/calamares/libexec/calamares-logs-helper.sh +0 -0
  27. package/conf/distros/noble/calamares/libexec/calamares-nomodeset.sh +0 -0
  28. package/conf/distros/opensuse/calamares/calamares-modules/bootloaderspecification/bootloaderspecification.sh +0 -0
  29. package/conf/distros/opensuse/calamares/settings.yml +0 -0
  30. package/conf/distros/opensuse/calamares/zstd2lzo.sh +0 -0
  31. package/conf/distros/trixie/calamares/calamares-modules/cleanup/cleanup.sh +0 -0
  32. package/conf/distros/trixie/calamares/calamares-modules/dpkg-unsafe-io/dpkg-unsafe-io.sh +0 -0
  33. package/conf/distros/trixie/calamares/calamares-modules/sources-yolk/sources-yolk.sh +0 -0
  34. package/conf/init/unattended.sh +0 -0
  35. package/dracut/create-symlink +0 -0
  36. package/dracut/export +0 -0
  37. package/dracut/export-dracut-analysis +0 -0
  38. package/dracut/export-dracut-log +0 -0
  39. package/dracut/mkisofs +0 -0
  40. package/dracut/modules.d/00debug-shell/debug-hook.sh +0 -0
  41. package/dracut/modules.d/00debug-shell/module-setup.sh +0 -0
  42. package/dracut/modules.d/90block/block-cmdline.sh +0 -0
  43. package/dracut/modules.d/90block/module-setup.sh +0 -0
  44. package/dracut/modules.d/95iso-scan/iso-scan-fallback.sh +0 -0
  45. package/dracut/modules.d/95iso-scan/iso-scan.sh +0 -0
  46. package/dracut/modules.d/95iso-scan/module-setup.sh +0 -0
  47. package/dracut/modules.d/95luks-loop/luks-loop.sh +0 -0
  48. package/dracut/modules.d/95luks-loop/module-setup.sh +0 -0
  49. package/dracut/renew-initramfs +0 -0
  50. package/dracut/sbin2bin +0 -0
  51. package/dracut/update-dracut-conf-d +0 -0
  52. package/dracut/update-dracut-modules +0 -0
  53. package/eui/eui-autostart-cinnamon.desktop +0 -0
  54. package/eui/eui-autostart-xfce.desktop +0 -0
  55. package/eui/eui-create-image.sh +0 -0
  56. package/eui/eui-start.sh +0 -0
  57. package/package.json +124 -130
  58. package/perrisbrewery/scripts/postinst +0 -0
  59. package/perrisbrewery/scripts/postrm +0 -0
  60. package/perrisbrewery/scripts/preinst +0 -0
  61. package/perrisbrewery/scripts/prerm +0 -0
  62. package/scripts/99clean +0 -0
  63. package/scripts/adapt.sh +0 -0
  64. package/scripts/boot-encrypted-root.sh +138 -95
  65. package/scripts/bros/waydroid-helper.sh +0 -0
  66. package/scripts/lsb_release +0 -0
  67. package/scripts/mom.sh +0 -0
  68. package/scripts/mount-encrypted-home.sh +130 -65
  69. package/scripts/pve-live.service +0 -0
  70. package/scripts/pve-live.sh +0 -0
  71. package/scripts/resy +0 -0
  72. package/dist/classes/bleach.d.ts +0 -37
  73. package/dist/classes/bleach.js +0 -148
  74. package/dist/classes/cli-autologin.d.ts +0 -52
  75. package/dist/classes/cli-autologin.js +0 -252
  76. package/dist/classes/compressors.d.ts +0 -54
  77. package/dist/classes/compressors.js +0 -109
  78. package/dist/classes/daddy.d.ts +0 -26
  79. package/dist/classes/daddy.js +0 -175
  80. package/dist/classes/distro.d.ts +0 -32
  81. package/dist/classes/distro.js +0 -363
  82. package/dist/classes/diversions.d.ts +0 -53
  83. package/dist/classes/diversions.js +0 -131
  84. package/dist/classes/incubation/branding.d.ts +0 -17
  85. package/dist/classes/incubation/branding.js +0 -85
  86. package/dist/classes/incubation/customize/customize-partitions.d.ts +0 -4
  87. package/dist/classes/incubation/customize/customize-partitions.js +0 -29
  88. package/dist/classes/incubation/fisherman-helper/initcpio.d.ts +0 -1
  89. package/dist/classes/incubation/fisherman-helper/initcpio.js +0 -69
  90. package/dist/classes/incubation/fisherman-helper/packages.d.ts +0 -20
  91. package/dist/classes/incubation/fisherman-helper/packages.js +0 -72
  92. package/dist/classes/incubation/fisherman-helper/settings.d.ts +0 -15
  93. package/dist/classes/incubation/fisherman-helper/settings.js +0 -116
  94. package/dist/classes/incubation/fisherman.d.ts +0 -71
  95. package/dist/classes/incubation/fisherman.js +0 -281
  96. package/dist/classes/incubation/incubator.d/alpine.d.ts +0 -32
  97. package/dist/classes/incubation/incubator.d/alpine.js +0 -78
  98. package/dist/classes/incubation/incubator.d/archlinux.d.ts +0 -32
  99. package/dist/classes/incubation/incubator.d/archlinux.js +0 -82
  100. package/dist/classes/incubation/incubator.d/bionic.d.ts +0 -32
  101. package/dist/classes/incubation/incubator.d/bionic.js +0 -83
  102. package/dist/classes/incubation/incubator.d/buster.d.ts +0 -32
  103. package/dist/classes/incubation/incubator.d/buster.js +0 -101
  104. package/dist/classes/incubation/incubator.d/fedora.d.ts +0 -32
  105. package/dist/classes/incubation/incubator.d/fedora.js +0 -81
  106. package/dist/classes/incubation/incubator.d/focal.d.ts +0 -32
  107. package/dist/classes/incubation/incubator.d/focal.js +0 -85
  108. package/dist/classes/incubation/incubator.d/manjaro.d.ts +0 -32
  109. package/dist/classes/incubation/incubator.d/manjaro.js +0 -82
  110. package/dist/classes/incubation/incubator.d/noble.d.ts +0 -32
  111. package/dist/classes/incubation/incubator.d/noble.js +0 -102
  112. package/dist/classes/incubation/incubator.d/openmamba.d.ts +0 -32
  113. package/dist/classes/incubation/incubator.d/openmamba.js +0 -81
  114. package/dist/classes/incubation/incubator.d/opensuse.d.ts +0 -32
  115. package/dist/classes/incubation/incubator.d/opensuse.js +0 -81
  116. package/dist/classes/incubation/incubator.d/trixie.d.ts +0 -32
  117. package/dist/classes/incubation/incubator.d/trixie.js +0 -98
  118. package/dist/classes/incubation/incubator.d.ts +0 -48
  119. package/dist/classes/incubation/incubator.js +0 -378
  120. package/dist/classes/incubation/installer.d.ts +0 -13
  121. package/dist/classes/incubation/installer.js +0 -52
  122. package/dist/classes/keyboards.d.ts +0 -50
  123. package/dist/classes/keyboards.js +0 -287
  124. package/dist/classes/locales.d.ts +0 -21
  125. package/dist/classes/locales.js +0 -77
  126. package/dist/classes/network.d.ts +0 -37
  127. package/dist/classes/network.js +0 -98
  128. package/dist/classes/ovary.d/bind-live-fs.d.ts +0 -18
  129. package/dist/classes/ovary.d/bind-live-fs.js +0 -185
  130. package/dist/classes/ovary.d/bind-vfs.d.ts +0 -17
  131. package/dist/classes/ovary.d/bind-vfs.js +0 -37
  132. package/dist/classes/ovary.d/create-xdg-autostart.d.ts +0 -13
  133. package/dist/classes/ovary.d/create-xdg-autostart.js +0 -194
  134. package/dist/classes/ovary.d/edit-live-fs.d.ts +0 -20
  135. package/dist/classes/ovary.d/edit-live-fs.js +0 -239
  136. package/dist/classes/ovary.d/fertilization.d.ts +0 -12
  137. package/dist/classes/ovary.d/fertilization.js +0 -53
  138. package/dist/classes/ovary.d/finished.d.ts +0 -13
  139. package/dist/classes/ovary.d/finished.js +0 -40
  140. package/dist/classes/ovary.d/initrd.d.ts +0 -21
  141. package/dist/classes/ovary.d/initrd.js +0 -96
  142. package/dist/classes/ovary.d/kernel-copy.d.ts +0 -12
  143. package/dist/classes/ovary.d/kernel-copy.js +0 -22
  144. package/dist/classes/ovary.d/live-create-structure.d.ts +0 -12
  145. package/dist/classes/ovary.d/live-create-structure.js +0 -70
  146. package/dist/classes/ovary.d/luks-get-password.d.ts +0 -12
  147. package/dist/classes/ovary.d/luks-get-password.js +0 -58
  148. package/dist/classes/ovary.d/luks-home-support.d.ts +0 -12
  149. package/dist/classes/ovary.d/luks-home-support.js +0 -75
  150. package/dist/classes/ovary.d/luks-home.d.ts +0 -15
  151. package/dist/classes/ovary.d/luks-home.js +0 -152
  152. package/dist/classes/ovary.d/luks-root-initrd.d.ts +0 -17
  153. package/dist/classes/ovary.d/luks-root-initrd.js +0 -213
  154. package/dist/classes/ovary.d/luks-root.d.ts +0 -15
  155. package/dist/classes/ovary.d/luks-root.js +0 -151
  156. package/dist/classes/ovary.d/make-dot-disk.d.ts +0 -12
  157. package/dist/classes/ovary.d/make-dot-disk.js +0 -71
  158. package/dist/classes/ovary.d/make-efi.d.ts +0 -14
  159. package/dist/classes/ovary.d/make-efi.js +0 -290
  160. package/dist/classes/ovary.d/make-iso.d.ts +0 -13
  161. package/dist/classes/ovary.d/make-iso.js +0 -45
  162. package/dist/classes/ovary.d/make-squashfs.d.ts +0 -18
  163. package/dist/classes/ovary.d/make-squashfs.js +0 -111
  164. package/dist/classes/ovary.d/merged.d.ts +0 -27
  165. package/dist/classes/ovary.d/merged.js +0 -78
  166. package/dist/classes/ovary.d/produce.d.ts +0 -23
  167. package/dist/classes/ovary.d/produce.js +0 -348
  168. package/dist/classes/ovary.d/rexec.d.ts +0 -13
  169. package/dist/classes/ovary.d/rexec.js +0 -34
  170. package/dist/classes/ovary.d/syslinux.d.ts +0 -12
  171. package/dist/classes/ovary.d/syslinux.js +0 -95
  172. package/dist/classes/ovary.d/user-create-live.d.ts +0 -14
  173. package/dist/classes/ovary.d/user-create-live.js +0 -97
  174. package/dist/classes/ovary.d/users-remove.d.ts +0 -9
  175. package/dist/classes/ovary.d/users-remove.js +0 -38
  176. package/dist/classes/ovary.d/xorriso-command.d.ts +0 -14
  177. package/dist/classes/ovary.d/xorriso-command.js +0 -120
  178. package/dist/classes/ovary.d.ts +0 -105
  179. package/dist/classes/ovary.js +0 -116
  180. package/dist/classes/pacman.d/alpine.d.ts +0 -56
  181. package/dist/classes/pacman.d/alpine.js +0 -167
  182. package/dist/classes/pacman.d/archlinux.d.ts +0 -62
  183. package/dist/classes/pacman.d/archlinux.js +0 -128
  184. package/dist/classes/pacman.d/debian.d.ts +0 -65
  185. package/dist/classes/pacman.d/debian.js +0 -143
  186. package/dist/classes/pacman.d/fedora.d.ts +0 -53
  187. package/dist/classes/pacman.d/fedora.js +0 -107
  188. package/dist/classes/pacman.d/openmamba.d.ts +0 -52
  189. package/dist/classes/pacman.d/openmamba.js +0 -106
  190. package/dist/classes/pacman.d/opensuse.d.ts +0 -53
  191. package/dist/classes/pacman.d/opensuse.js +0 -109
  192. package/dist/classes/pacman.d.ts +0 -139
  193. package/dist/classes/pacman.js +0 -683
  194. package/dist/classes/pve-live.d.ts +0 -17
  195. package/dist/classes/pve-live.js +0 -52
  196. package/dist/classes/pxe.d.ts +0 -76
  197. package/dist/classes/pxe.js +0 -353
  198. package/dist/classes/settings.d.ts +0 -52
  199. package/dist/classes/settings.js +0 -185
  200. package/dist/classes/sources_list.d.ts +0 -28
  201. package/dist/classes/sources_list.js +0 -89
  202. package/dist/classes/systemctl.d.ts +0 -47
  203. package/dist/classes/systemctl.js +0 -86
  204. package/dist/classes/tailor.d.ts +0 -50
  205. package/dist/classes/tailor.js +0 -563
  206. package/dist/classes/tools.d.ts +0 -26
  207. package/dist/classes/tools.js +0 -50
  208. package/dist/classes/users.d.ts +0 -28
  209. package/dist/classes/users.js +0 -143
  210. package/dist/classes/utils.d/kernel.d.ts +0 -39
  211. package/dist/classes/utils.d/kernel.js +0 -206
  212. package/dist/classes/utils.d.ts +0 -330
  213. package/dist/classes/utils.js +0 -968
  214. package/dist/classes/xdg.d.ts +0 -45
  215. package/dist/classes/xdg.js +0 -337
  216. package/dist/classes/yolk.d.ts +0 -33
  217. package/dist/classes/yolk.js +0 -114
  218. package/dist/commands/adapt.d.ts +0 -17
  219. package/dist/commands/adapt.js +0 -33
  220. package/dist/commands/analyze.d.ts +0 -26
  221. package/dist/commands/analyze.js +0 -95
  222. package/dist/commands/calamares.d.ts +0 -29
  223. package/dist/commands/calamares.js +0 -112
  224. package/dist/commands/config.d.ts +0 -35
  225. package/dist/commands/config.js +0 -120
  226. package/dist/commands/cuckoo.d.ts +0 -17
  227. package/dist/commands/cuckoo.js +0 -61
  228. package/dist/commands/dad.d.ts +0 -21
  229. package/dist/commands/dad.js +0 -47
  230. package/dist/commands/export/iso.d.ts +0 -19
  231. package/dist/commands/export/iso.js +0 -55
  232. package/dist/commands/export/pkg.d.ts +0 -29
  233. package/dist/commands/export/pkg.js +0 -173
  234. package/dist/commands/export/tarballs.d.ts +0 -27
  235. package/dist/commands/export/tarballs.js +0 -79
  236. package/dist/commands/install.d.ts +0 -39
  237. package/dist/commands/install.js +0 -113
  238. package/dist/commands/kill.d.ts +0 -24
  239. package/dist/commands/kill.js +0 -50
  240. package/dist/commands/love.d.ts +0 -25
  241. package/dist/commands/love.js +0 -118
  242. package/dist/commands/mom.d.ts +0 -16
  243. package/dist/commands/mom.js +0 -30
  244. package/dist/commands/pods.d.ts +0 -22
  245. package/dist/commands/pods.js +0 -92
  246. package/dist/commands/produce.d.ts +0 -37
  247. package/dist/commands/produce.js +0 -232
  248. package/dist/commands/status.d.ts +0 -23
  249. package/dist/commands/status.js +0 -31
  250. package/dist/commands/tools/clean.d.ts +0 -18
  251. package/dist/commands/tools/clean.js +0 -37
  252. package/dist/commands/tools/repo.d.ts +0 -31
  253. package/dist/commands/tools/repo.js +0 -246
  254. package/dist/commands/tools/skel.d.ts +0 -18
  255. package/dist/commands/tools/skel.js +0 -44
  256. package/dist/commands/tools/stat.d.ts +0 -31
  257. package/dist/commands/tools/stat.js +0 -70
  258. package/dist/commands/tools/yolk.d.ts +0 -24
  259. package/dist/commands/tools/yolk.js +0 -45
  260. package/dist/commands/update.d.ts +0 -46
  261. package/dist/commands/update.js +0 -238
  262. package/dist/commands/wardrobe/get.d.ts +0 -23
  263. package/dist/commands/wardrobe/get.js +0 -52
  264. package/dist/commands/wardrobe/list.d.ts +0 -24
  265. package/dist/commands/wardrobe/list.js +0 -125
  266. package/dist/commands/wardrobe/show.d.ts +0 -25
  267. package/dist/commands/wardrobe/show.js +0 -97
  268. package/dist/commands/wardrobe/wear.d.ts +0 -26
  269. package/dist/commands/wardrobe/wear.js +0 -84
  270. package/dist/dhcpd-proxy/classes/packet.d.ts +0 -36
  271. package/dist/dhcpd-proxy/classes/packet.js +0 -124
  272. package/dist/dhcpd-proxy/index.d.ts +0 -4
  273. package/dist/dhcpd-proxy/index.js +0 -4
  274. package/dist/dhcpd-proxy/interfaces/i-pxe.d.ts +0 -45
  275. package/dist/dhcpd-proxy/interfaces/i-pxe.js +0 -1
  276. package/dist/dhcpd-proxy/lib/packet/converters.d.ts +0 -11
  277. package/dist/dhcpd-proxy/lib/packet/converters.js +0 -395
  278. package/dist/dhcpd-proxy/lib/packet/message-types.d.ts +0 -10
  279. package/dist/dhcpd-proxy/lib/packet/message-types.js +0 -12
  280. package/dist/dhcpd-proxy/lib/packet/options.d.ts +0 -8
  281. package/dist/dhcpd-proxy/lib/packet/options.js +0 -264
  282. package/dist/dhcpd-proxy/lib/sprintf.d.ts +0 -6
  283. package/dist/dhcpd-proxy/lib/sprintf.js +0 -130
  284. package/dist/dhcpd-proxy/lib/utils.d.ts +0 -126
  285. package/dist/dhcpd-proxy/lib/utils.js +0 -255
  286. package/dist/dhcpd-proxy/simple-proxy.d.ts +0 -11
  287. package/dist/dhcpd-proxy/simple-proxy.js +0 -118
  288. package/dist/index.d.ts +0 -8
  289. package/dist/index.js +0 -8
  290. package/dist/interfaces/calamares/i-calamares-bootloader.d.ts +0 -23
  291. package/dist/interfaces/calamares/i-calamares-bootloader.js +0 -7
  292. package/dist/interfaces/calamares/i-calamares-branding.d.ts +0 -46
  293. package/dist/interfaces/calamares/i-calamares-branding.js +0 -1
  294. package/dist/interfaces/calamares/i-calamares-displaymanager.d.ts +0 -34
  295. package/dist/interfaces/calamares/i-calamares-displaymanager.js +0 -1
  296. package/dist/interfaces/calamares/i-calamares-finished.d.ts +0 -14
  297. package/dist/interfaces/calamares/i-calamares-finished.js +0 -1
  298. package/dist/interfaces/calamares/i-calamares-packages.d.ts +0 -26
  299. package/dist/interfaces/calamares/i-calamares-packages.js +0 -1
  300. package/dist/interfaces/calamares/i-calamares-partitions.d.ts +0 -39
  301. package/dist/interfaces/calamares/i-calamares-partitions.js +0 -1
  302. package/dist/interfaces/calamares/i-calamares-settings.d.ts +0 -36
  303. package/dist/interfaces/calamares/i-calamares-settings.js +0 -1
  304. package/dist/interfaces/i-addons.d.ts +0 -12
  305. package/dist/interfaces/i-addons.js +0 -8
  306. package/dist/interfaces/i-analyze.d.ts +0 -17
  307. package/dist/interfaces/i-analyze.js +0 -17
  308. package/dist/interfaces/i-app.d.ts +0 -14
  309. package/dist/interfaces/i-app.js +0 -8
  310. package/dist/interfaces/i-config-tools.d.ts +0 -15
  311. package/dist/interfaces/i-config-tools.js +0 -8
  312. package/dist/interfaces/i-devices.d.ts +0 -20
  313. package/dist/interfaces/i-devices.js +0 -8
  314. package/dist/interfaces/i-distro.d.ts +0 -23
  315. package/dist/interfaces/i-distro.js +0 -8
  316. package/dist/interfaces/i-drive-list.d.ts +0 -33
  317. package/dist/interfaces/i-drive-list.js +0 -8
  318. package/dist/interfaces/i-eggs-config.d.ts +0 -32
  319. package/dist/interfaces/i-eggs-config.js +0 -8
  320. package/dist/interfaces/i-excludes.d.ts +0 -14
  321. package/dist/interfaces/i-excludes.js +0 -8
  322. package/dist/interfaces/i-exec.d.ts +0 -11
  323. package/dist/interfaces/i-exec.js +0 -8
  324. package/dist/interfaces/i-initrd.d.ts +0 -13
  325. package/dist/interfaces/i-initrd.js +0 -8
  326. package/dist/interfaces/i-install.d.ts +0 -16
  327. package/dist/interfaces/i-install.js +0 -8
  328. package/dist/interfaces/i-installer.d.ts +0 -17
  329. package/dist/interfaces/i-installer.js +0 -8
  330. package/dist/interfaces/i-luks-passphrase.d.ts +0 -11
  331. package/dist/interfaces/i-luks-passphrase.js +0 -8
  332. package/dist/interfaces/i-materia.d.ts +0 -36
  333. package/dist/interfaces/i-materia.js +0 -8
  334. package/dist/interfaces/i-net.d.ts +0 -16
  335. package/dist/interfaces/i-net.js +0 -8
  336. package/dist/interfaces/i-os-release.d.ts +0 -5
  337. package/dist/interfaces/i-os-release.js +0 -1
  338. package/dist/interfaces/i-packages.d.ts +0 -16
  339. package/dist/interfaces/i-packages.js +0 -8
  340. package/dist/interfaces/i-partitions.d.ts +0 -16
  341. package/dist/interfaces/i-partitions.js +0 -8
  342. package/dist/interfaces/i-pxe.d.ts +0 -45
  343. package/dist/interfaces/i-pxe.js +0 -1
  344. package/dist/interfaces/i-remix.d.ts +0 -21
  345. package/dist/interfaces/i-remix.js +0 -8
  346. package/dist/interfaces/i-settings.d.ts +0 -33
  347. package/dist/interfaces/i-settings.js +0 -8
  348. package/dist/interfaces/i-user.d.ts +0 -14
  349. package/dist/interfaces/i-user.js +0 -8
  350. package/dist/interfaces/i-workdir.d.ts +0 -14
  351. package/dist/interfaces/i-workdir.js +0 -8
  352. package/dist/interfaces/i-xkb-model.d.ts +0 -24
  353. package/dist/interfaces/i-xkb-model.js +0 -8
  354. package/dist/interfaces/index.d.ts +0 -26
  355. package/dist/interfaces/index.js +0 -8
  356. package/dist/krill/classes/cfs.d.ts +0 -17
  357. package/dist/krill/classes/cfs.js +0 -39
  358. package/dist/krill/classes/krill_enums.d.ts +0 -37
  359. package/dist/krill/classes/krill_enums.js +0 -41
  360. package/dist/krill/classes/prepare.d/confirm.d.ts +0 -5
  361. package/dist/krill/classes/prepare.d/confirm.js +0 -30
  362. package/dist/krill/classes/prepare.d/keyboard.d.ts +0 -14
  363. package/dist/krill/classes/prepare.d/keyboard.js +0 -62
  364. package/dist/krill/classes/prepare.d/location.d.ts +0 -17
  365. package/dist/krill/classes/prepare.d/location.js +0 -59
  366. package/dist/krill/classes/prepare.d/network.d.ts +0 -14
  367. package/dist/krill/classes/prepare.d/network.js +0 -68
  368. package/dist/krill/classes/prepare.d/partitions.d.ts +0 -14
  369. package/dist/krill/classes/prepare.d/partitions.js +0 -86
  370. package/dist/krill/classes/prepare.d/summary.d.ts +0 -15
  371. package/dist/krill/classes/prepare.d/summary.js +0 -72
  372. package/dist/krill/classes/prepare.d/users.d.ts +0 -6
  373. package/dist/krill/classes/prepare.d/users.js +0 -63
  374. package/dist/krill/classes/prepare.d/welcome.d.ts +0 -6
  375. package/dist/krill/classes/prepare.d/welcome.js +0 -30
  376. package/dist/krill/classes/prepare.d.ts +0 -89
  377. package/dist/krill/classes/prepare.js +0 -319
  378. package/dist/krill/classes/sequence.d/add_user.d.ts +0 -20
  379. package/dist/krill/classes/sequence.d/add_user.js +0 -77
  380. package/dist/krill/classes/sequence.d/bootloader.d.ts +0 -14
  381. package/dist/krill/classes/sequence.d/bootloader.js +0 -117
  382. package/dist/krill/classes/sequence.d/bootloader_config.d.ts +0 -14
  383. package/dist/krill/classes/sequence.d/bootloader_config.js +0 -192
  384. package/dist/krill/classes/sequence.d/change_password.d.ts +0 -15
  385. package/dist/krill/classes/sequence.d/change_password.js +0 -18
  386. package/dist/krill/classes/sequence.d/del_live_user.d.ts +0 -14
  387. package/dist/krill/classes/sequence.d/del_live_user.js +0 -39
  388. package/dist/krill/classes/sequence.d/fstab.d.ts +0 -14
  389. package/dist/krill/classes/sequence.d/fstab.js +0 -177
  390. package/dist/krill/classes/sequence.d/grubcfg.d.ts +0 -17
  391. package/dist/krill/classes/sequence.d/grubcfg.js +0 -35
  392. package/dist/krill/classes/sequence.d/hostname.d.ts +0 -13
  393. package/dist/krill/classes/sequence.d/hostname.js +0 -50
  394. package/dist/krill/classes/sequence.d/initramfs.d.ts +0 -13
  395. package/dist/krill/classes/sequence.d/initramfs.js +0 -54
  396. package/dist/krill/classes/sequence.d/initramfs_cfg.d.ts +0 -14
  397. package/dist/krill/classes/sequence.d/initramfs_cfg.js +0 -35
  398. package/dist/krill/classes/sequence.d/locale.d.ts +0 -13
  399. package/dist/krill/classes/sequence.d/locale.js +0 -91
  400. package/dist/krill/classes/sequence.d/locale_cfg.d.ts +0 -10
  401. package/dist/krill/classes/sequence.d/locale_cfg.js +0 -58
  402. package/dist/krill/classes/sequence.d/m_keyboard.d.ts +0 -14
  403. package/dist/krill/classes/sequence.d/m_keyboard.js +0 -58
  404. package/dist/krill/classes/sequence.d/machine_id.d.ts +0 -15
  405. package/dist/krill/classes/sequence.d/machine_id.js +0 -33
  406. package/dist/krill/classes/sequence.d/mkfs.d.ts +0 -15
  407. package/dist/krill/classes/sequence.d/mkfs.js +0 -88
  408. package/dist/krill/classes/sequence.d/mount_fs.d.ts +0 -17
  409. package/dist/krill/classes/sequence.d/mount_fs.js +0 -68
  410. package/dist/krill/classes/sequence.d/mount_vfs.d.ts +0 -17
  411. package/dist/krill/classes/sequence.d/mount_vfs.js +0 -59
  412. package/dist/krill/classes/sequence.d/network_cfg.d.ts +0 -19
  413. package/dist/krill/classes/sequence.d/network_cfg.js +0 -73
  414. package/dist/krill/classes/sequence.d/packages.d.ts +0 -14
  415. package/dist/krill/classes/sequence.d/packages.js +0 -111
  416. package/dist/krill/classes/sequence.d/partition.d/bios_luks.d.ts +0 -17
  417. package/dist/krill/classes/sequence.d/partition.d/bios_luks.js +0 -73
  418. package/dist/krill/classes/sequence.d/partition.d/bios_standard.d.ts +0 -16
  419. package/dist/krill/classes/sequence.d/partition.d/bios_standard.js +0 -51
  420. package/dist/krill/classes/sequence.d/partition.d/uefi_luks.d.ts +0 -17
  421. package/dist/krill/classes/sequence.d/partition.d/uefi_luks.js +0 -77
  422. package/dist/krill/classes/sequence.d/partition.d/uefi_standard.d.ts +0 -10
  423. package/dist/krill/classes/sequence.d/partition.d/uefi_standard.js +0 -33
  424. package/dist/krill/classes/sequence.d/partition.d.ts +0 -14
  425. package/dist/krill/classes/sequence.d/partition.js +0 -84
  426. package/dist/krill/classes/sequence.d/remove_installer_link.d.ts +0 -13
  427. package/dist/krill/classes/sequence.d/remove_installer_link.js +0 -35
  428. package/dist/krill/classes/sequence.d/umount.d.ts +0 -14
  429. package/dist/krill/classes/sequence.d/umount.js +0 -28
  430. package/dist/krill/classes/sequence.d/unpackfs.d.ts +0 -13
  431. package/dist/krill/classes/sequence.d/unpackfs.js +0 -20
  432. package/dist/krill/classes/sequence.d.ts +0 -134
  433. package/dist/krill/classes/sequence.js +0 -400
  434. package/dist/krill/components/finished.d.ts +0 -16
  435. package/dist/krill/components/finished.js +0 -56
  436. package/dist/krill/components/information.d.ts +0 -8
  437. package/dist/krill/components/information.js +0 -162
  438. package/dist/krill/components/install.d.ts +0 -15
  439. package/dist/krill/components/install.js +0 -60
  440. package/dist/krill/components/keyboard.d.ts +0 -16
  441. package/dist/krill/components/keyboard.js +0 -54
  442. package/dist/krill/components/location.d.ts +0 -16
  443. package/dist/krill/components/location.js +0 -59
  444. package/dist/krill/components/network.d.ts +0 -19
  445. package/dist/krill/components/network.js +0 -65
  446. package/dist/krill/components/partitions.d.ts +0 -18
  447. package/dist/krill/components/partitions.js +0 -89
  448. package/dist/krill/components/steps.d.ts +0 -13
  449. package/dist/krill/components/steps.js +0 -148
  450. package/dist/krill/components/summary.d.ts +0 -25
  451. package/dist/krill/components/summary.js +0 -77
  452. package/dist/krill/components/title.d.ts +0 -11
  453. package/dist/krill/components/title.js +0 -35
  454. package/dist/krill/components/users.d.ts +0 -24
  455. package/dist/krill/components/users.js +0 -80
  456. package/dist/krill/components/welcome.d.ts +0 -13
  457. package/dist/krill/components/welcome.js +0 -63
  458. package/dist/krill/interfaces/i_krill.d.ts +0 -44
  459. package/dist/krill/interfaces/i_krill.js +0 -8
  460. package/dist/krill/interfaces/i_krill_config.d.ts +0 -35
  461. package/dist/krill/interfaces/i_krill_config.js +0 -8
  462. package/dist/krill/lib/get_address.d.ts +0 -8
  463. package/dist/krill/lib/get_address.js +0 -23
  464. package/dist/krill/lib/get_dns.d.ts +0 -8
  465. package/dist/krill/lib/get_dns.js +0 -23
  466. package/dist/krill/lib/get_domain.d.ts +0 -8
  467. package/dist/krill/lib/get_domain.js +0 -23
  468. package/dist/krill/lib/get_gateway.d.ts +0 -8
  469. package/dist/krill/lib/get_gateway.js +0 -23
  470. package/dist/krill/lib/get_hostname.d.ts +0 -8
  471. package/dist/krill/lib/get_hostname.js +0 -23
  472. package/dist/krill/lib/get_luks_passphrase.d.ts +0 -8
  473. package/dist/krill/lib/get_luks_passphrase.js +0 -32
  474. package/dist/krill/lib/get_netmask.d.ts +0 -8
  475. package/dist/krill/lib/get_netmask.js +0 -23
  476. package/dist/krill/lib/get_password.d.ts +0 -8
  477. package/dist/krill/lib/get_password.js +0 -36
  478. package/dist/krill/lib/get_userfullname.d.ts +0 -8
  479. package/dist/krill/lib/get_userfullname.js +0 -23
  480. package/dist/krill/lib/get_username.d.ts +0 -8
  481. package/dist/krill/lib/get_username.js +0 -23
  482. package/dist/krill/lib/select_address_type.d.ts +0 -8
  483. package/dist/krill/lib/select_address_type.js +0 -24
  484. package/dist/krill/lib/select_filesystem_type.d.ts +0 -8
  485. package/dist/krill/lib/select_filesystem_type.js +0 -40
  486. package/dist/krill/lib/select_installation_device.d.ts +0 -8
  487. package/dist/krill/lib/select_installation_device.js +0 -40
  488. package/dist/krill/lib/select_installation_mode.d.ts +0 -9
  489. package/dist/krill/lib/select_installation_mode.js +0 -25
  490. package/dist/krill/lib/select_interface.d.ts +0 -8
  491. package/dist/krill/lib/select_interface.js +0 -24
  492. package/dist/krill/lib/select_keyboard_layout.d.ts +0 -11
  493. package/dist/krill/lib/select_keyboard_layout.js +0 -36
  494. package/dist/krill/lib/select_keyboard_model.d.ts +0 -11
  495. package/dist/krill/lib/select_keyboard_model.js +0 -34
  496. package/dist/krill/lib/select_keyboard_option.d.ts +0 -11
  497. package/dist/krill/lib/select_keyboard_option.js +0 -34
  498. package/dist/krill/lib/select_keyboard_variant.d.ts +0 -11
  499. package/dist/krill/lib/select_keyboard_variant.js +0 -35
  500. package/dist/krill/lib/select_languages.d.ts +0 -8
  501. package/dist/krill/lib/select_languages.js +0 -28
  502. package/dist/krill/lib/select_regions.d.ts +0 -8
  503. package/dist/krill/lib/select_regions.js +0 -24
  504. package/dist/krill/lib/select_replaced_partition.d.ts +0 -8
  505. package/dist/krill/lib/select_replaced_partition.js +0 -31
  506. package/dist/krill/lib/select_user_swap_choice.d.ts +0 -9
  507. package/dist/krill/lib/select_user_swap_choice.js +0 -35
  508. package/dist/krill/lib/select_zones.d.ts +0 -8
  509. package/dist/krill/lib/select_zones.js +0 -518
  510. package/dist/lib/kill_me_softly.d.ts +0 -11
  511. package/dist/lib/kill_me_softly.js +0 -61
  512. package/dist/lib/utils.d.ts +0 -19
  513. package/dist/lib/utils.js +0 -65
@@ -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
- }