penguins-eggs 25.9.8 → 25.9.24

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