penguins-eggs 25.10.6 → 25.10.23

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 (474) hide show
  1. package/.oclif.manifest.json +51 -145
  2. package/README.md +59 -120
  3. package/README.pdf +1723 -1731
  4. package/addons/eggs/theme/livecd/isolinux.main.simple.cfg +2 -3
  5. package/conf/distros/trixie/calamares/modules/shellprocess@boot_deploy.yml +3 -4
  6. package/conf/love.yaml +1 -1
  7. package/dracut/create-symlink +71 -0
  8. package/dracut/dracut-log.txt +3 -0
  9. package/dracut/dracut.conf.d/50-live.conf +24 -6
  10. package/dracut/dracut.conf.d/README.md +10 -0
  11. package/dracut/export +4 -0
  12. package/dracut/export-dracut-analysis +51 -0
  13. package/dracut/export-dracut-log +2 -0
  14. package/dracut/mkisofs +10 -0
  15. package/dracut/modules.d/00debug-shell/debug-hook.sh +13 -0
  16. package/dracut/modules.d/00debug-shell/module-setup.sh +20 -0
  17. package/dracut/modules.d/90block/README.md +7 -0
  18. package/dracut/modules.d/90block/block-cmdline.sh +3 -0
  19. package/dracut/modules.d/90block/module-setup.sh +15 -0
  20. package/dracut/modules.d/95iso-scan/README.md +3 -0
  21. package/dracut/modules.d/95iso-scan/iso-scan-fallback.sh +12 -0
  22. package/dracut/modules.d/95iso-scan/iso-scan.sh +92 -0
  23. package/dracut/modules.d/95iso-scan/module-setup.sh +18 -0
  24. package/dracut/modules.d/95luks-loop/README.md +9 -0
  25. package/dracut/modules.d/95luks-loop/luks-loop.sh +90 -0
  26. package/dracut/modules.d/95luks-loop/module-setup.sh +17 -0
  27. package/dracut/renew-initramfs +17 -0
  28. package/dracut/sbin2bin +10 -0
  29. package/dracut/update-dracut-conf-d +2 -0
  30. package/dracut/update-dracut-modules +62 -0
  31. package/manpages/doc/man/eggs.1.gz +0 -0
  32. package/manpages/doc/man/eggs.html +7 -661
  33. package/package.json +10 -9
  34. package/perrisbrewery/template/dependencies.yaml +6 -5
  35. package/scripts/_eggs +16 -31
  36. package/scripts/boot-encrypted-root.sh +177 -0
  37. package/scripts/eggs.bash +4 -6
  38. package/scripts/mount-encrypted-home.sh +259 -0
  39. package/dist/classes/bleach.d.ts +0 -37
  40. package/dist/classes/bleach.js +0 -148
  41. package/dist/classes/cli-autologin.d.ts +0 -52
  42. package/dist/classes/cli-autologin.js +0 -252
  43. package/dist/classes/compressors.d.ts +0 -54
  44. package/dist/classes/compressors.js +0 -109
  45. package/dist/classes/daddy.d.ts +0 -26
  46. package/dist/classes/daddy.js +0 -175
  47. package/dist/classes/distro.d.ts +0 -32
  48. package/dist/classes/distro.js +0 -356
  49. package/dist/classes/diversions.d.ts +0 -53
  50. package/dist/classes/diversions.js +0 -133
  51. package/dist/classes/incubation/branding.d.ts +0 -17
  52. package/dist/classes/incubation/branding.js +0 -85
  53. package/dist/classes/incubation/customize/customize-partitions.d.ts +0 -4
  54. package/dist/classes/incubation/customize/customize-partitions.js +0 -29
  55. package/dist/classes/incubation/fisherman-helper/initcpio.d.ts +0 -1
  56. package/dist/classes/incubation/fisherman-helper/initcpio.js +0 -69
  57. package/dist/classes/incubation/fisherman-helper/packages.d.ts +0 -20
  58. package/dist/classes/incubation/fisherman-helper/packages.js +0 -72
  59. package/dist/classes/incubation/fisherman-helper/settings.d.ts +0 -15
  60. package/dist/classes/incubation/fisherman-helper/settings.js +0 -116
  61. package/dist/classes/incubation/fisherman.d.ts +0 -71
  62. package/dist/classes/incubation/fisherman.js +0 -281
  63. package/dist/classes/incubation/incubator.d/alpine.d.ts +0 -32
  64. package/dist/classes/incubation/incubator.d/alpine.js +0 -78
  65. package/dist/classes/incubation/incubator.d/archlinux.d.ts +0 -32
  66. package/dist/classes/incubation/incubator.d/archlinux.js +0 -81
  67. package/dist/classes/incubation/incubator.d/bionic.d.ts +0 -32
  68. package/dist/classes/incubation/incubator.d/bionic.js +0 -83
  69. package/dist/classes/incubation/incubator.d/buster.d.ts +0 -32
  70. package/dist/classes/incubation/incubator.d/buster.js +0 -101
  71. package/dist/classes/incubation/incubator.d/fedora.d.ts +0 -32
  72. package/dist/classes/incubation/incubator.d/fedora.js +0 -81
  73. package/dist/classes/incubation/incubator.d/focal.d.ts +0 -32
  74. package/dist/classes/incubation/incubator.d/focal.js +0 -85
  75. package/dist/classes/incubation/incubator.d/manjaro.d.ts +0 -32
  76. package/dist/classes/incubation/incubator.d/manjaro.js +0 -82
  77. package/dist/classes/incubation/incubator.d/noble.d.ts +0 -32
  78. package/dist/classes/incubation/incubator.d/noble.js +0 -102
  79. package/dist/classes/incubation/incubator.d/openmamba.d.ts +0 -32
  80. package/dist/classes/incubation/incubator.d/openmamba.js +0 -81
  81. package/dist/classes/incubation/incubator.d/opensuse.d.ts +0 -32
  82. package/dist/classes/incubation/incubator.d/opensuse.js +0 -81
  83. package/dist/classes/incubation/incubator.d/trixie.d.ts +0 -32
  84. package/dist/classes/incubation/incubator.d/trixie.js +0 -101
  85. package/dist/classes/incubation/incubator.d.ts +0 -48
  86. package/dist/classes/incubation/incubator.js +0 -378
  87. package/dist/classes/incubation/installer.d.ts +0 -13
  88. package/dist/classes/incubation/installer.js +0 -52
  89. package/dist/classes/keyboards.d.ts +0 -50
  90. package/dist/classes/keyboards.js +0 -287
  91. package/dist/classes/locales.d.ts +0 -21
  92. package/dist/classes/locales.js +0 -77
  93. package/dist/classes/network.d.ts +0 -37
  94. package/dist/classes/network.js +0 -98
  95. package/dist/classes/ovary.d/bind-live-fs.d.ts +0 -18
  96. package/dist/classes/ovary.d/bind-live-fs.js +0 -185
  97. package/dist/classes/ovary.d/bind-vfs.d.ts +0 -17
  98. package/dist/classes/ovary.d/bind-vfs.js +0 -37
  99. package/dist/classes/ovary.d/create-xdg-autostart.d.ts +0 -13
  100. package/dist/classes/ovary.d/create-xdg-autostart.js +0 -194
  101. package/dist/classes/ovary.d/edit-live-fs.d.ts +0 -20
  102. package/dist/classes/ovary.d/edit-live-fs.js +0 -245
  103. package/dist/classes/ovary.d/fertilization.d.ts +0 -12
  104. package/dist/classes/ovary.d/fertilization.js +0 -52
  105. package/dist/classes/ovary.d/finished.d.ts +0 -13
  106. package/dist/classes/ovary.d/finished.js +0 -44
  107. package/dist/classes/ovary.d/initrd.d.ts +0 -21
  108. package/dist/classes/ovary.d/initrd.js +0 -97
  109. package/dist/classes/ovary.d/kernel-copy.d.ts +0 -12
  110. package/dist/classes/ovary.d/kernel-copy.js +0 -22
  111. package/dist/classes/ovary.d/live-create-structure.d.ts +0 -12
  112. package/dist/classes/ovary.d/live-create-structure.js +0 -73
  113. package/dist/classes/ovary.d/make-dot-disk.d.ts +0 -12
  114. package/dist/classes/ovary.d/make-dot-disk.js +0 -62
  115. package/dist/classes/ovary.d/make-efi.d.ts +0 -14
  116. package/dist/classes/ovary.d/make-efi.js +0 -274
  117. package/dist/classes/ovary.d/make-iso.d.ts +0 -13
  118. package/dist/classes/ovary.d/make-iso.js +0 -45
  119. package/dist/classes/ovary.d/make-squashfs.d.ts +0 -18
  120. package/dist/classes/ovary.d/make-squashfs.js +0 -110
  121. package/dist/classes/ovary.d/merged.d.ts +0 -27
  122. package/dist/classes/ovary.d/merged.js +0 -78
  123. package/dist/classes/ovary.d/produce.d.ts +0 -23
  124. package/dist/classes/ovary.d/produce.js +0 -319
  125. package/dist/classes/ovary.d/rexec.d.ts +0 -13
  126. package/dist/classes/ovary.d/rexec.js +0 -34
  127. package/dist/classes/ovary.d/syslinux.d.ts +0 -12
  128. package/dist/classes/ovary.d/syslinux.js +0 -82
  129. package/dist/classes/ovary.d/user-create-live.d.ts +0 -14
  130. package/dist/classes/ovary.d/user-create-live.js +0 -97
  131. package/dist/classes/ovary.d/users-remove.d.ts +0 -9
  132. package/dist/classes/ovary.d/users-remove.js +0 -38
  133. package/dist/classes/ovary.d/xorriso-command.d.ts +0 -14
  134. package/dist/classes/ovary.d/xorriso-command.js +0 -123
  135. package/dist/classes/ovary.d.ts +0 -87
  136. package/dist/classes/ovary.js +0 -90
  137. package/dist/classes/pacman.d/alpine.d.ts +0 -56
  138. package/dist/classes/pacman.d/alpine.js +0 -167
  139. package/dist/classes/pacman.d/archlinux.d.ts +0 -62
  140. package/dist/classes/pacman.d/archlinux.js +0 -128
  141. package/dist/classes/pacman.d/debian.d.ts +0 -65
  142. package/dist/classes/pacman.d/debian.js +0 -143
  143. package/dist/classes/pacman.d/fedora.d.ts +0 -53
  144. package/dist/classes/pacman.d/fedora.js +0 -107
  145. package/dist/classes/pacman.d/openmamba.d.ts +0 -52
  146. package/dist/classes/pacman.d/openmamba.js +0 -106
  147. package/dist/classes/pacman.d/opensuse.d.ts +0 -53
  148. package/dist/classes/pacman.d/opensuse.js +0 -109
  149. package/dist/classes/pacman.d.ts +0 -139
  150. package/dist/classes/pacman.js +0 -683
  151. package/dist/classes/pve-live.d.ts +0 -17
  152. package/dist/classes/pve-live.js +0 -52
  153. package/dist/classes/pxe.d.ts +0 -76
  154. package/dist/classes/pxe.js +0 -353
  155. package/dist/classes/settings.d.ts +0 -52
  156. package/dist/classes/settings.js +0 -185
  157. package/dist/classes/sources_list.d.ts +0 -28
  158. package/dist/classes/sources_list.js +0 -89
  159. package/dist/classes/systemctl.d.ts +0 -47
  160. package/dist/classes/systemctl.js +0 -86
  161. package/dist/classes/tailor.d.ts +0 -50
  162. package/dist/classes/tailor.js +0 -563
  163. package/dist/classes/tools.d.ts +0 -26
  164. package/dist/classes/tools.js +0 -50
  165. package/dist/classes/users.d.ts +0 -28
  166. package/dist/classes/users.js +0 -143
  167. package/dist/classes/utils.d/kernel.d.ts +0 -39
  168. package/dist/classes/utils.d/kernel.js +0 -206
  169. package/dist/classes/utils.d.ts +0 -327
  170. package/dist/classes/utils.js +0 -955
  171. package/dist/classes/xdg.d.ts +0 -45
  172. package/dist/classes/xdg.js +0 -337
  173. package/dist/classes/yolk.d.ts +0 -33
  174. package/dist/classes/yolk.js +0 -114
  175. package/dist/commands/adapt.d.ts +0 -17
  176. package/dist/commands/adapt.js +0 -33
  177. package/dist/commands/analyze.d.ts +0 -26
  178. package/dist/commands/analyze.js +0 -95
  179. package/dist/commands/calamares.d.ts +0 -29
  180. package/dist/commands/calamares.js +0 -112
  181. package/dist/commands/config.d.ts +0 -35
  182. package/dist/commands/config.js +0 -120
  183. package/dist/commands/cuckoo.d.ts +0 -17
  184. package/dist/commands/cuckoo.js +0 -61
  185. package/dist/commands/dad.d.ts +0 -21
  186. package/dist/commands/dad.js +0 -47
  187. package/dist/commands/export/iso.d.ts +0 -19
  188. package/dist/commands/export/iso.js +0 -55
  189. package/dist/commands/export/pkg.d.ts +0 -29
  190. package/dist/commands/export/pkg.js +0 -173
  191. package/dist/commands/export/tarballs.d.ts +0 -27
  192. package/dist/commands/export/tarballs.js +0 -79
  193. package/dist/commands/install.d.ts +0 -39
  194. package/dist/commands/install.js +0 -113
  195. package/dist/commands/kill.d.ts +0 -24
  196. package/dist/commands/kill.js +0 -50
  197. package/dist/commands/love.d.ts +0 -21
  198. package/dist/commands/love.js +0 -73
  199. package/dist/commands/mom.d.ts +0 -16
  200. package/dist/commands/mom.js +0 -30
  201. package/dist/commands/pods.d.ts +0 -22
  202. package/dist/commands/pods.js +0 -92
  203. package/dist/commands/produce.d.ts +0 -35
  204. package/dist/commands/produce.js +0 -221
  205. package/dist/commands/status.d.ts +0 -23
  206. package/dist/commands/status.js +0 -31
  207. package/dist/commands/syncfrom.d.ts +0 -45
  208. package/dist/commands/syncfrom.js +0 -152
  209. package/dist/commands/syncto.d.ts +0 -40
  210. package/dist/commands/syncto.js +0 -175
  211. package/dist/commands/tools/clean.d.ts +0 -18
  212. package/dist/commands/tools/clean.js +0 -37
  213. package/dist/commands/tools/ppa.d.ts +0 -31
  214. package/dist/commands/tools/ppa.js +0 -244
  215. package/dist/commands/tools/skel.d.ts +0 -18
  216. package/dist/commands/tools/skel.js +0 -44
  217. package/dist/commands/tools/stat.d.ts +0 -31
  218. package/dist/commands/tools/stat.js +0 -70
  219. package/dist/commands/tools/yolk.d.ts +0 -24
  220. package/dist/commands/tools/yolk.js +0 -45
  221. package/dist/commands/update.d.ts +0 -46
  222. package/dist/commands/update.js +0 -238
  223. package/dist/commands/wardrobe/get.d.ts +0 -23
  224. package/dist/commands/wardrobe/get.js +0 -52
  225. package/dist/commands/wardrobe/list.d.ts +0 -24
  226. package/dist/commands/wardrobe/list.js +0 -125
  227. package/dist/commands/wardrobe/show.d.ts +0 -25
  228. package/dist/commands/wardrobe/show.js +0 -97
  229. package/dist/commands/wardrobe/wear.d.ts +0 -26
  230. package/dist/commands/wardrobe/wear.js +0 -84
  231. package/dist/dhcpd-proxy/classes/packet.d.ts +0 -36
  232. package/dist/dhcpd-proxy/classes/packet.js +0 -124
  233. package/dist/dhcpd-proxy/index.d.ts +0 -4
  234. package/dist/dhcpd-proxy/index.js +0 -4
  235. package/dist/dhcpd-proxy/interfaces/i-pxe.d.ts +0 -45
  236. package/dist/dhcpd-proxy/interfaces/i-pxe.js +0 -1
  237. package/dist/dhcpd-proxy/lib/packet/converters.d.ts +0 -11
  238. package/dist/dhcpd-proxy/lib/packet/converters.js +0 -395
  239. package/dist/dhcpd-proxy/lib/packet/message-types.d.ts +0 -10
  240. package/dist/dhcpd-proxy/lib/packet/message-types.js +0 -12
  241. package/dist/dhcpd-proxy/lib/packet/options.d.ts +0 -8
  242. package/dist/dhcpd-proxy/lib/packet/options.js +0 -264
  243. package/dist/dhcpd-proxy/lib/sprintf.d.ts +0 -6
  244. package/dist/dhcpd-proxy/lib/sprintf.js +0 -130
  245. package/dist/dhcpd-proxy/lib/utils.d.ts +0 -126
  246. package/dist/dhcpd-proxy/lib/utils.js +0 -255
  247. package/dist/dhcpd-proxy/simple-proxy.d.ts +0 -11
  248. package/dist/dhcpd-proxy/simple-proxy.js +0 -118
  249. package/dist/index.d.ts +0 -8
  250. package/dist/index.js +0 -8
  251. package/dist/interfaces/calamares/i-calamares-bootloader.d.ts +0 -23
  252. package/dist/interfaces/calamares/i-calamares-bootloader.js +0 -7
  253. package/dist/interfaces/calamares/i-calamares-branding.d.ts +0 -46
  254. package/dist/interfaces/calamares/i-calamares-branding.js +0 -1
  255. package/dist/interfaces/calamares/i-calamares-displaymanager.d.ts +0 -34
  256. package/dist/interfaces/calamares/i-calamares-displaymanager.js +0 -1
  257. package/dist/interfaces/calamares/i-calamares-finished.d.ts +0 -14
  258. package/dist/interfaces/calamares/i-calamares-finished.js +0 -1
  259. package/dist/interfaces/calamares/i-calamares-packages.d.ts +0 -26
  260. package/dist/interfaces/calamares/i-calamares-packages.js +0 -1
  261. package/dist/interfaces/calamares/i-calamares-partitions.d.ts +0 -39
  262. package/dist/interfaces/calamares/i-calamares-partitions.js +0 -1
  263. package/dist/interfaces/calamares/i-calamares-settings.d.ts +0 -36
  264. package/dist/interfaces/calamares/i-calamares-settings.js +0 -1
  265. package/dist/interfaces/i-addons.d.ts +0 -12
  266. package/dist/interfaces/i-addons.js +0 -8
  267. package/dist/interfaces/i-analyze.d.ts +0 -17
  268. package/dist/interfaces/i-analyze.js +0 -17
  269. package/dist/interfaces/i-app.d.ts +0 -14
  270. package/dist/interfaces/i-app.js +0 -8
  271. package/dist/interfaces/i-config-tools.d.ts +0 -15
  272. package/dist/interfaces/i-config-tools.js +0 -8
  273. package/dist/interfaces/i-devices.d.ts +0 -20
  274. package/dist/interfaces/i-devices.js +0 -8
  275. package/dist/interfaces/i-distro.d.ts +0 -23
  276. package/dist/interfaces/i-distro.js +0 -8
  277. package/dist/interfaces/i-drive-list.d.ts +0 -33
  278. package/dist/interfaces/i-drive-list.js +0 -8
  279. package/dist/interfaces/i-eggs-config.d.ts +0 -32
  280. package/dist/interfaces/i-eggs-config.js +0 -8
  281. package/dist/interfaces/i-excludes.d.ts +0 -14
  282. package/dist/interfaces/i-excludes.js +0 -8
  283. package/dist/interfaces/i-exec.d.ts +0 -11
  284. package/dist/interfaces/i-exec.js +0 -8
  285. package/dist/interfaces/i-initrd.d.ts +0 -13
  286. package/dist/interfaces/i-initrd.js +0 -8
  287. package/dist/interfaces/i-install.d.ts +0 -16
  288. package/dist/interfaces/i-install.js +0 -8
  289. package/dist/interfaces/i-installer.d.ts +0 -17
  290. package/dist/interfaces/i-installer.js +0 -8
  291. package/dist/interfaces/i-luks-passphrase.d.ts +0 -11
  292. package/dist/interfaces/i-luks-passphrase.js +0 -8
  293. package/dist/interfaces/i-materia.d.ts +0 -36
  294. package/dist/interfaces/i-materia.js +0 -8
  295. package/dist/interfaces/i-net.d.ts +0 -16
  296. package/dist/interfaces/i-net.js +0 -8
  297. package/dist/interfaces/i-os-release.d.ts +0 -5
  298. package/dist/interfaces/i-os-release.js +0 -1
  299. package/dist/interfaces/i-packages.d.ts +0 -16
  300. package/dist/interfaces/i-packages.js +0 -8
  301. package/dist/interfaces/i-partitions.d.ts +0 -16
  302. package/dist/interfaces/i-partitions.js +0 -8
  303. package/dist/interfaces/i-pxe.d.ts +0 -45
  304. package/dist/interfaces/i-pxe.js +0 -1
  305. package/dist/interfaces/i-remix.d.ts +0 -21
  306. package/dist/interfaces/i-remix.js +0 -8
  307. package/dist/interfaces/i-settings.d.ts +0 -33
  308. package/dist/interfaces/i-settings.js +0 -8
  309. package/dist/interfaces/i-user.d.ts +0 -14
  310. package/dist/interfaces/i-user.js +0 -8
  311. package/dist/interfaces/i-workdir.d.ts +0 -14
  312. package/dist/interfaces/i-workdir.js +0 -8
  313. package/dist/interfaces/i-xkb-model.d.ts +0 -24
  314. package/dist/interfaces/i-xkb-model.js +0 -8
  315. package/dist/interfaces/index.d.ts +0 -26
  316. package/dist/interfaces/index.js +0 -8
  317. package/dist/krill/classes/cfs.d.ts +0 -17
  318. package/dist/krill/classes/cfs.js +0 -39
  319. package/dist/krill/classes/krill_enums.d.ts +0 -37
  320. package/dist/krill/classes/krill_enums.js +0 -41
  321. package/dist/krill/classes/prepare.d/confirm.d.ts +0 -5
  322. package/dist/krill/classes/prepare.d/confirm.js +0 -30
  323. package/dist/krill/classes/prepare.d/keyboard.d.ts +0 -14
  324. package/dist/krill/classes/prepare.d/keyboard.js +0 -62
  325. package/dist/krill/classes/prepare.d/location.d.ts +0 -17
  326. package/dist/krill/classes/prepare.d/location.js +0 -59
  327. package/dist/krill/classes/prepare.d/network.d.ts +0 -14
  328. package/dist/krill/classes/prepare.d/network.js +0 -68
  329. package/dist/krill/classes/prepare.d/partitions.d.ts +0 -14
  330. package/dist/krill/classes/prepare.d/partitions.js +0 -86
  331. package/dist/krill/classes/prepare.d/summary.d.ts +0 -15
  332. package/dist/krill/classes/prepare.d/summary.js +0 -72
  333. package/dist/krill/classes/prepare.d/users.d.ts +0 -6
  334. package/dist/krill/classes/prepare.d/users.js +0 -63
  335. package/dist/krill/classes/prepare.d/welcome.d.ts +0 -6
  336. package/dist/krill/classes/prepare.d/welcome.js +0 -30
  337. package/dist/krill/classes/prepare.d.ts +0 -89
  338. package/dist/krill/classes/prepare.js +0 -319
  339. package/dist/krill/classes/sequence.d/add_user.d.ts +0 -20
  340. package/dist/krill/classes/sequence.d/add_user.js +0 -77
  341. package/dist/krill/classes/sequence.d/bootloader.d.ts +0 -14
  342. package/dist/krill/classes/sequence.d/bootloader.js +0 -117
  343. package/dist/krill/classes/sequence.d/bootloader_config.d.ts +0 -14
  344. package/dist/krill/classes/sequence.d/bootloader_config.js +0 -192
  345. package/dist/krill/classes/sequence.d/change_password.d.ts +0 -15
  346. package/dist/krill/classes/sequence.d/change_password.js +0 -18
  347. package/dist/krill/classes/sequence.d/del_live_user.d.ts +0 -14
  348. package/dist/krill/classes/sequence.d/del_live_user.js +0 -39
  349. package/dist/krill/classes/sequence.d/fstab.d.ts +0 -14
  350. package/dist/krill/classes/sequence.d/fstab.js +0 -177
  351. package/dist/krill/classes/sequence.d/grubcfg.d.ts +0 -17
  352. package/dist/krill/classes/sequence.d/grubcfg.js +0 -35
  353. package/dist/krill/classes/sequence.d/hostname.d.ts +0 -13
  354. package/dist/krill/classes/sequence.d/hostname.js +0 -50
  355. package/dist/krill/classes/sequence.d/initramfs.d.ts +0 -13
  356. package/dist/krill/classes/sequence.d/initramfs.js +0 -54
  357. package/dist/krill/classes/sequence.d/initramfs_cfg.d.ts +0 -14
  358. package/dist/krill/classes/sequence.d/initramfs_cfg.js +0 -35
  359. package/dist/krill/classes/sequence.d/locale.d.ts +0 -13
  360. package/dist/krill/classes/sequence.d/locale.js +0 -91
  361. package/dist/krill/classes/sequence.d/locale_cfg.d.ts +0 -10
  362. package/dist/krill/classes/sequence.d/locale_cfg.js +0 -58
  363. package/dist/krill/classes/sequence.d/m_keyboard.d.ts +0 -14
  364. package/dist/krill/classes/sequence.d/m_keyboard.js +0 -58
  365. package/dist/krill/classes/sequence.d/machine_id.d.ts +0 -15
  366. package/dist/krill/classes/sequence.d/machine_id.js +0 -33
  367. package/dist/krill/classes/sequence.d/mkfs.d.ts +0 -15
  368. package/dist/krill/classes/sequence.d/mkfs.js +0 -88
  369. package/dist/krill/classes/sequence.d/mount_fs.d.ts +0 -17
  370. package/dist/krill/classes/sequence.d/mount_fs.js +0 -68
  371. package/dist/krill/classes/sequence.d/mount_vfs.d.ts +0 -17
  372. package/dist/krill/classes/sequence.d/mount_vfs.js +0 -59
  373. package/dist/krill/classes/sequence.d/network_cfg.d.ts +0 -19
  374. package/dist/krill/classes/sequence.d/network_cfg.js +0 -73
  375. package/dist/krill/classes/sequence.d/packages.d.ts +0 -14
  376. package/dist/krill/classes/sequence.d/packages.js +0 -111
  377. package/dist/krill/classes/sequence.d/partition.d/bios_luks.d.ts +0 -17
  378. package/dist/krill/classes/sequence.d/partition.d/bios_luks.js +0 -73
  379. package/dist/krill/classes/sequence.d/partition.d/bios_standard.d.ts +0 -16
  380. package/dist/krill/classes/sequence.d/partition.d/bios_standard.js +0 -51
  381. package/dist/krill/classes/sequence.d/partition.d/uefi_luks.d.ts +0 -17
  382. package/dist/krill/classes/sequence.d/partition.d/uefi_luks.js +0 -77
  383. package/dist/krill/classes/sequence.d/partition.d/uefi_standard.d.ts +0 -10
  384. package/dist/krill/classes/sequence.d/partition.d/uefi_standard.js +0 -33
  385. package/dist/krill/classes/sequence.d/partition.d.ts +0 -14
  386. package/dist/krill/classes/sequence.d/partition.js +0 -84
  387. package/dist/krill/classes/sequence.d/remove_installer_link.d.ts +0 -13
  388. package/dist/krill/classes/sequence.d/remove_installer_link.js +0 -35
  389. package/dist/krill/classes/sequence.d/umount.d.ts +0 -14
  390. package/dist/krill/classes/sequence.d/umount.js +0 -28
  391. package/dist/krill/classes/sequence.d/unpackfs.d.ts +0 -13
  392. package/dist/krill/classes/sequence.d/unpackfs.js +0 -20
  393. package/dist/krill/classes/sequence.d.ts +0 -134
  394. package/dist/krill/classes/sequence.js +0 -400
  395. package/dist/krill/components/finished.d.ts +0 -16
  396. package/dist/krill/components/finished.js +0 -56
  397. package/dist/krill/components/information.d.ts +0 -8
  398. package/dist/krill/components/information.js +0 -162
  399. package/dist/krill/components/install.d.ts +0 -15
  400. package/dist/krill/components/install.js +0 -60
  401. package/dist/krill/components/keyboard.d.ts +0 -16
  402. package/dist/krill/components/keyboard.js +0 -54
  403. package/dist/krill/components/location.d.ts +0 -16
  404. package/dist/krill/components/location.js +0 -59
  405. package/dist/krill/components/network.d.ts +0 -19
  406. package/dist/krill/components/network.js +0 -65
  407. package/dist/krill/components/partitions.d.ts +0 -18
  408. package/dist/krill/components/partitions.js +0 -89
  409. package/dist/krill/components/steps.d.ts +0 -13
  410. package/dist/krill/components/steps.js +0 -148
  411. package/dist/krill/components/summary.d.ts +0 -25
  412. package/dist/krill/components/summary.js +0 -77
  413. package/dist/krill/components/title.d.ts +0 -11
  414. package/dist/krill/components/title.js +0 -35
  415. package/dist/krill/components/users.d.ts +0 -24
  416. package/dist/krill/components/users.js +0 -80
  417. package/dist/krill/components/welcome.d.ts +0 -13
  418. package/dist/krill/components/welcome.js +0 -63
  419. package/dist/krill/interfaces/i_krill.d.ts +0 -44
  420. package/dist/krill/interfaces/i_krill.js +0 -8
  421. package/dist/krill/interfaces/i_krill_config.d.ts +0 -35
  422. package/dist/krill/interfaces/i_krill_config.js +0 -8
  423. package/dist/krill/lib/get_address.d.ts +0 -8
  424. package/dist/krill/lib/get_address.js +0 -23
  425. package/dist/krill/lib/get_dns.d.ts +0 -8
  426. package/dist/krill/lib/get_dns.js +0 -23
  427. package/dist/krill/lib/get_domain.d.ts +0 -8
  428. package/dist/krill/lib/get_domain.js +0 -23
  429. package/dist/krill/lib/get_gateway.d.ts +0 -8
  430. package/dist/krill/lib/get_gateway.js +0 -23
  431. package/dist/krill/lib/get_hostname.d.ts +0 -8
  432. package/dist/krill/lib/get_hostname.js +0 -23
  433. package/dist/krill/lib/get_luks_passphrase.d.ts +0 -8
  434. package/dist/krill/lib/get_luks_passphrase.js +0 -32
  435. package/dist/krill/lib/get_netmask.d.ts +0 -8
  436. package/dist/krill/lib/get_netmask.js +0 -23
  437. package/dist/krill/lib/get_password.d.ts +0 -8
  438. package/dist/krill/lib/get_password.js +0 -36
  439. package/dist/krill/lib/get_userfullname.d.ts +0 -8
  440. package/dist/krill/lib/get_userfullname.js +0 -23
  441. package/dist/krill/lib/get_username.d.ts +0 -8
  442. package/dist/krill/lib/get_username.js +0 -23
  443. package/dist/krill/lib/select_address_type.d.ts +0 -8
  444. package/dist/krill/lib/select_address_type.js +0 -24
  445. package/dist/krill/lib/select_filesystem_type.d.ts +0 -8
  446. package/dist/krill/lib/select_filesystem_type.js +0 -40
  447. package/dist/krill/lib/select_installation_device.d.ts +0 -8
  448. package/dist/krill/lib/select_installation_device.js +0 -40
  449. package/dist/krill/lib/select_installation_mode.d.ts +0 -9
  450. package/dist/krill/lib/select_installation_mode.js +0 -25
  451. package/dist/krill/lib/select_interface.d.ts +0 -8
  452. package/dist/krill/lib/select_interface.js +0 -24
  453. package/dist/krill/lib/select_keyboard_layout.d.ts +0 -11
  454. package/dist/krill/lib/select_keyboard_layout.js +0 -36
  455. package/dist/krill/lib/select_keyboard_model.d.ts +0 -11
  456. package/dist/krill/lib/select_keyboard_model.js +0 -34
  457. package/dist/krill/lib/select_keyboard_option.d.ts +0 -11
  458. package/dist/krill/lib/select_keyboard_option.js +0 -34
  459. package/dist/krill/lib/select_keyboard_variant.d.ts +0 -11
  460. package/dist/krill/lib/select_keyboard_variant.js +0 -35
  461. package/dist/krill/lib/select_languages.d.ts +0 -8
  462. package/dist/krill/lib/select_languages.js +0 -28
  463. package/dist/krill/lib/select_regions.d.ts +0 -8
  464. package/dist/krill/lib/select_regions.js +0 -24
  465. package/dist/krill/lib/select_replaced_partition.d.ts +0 -8
  466. package/dist/krill/lib/select_replaced_partition.js +0 -31
  467. package/dist/krill/lib/select_user_swap_choice.d.ts +0 -9
  468. package/dist/krill/lib/select_user_swap_choice.js +0 -35
  469. package/dist/krill/lib/select_zones.d.ts +0 -8
  470. package/dist/krill/lib/select_zones.js +0 -518
  471. package/dist/lib/kill_me_softly.d.ts +0 -11
  472. package/dist/lib/kill_me_softly.js +0 -61
  473. package/dist/lib/utils.d.ts +0 -19
  474. package/dist/lib/utils.js +0 -65
@@ -14,19 +14,18 @@ label Live
14
14
  linux {{{vmlinuz}}}
15
15
  append initrd={{{initrdImg}}} {{{kernel_parameters}}}
16
16
 
17
-
18
17
  label Safe
19
18
  menu label {{{fullname}}} Safe Mode
20
19
  say "Booting {{{fullname}}} GNU/Linux (kernel {{{kernel}}})"
21
20
  linux {{{vmlinuz}}}
22
- append initrd={{{initrdImg}}} {{{kernel_parameters}}}
21
+ append initrd={{{initrdImg}}} {{{kernel_parameters}}}
23
22
 
24
23
 
25
24
  label Text
26
25
  menu label {{{fullname}}} Text Mode
27
26
  say "Booting {{{fullname}}} GNU/Linux (kernel {{{kernel}}})"
28
27
  linux {{{vmlinuz}}}
29
- append initrd={{{initrdImg}}} {{{kernel_parameters}}}
28
+ append initrd={{{initrdImg}}} {{{kernel_parameters}}}
30
29
 
31
30
  label local
32
31
  menu label Boot from local disk
@@ -17,8 +17,7 @@ script:
17
17
  # Riconfigureremo il kernel nel modulo boot_reconfigure per garantire che gli hook
18
18
  # vengano eseguiti secondo necessità.
19
19
 
20
- # ubuntu
21
- # cp --preserve=timestamps /lib/live/mount/medium/live/vmlinuz-`uname -r` ${ROOT}/boot/vmlinuz-`uname -r`
22
-
23
- # debian
20
+ # INITRAMFS = '/run/live/medium/'
21
+ # DRACUT = '/run/initramfs/live/'
24
22
  - cp --preserve=timestamps /run/live/medium/live/vmlinuz-`uname -r` ${ROOT}/boot/vmlinuz-`uname -r`
23
+ #- cp --preserve=timestamps /run/initramfs/live/live/vmlinuz-`uname -r` ${ROOT}/boot/vmlinuz-`uname -r`
package/conf/love.yaml CHANGED
@@ -4,5 +4,5 @@
4
4
  - eggs kill
5
5
  - eggs dad --default
6
6
  - eggs tools clean
7
- - eggs produce --pendrive --addons adapt
7
+ - eggs produce --addons adapt
8
8
 
@@ -0,0 +1,71 @@
1
+ #!/bin/bash
2
+ #
3
+ # Script per creare symlink dei moduli Penguins-Eggs in /usr/lib/dracut/modules.d
4
+ # Questo è necessario perché Dracut 106 su Debian non legge dracutmodules_dirs con --confdir
5
+ #
6
+
7
+ set -e
8
+
9
+ CUSTOM_DIR="/usr/lib/penguins-eggs/dracut/modules.d"
10
+ SYSTEM_DIR="/usr/lib/dracut/modules.d"
11
+
12
+ echo "=== Creazione Symlink Moduli Dracut ==="
13
+ echo ""
14
+
15
+ # Verifica di essere root
16
+ if [ "$EUID" -ne 0 ]; then
17
+ echo "ERRORE: Esegui come root (sudo)"
18
+ exit 1
19
+ fi
20
+
21
+ # Verifica directory
22
+ if [ ! -d "$CUSTOM_DIR" ]; then
23
+ echo "ERRORE: $CUSTOM_DIR non esiste"
24
+ exit 1
25
+ fi
26
+
27
+ if [ ! -d "$SYSTEM_DIR" ]; then
28
+ echo "ERRORE: $SYSTEM_DIR non esiste"
29
+ exit 1
30
+ fi
31
+
32
+ # Lista moduli
33
+ MODULES=(
34
+ "00debug-shell"
35
+ "90block"
36
+ "95iso-scan"
37
+ "95luks"
38
+ "95luks-loop"
39
+ )
40
+
41
+ echo "Creazione symlink..."
42
+ for module in "${MODULES[@]}"; do
43
+ SOURCE="$CUSTOM_DIR/$module"
44
+ TARGET="$SYSTEM_DIR/$module"
45
+
46
+ if [ ! -d "$SOURCE" ]; then
47
+ echo " [SKIP] $module - non trovato"
48
+ continue
49
+ fi
50
+
51
+ # Rimuovi esistente
52
+ if [ -e "$TARGET" ] || [ -L "$TARGET" ]; then
53
+ rm -rf "$TARGET"
54
+ fi
55
+
56
+ # Crea symlink
57
+ ln -sf "$SOURCE" "$TARGET"
58
+ echo " [OK] $module"
59
+ done
60
+
61
+ echo ""
62
+ echo "Verifica symlink creati:"
63
+ ls -la "$SYSTEM_DIR" | grep -E "(debug-shell|90block|iso-scan|95luks)"
64
+
65
+ echo ""
66
+ echo "Test dracut --list-modules:"
67
+ dracut --list-modules 2>&1 | grep -E "(debug-shell|90block|iso-scan|95luks)" || echo " ATTENZIONE: moduli non ancora visibili"
68
+
69
+ echo ""
70
+ echo "=== Completato ==="
71
+
@@ -0,0 +1,3 @@
1
+ dracut[I]: Executing: /usr/bin/dracut --force --confdir /usr/lib/penguins-eggs/dracut/dracut.conf.d --kmoddir /lib/modules/6.12.48+deb13-amd64 /home/eggs/iso/live/initrd.img-6.12.48+deb13-amd64 6.12.48+deb13-amd64
2
+ dracut[I]: 62bluetooth: Could not find any command of '/usr/lib/bluetooth/bluetoothd /usr/libexec/bluetooth/bluetoothd'!
3
+ dracut[E]: Module '90block' cannot be found.
@@ -1,10 +1,28 @@
1
- # dracut.conf.d/50-live.conf
2
- mdadmconf="no"
3
- lvmconf="no"
4
- use_fstab="no"
5
- squash_compress="zstd"
1
+ # ==============================================================
2
+ # 50-live.conf – Opzione A: Usa solo luks-loop
3
+ # Più semplice, compatibile con dmsquash-live standard
4
+ # ==============================================================
5
+
6
6
  compress="zstd"
7
- add_dracutmodules+=" livenet dmsquash-live dmsquash-live-autooverlay convertfs pollcdrom qemu qemu-net "
7
+ squash_compress="zstd"
8
8
  hostonly="no"
9
+ lvmconf="no"
10
+ mdadmconf="no"
9
11
  early_microcode="no"
10
12
 
13
+ # Moduli (SENZA 95luks, usa SOLO luks-loop)
14
+ add_dracutmodules+=" dm kernel-modules "
15
+ add_dracutmodules+=" block "
16
+ add_dracutmodules+=" iso-scan pollcdrom "
17
+ add_dracutmodules+=" luks-loop "
18
+ add_dracutmodules+=" dmsquash-live dmsquash-live-autooverlay "
19
+ add_dracutmodules+=" livenet qemu qemu-net "
20
+ add_dracutmodules+=" debug-shell "
21
+
22
+ omit_dracutmodules+=" plymouth luks crypt systemd-cryptsetup fido2 pkcs11 "
23
+
24
+ # Parametri kernel per luks-loop + dmsquash-live
25
+ # IMPORTANTE: rd.live.squashimg punta al LUKS decifrato
26
+ kernel_cmdline="boot=live root=live:LABEL=colibri rd.luks.loop=/live/luks.img eggs.luks.uuid=fedb19f3-e117-4e94-a85c-debe41b18e5b rd.live.dir=/live rd.live.overlay.overlayfs=1 rd.shell rd.debug"
27
+
28
+ install_items+=" /usr/bin/find /usr/bin/lsblk /bin/cat "
@@ -0,0 +1,10 @@
1
+ # dracut.conf.d/50-live.conf
2
+ mdadmconf="no"
3
+ lvmconf="no"
4
+ use_fstab="no"
5
+ squash_compress="zstd"
6
+ compress="zstd"
7
+ add_dracutmodules+=" crypt livenet dmsquash-live dmsquash-live-autooverlay convertfs pollcdrom qemu qemu-net "
8
+ hostonly="no"
9
+ early_microcode="no"
10
+
package/dracut/export ADDED
@@ -0,0 +1,4 @@
1
+ ./export-dracut-analysis /usr/lib/penguins-eggs/dracut/modules.d /usr/lib/penguins-eggs/dracut/dracut.conf.d
2
+ scp dracut-analisys.txt artisan@192.168.1.2:/home/artisan
3
+ scp /home/eggs/iso/egg-of_debian-trixie-* artisan@192.168.1.2:/home/artisan/dracut-log.txt
4
+ rm dracut-analisys.txt
@@ -0,0 +1,51 @@
1
+ #!/bin/bash
2
+
3
+ # Script per consolidare il contenuto di più directory di configurazione Dracut
4
+ # in un unico file di testo.
5
+
6
+ # --- Impostazioni ---
7
+ OUTPUT_FILE="dracut-analysis.txt"
8
+
9
+ # --- Logica dello Script ---
10
+
11
+ # Controlla se è stato fornito almeno un percorso come argomento
12
+ if [ "$#" -eq 0 ]; then
13
+ echo "ERRORE: Devi specificare almeno un percorso di directory."
14
+ echo "Uso: $0 <percorso_dir_1> [<percorso_dir_2> ...]"
15
+ echo "Esempio: $0 ./modules.d ./dracut.conf.d"
16
+ exit 1
17
+ fi
18
+
19
+ # Pulisce il file di output se esiste già e scrive l'intestazione
20
+ echo "--- INIZIO ANALISI CONFIGURAZIONE DRACUT ---" > "$OUTPUT_FILE"
21
+ echo "" >> "$OUTPUT_FILE"
22
+
23
+ # Itera su tutte le directory passate come argomenti
24
+ for TARGET_DIR in "$@"; do
25
+ # Controlla se il percorso fornito è una directory valida
26
+ if [ ! -d "$TARGET_DIR" ]; then
27
+ echo "ATTENZIONE: '$TARGET_DIR' non è una directory valida o non esiste. Verrà saltata."
28
+ continue # Salta questo argomento e passa al successivo
29
+ fi
30
+
31
+ # Aggiunge un'intestazione per la directory corrente nel file di output
32
+ echo "##################################################" >> "$OUTPUT_FILE"
33
+ echo "### CONTENUTO DIRECTORY: ${TARGET_DIR}" >> "$OUTPUT_FILE"
34
+ echo "##################################################" >> "$OUTPUT_FILE"
35
+ echo "" >> "$OUTPUT_FILE"
36
+
37
+ # Trova tutti i file nella directory corrente e aggiunge il loro contenuto al file
38
+ find "$TARGET_DIR" -type f | sort | while read -r filepath; do
39
+ echo "==================================================" >> "$OUTPUT_FILE"
40
+ echo "### FILE: ${filepath}" >> "$OUTPUT_FILE"
41
+ echo "==================================================" >> "$OUTPUT_FILE"
42
+ echo '```' >> "$OUTPUT_FILE"
43
+ cat "$filepath" >> "$OUTPUT_FILE"
44
+ echo '```' >> "$OUTPUT_FILE"
45
+ echo "" >> "$OUTPUT_FILE"
46
+ done
47
+ done
48
+
49
+ echo "--- FINE ANALISI CONFIGURAZIONE DRACUT ---" >> "$OUTPUT_FILE"
50
+
51
+ echo "✅ Fatto! L'analisi combinata è stata salvata nel file: $OUTPUT_FILE"
@@ -0,0 +1,2 @@
1
+ scp /home/eggs/iso/egg-of_debian-trixie-* artisan@192.168.1.2:/home/artisan
2
+
package/dracut/mkisofs ADDED
@@ -0,0 +1,10 @@
1
+ #!/bin/bash
2
+
3
+ if [[ $(id -u) -ne 0 ]]; then
4
+ echo "Errore: Questo script deve essere eseguito come root o con sudo." >&2
5
+ exit 1
6
+ fi
7
+
8
+ rm /home/eggs/.mnt/*.iso
9
+ /home/eggs/ovarium/mkisofs
10
+
@@ -0,0 +1,13 @@
1
+ # ~/penguins-eggs/dracut/modules.d/00debug-shell/debug-hook.sh
2
+
3
+ #!/bin/sh
4
+
5
+ # Controlla se il parametro "startdebug" è stato passato al kernel
6
+ if getargbool 0 startdebug; then
7
+ echo "############################################"
8
+ echo "### FORZANDO LA SHELL DI DEBUG"
9
+ echo "############################################"
10
+
11
+ # Lancia una shell interattiva
12
+ /bin/sh
13
+ fi
@@ -0,0 +1,20 @@
1
+ # ~/penguins-eggs/dracut/modules.d/00debug-shell/module-setup.sh
2
+
3
+ #!/bin/bash
4
+
5
+ check() {
6
+ return 0
7
+ }
8
+
9
+ depends() {
10
+ # Non dipende da nulla per essere sicuro che si esegua
11
+ return 0
12
+ }
13
+
14
+ install() {
15
+ # Installa una shell e alcuni comandi utili per il debug
16
+ inst_multiple /bin/sh /bin/ls /bin/cat /bin/mount
17
+
18
+ # Installa uno script che si eseguirà molto presto durante il boot
19
+ inst_hook cmdline 10 "$moddir/debug-hook.sh"
20
+ }
@@ -0,0 +1,7 @@
1
+ # 90block
2
+ Questo è solo un dummy, su Debian per fargli credere che 90block esiste, ma
3
+ su Debian non è necessario.
4
+
5
+ Debian usa un’architettura leggermente diversa dove parte delle funzionalità di block sono “fuse” dentro `95rootfs-block` e `99base`, ma non fornisce l’interfaccia di compatibilità `90block` che molti altri moduli (come `iso-scan`, `dmsquash-live`, `luks`, ecc.) si aspettano.
6
+
7
+ Quindi `iso-scan` cerca block, ma non lo trova né lo può risolvere, perché non esiste come directory in `/usr/lib/dracut/modules.d/`.
@@ -0,0 +1,3 @@
1
+ #!/bin/bash
2
+ # Dummy hook for block devices compatibility (Debian adaptation)
3
+ info "dracut: 90block module shim loaded (Debian adaptation)"
@@ -0,0 +1,15 @@
1
+ #!/bin/bash
2
+
3
+ check() {
4
+ return 0
5
+ }
6
+
7
+ depends() {
8
+ # Nessuna dipendenza - questo è solo un shim
9
+ return 0
10
+ }
11
+
12
+ install() {
13
+ inst_multiple mount umount blkid
14
+ inst_hook cmdline 10 "$moddir/block-cmdline.sh"
15
+ }
@@ -0,0 +1,3 @@
1
+ # 95iso-scan
2
+
3
+
@@ -0,0 +1,12 @@
1
+ #!/bin/bash
2
+ # iso-scan-fallback.sh
3
+ # Penguins-Eggs: fallback hook to help dmsquash-live on Debian
4
+
5
+ # CREA la directory se non esiste
6
+ mkdir -p /run/initramfs/cmdline.d
7
+
8
+ if [ -e /run/initramfs/live.squashfs.path ] && [ -z "$live_squash" ]; then
9
+ live_squash=$(cat /run/initramfs/live.squashfs.path)
10
+ info "iso-scan-fallback: live_squash set to $live_squash"
11
+ echo "rd.live.squashimg=$live_squash" >> /run/initramfs/cmdline.d/90-iso-scan.conf
12
+ fi
@@ -0,0 +1,92 @@
1
+ #!/bin/bash
2
+ # iso-scan.sh
3
+ # Penguins-Eggs: ISO scanner for Debian Dracut
4
+
5
+ type info >/dev/null 2>&1 || info() { echo "[iso-scan] $*" >&2; }
6
+ type warn >/dev/null 2>&1 || warn() { echo "[iso-scan][WARN] $*" >&2; }
7
+ type die >/dev/null 2>&1 || die() { echo "[iso-scan][ERR] $*" >&2; exit 1; }
8
+
9
+ info "iso-scan starting..."
10
+
11
+ # Retrieve kernel args
12
+ # boot=live root=live:LABEL=colibri
13
+ # Estrai solo il LABEL, non "live:LABEL="
14
+ root_arg=$(getarg root=)
15
+ live_label=""
16
+
17
+ if [[ "$root_arg" =~ live:LABEL=(.+) ]]; then
18
+ live_label="${BASH_REMATCH[1]}"
19
+ fi
20
+
21
+ live_media=$(getarg rd.live.media=)
22
+ live_dir=$(getarg rd.live.dir=)
23
+ [ -z "$live_dir" ] && live_dir="/live"
24
+
25
+ luks_loop=$(getarg rd.luks.loop=)
26
+ squashimg=$(getarg rd.live.squashimg=)
27
+ [ -z "$squashimg" ] && squashimg="filesystem.squashfs"
28
+
29
+ mountpoint="/run/initramfs/isoscan"
30
+ mkdir -p "$mountpoint"
31
+
32
+ info "Looking for device with LABEL=$live_label"
33
+
34
+ # Detect ISO device
35
+ device=""
36
+ if [ -n "$live_label" ]; then
37
+ # Cerca device per LABEL
38
+ info "searching by LABEL: $live_label"
39
+ device=$(blkid -l -t LABEL="$live_label" -o device)
40
+ if [ -z "$device" ]; then
41
+ # Fallback: cerca con findfs
42
+ device=$(findfs LABEL="$live_label" 2>/dev/null)
43
+ fi
44
+ elif [ -n "$live_media" ]; then
45
+ device="$live_media"
46
+ info "using rd.live.media: $device"
47
+ else
48
+ # Fallback: prova /dev/sr0 o loop devices
49
+ info "no LABEL specified, trying default devices"
50
+ for dev in /dev/sr0 /dev/sda /dev/sdb /dev/loop*; do
51
+ if [ -b "$dev" ]; then
52
+ device="$dev"
53
+ info "trying device: $device"
54
+ break
55
+ fi
56
+ done
57
+ fi
58
+
59
+ if [ -z "$device" ]; then
60
+ warn "no live device found"
61
+ exit 0
62
+ fi
63
+
64
+ info "found live device: $device"
65
+
66
+ # Monta il device
67
+ if ! mount -o ro "$device" "$mountpoint" 2>/dev/null; then
68
+ warn "cannot mount $device on $mountpoint"
69
+ exit 0
70
+ fi
71
+
72
+ info "mounted $device on $mountpoint"
73
+
74
+ # Verifica contenuto
75
+ ls -la "$mountpoint$live_dir/" 2>/dev/null | head -10 | while read line; do
76
+ info " $line"
77
+ done
78
+
79
+ # Se luks.img esiste, salva il path
80
+ if [ -e "$mountpoint$live_dir/luks.img" ]; then
81
+ echo "$mountpoint$live_dir/luks.img" > /run/initramfs/luks.loop.path
82
+ info "found luks.img at $mountpoint$live_dir/luks.img"
83
+ fi
84
+
85
+ # Se filesystem.squashfs esiste (senza LUKS), salva il path
86
+ if [ -e "$mountpoint$live_dir/$squashimg" ]; then
87
+ echo "$mountpoint$live_dir/$squashimg" > /run/initramfs/live.squashfs.path
88
+ info "found $squashimg at $mountpoint$live_dir/$squashimg"
89
+ fi
90
+
91
+ info "iso-scan completed"
92
+ exit 0
@@ -0,0 +1,18 @@
1
+ #!/bin/bash
2
+
3
+ check() {
4
+ return 0
5
+ }
6
+
7
+ depends() {
8
+ return 0
9
+ }
10
+
11
+ install() {
12
+ inst_multiple mount umount blkid findfs losetup
13
+ inst_hook pre-mount 10 "$moddir/iso-scan.sh"
14
+
15
+ # Serve a scrivere /run/initramfs/live.squashfs.path
16
+ # prima che dmsquash-live entri in azione.
17
+ inst_hook pre-mount 20 "$moddir/iso-scan-fallback.sh"
18
+ }
@@ -0,0 +1,9 @@
1
+ # 95luks-loop
2
+
3
+ Debian (senza 90block, senza iso-scan) userà 95rootfs-block come base.
4
+
5
+ Il tuo nuovo modulo 95luks-loop farà la parte di “monta luks.img da ISO”.
6
+
7
+ Non serve patchare Dracut upstream.
8
+
9
+ È cross-distro, funziona anche su Fedora (dove block esiste ma non confligge).
@@ -0,0 +1,90 @@
1
+ #!/bin/bash
2
+ # 95luks-loop: Apre luks.img e lo rende disponibile per dmsquash-live
3
+
4
+ type info >/dev/null 2>&1 || info() { echo "[luks-loop] $*" >&2; }
5
+ type warn >/dev/null 2>&1 || warn() { echo "[luks-loop][WARN] $*" >&2; }
6
+
7
+ # Leggi parametri kernel
8
+ luks_img=$(getarg rd.luks.loop=)
9
+ luks_uuid=$(getarg eggs.luks.uuid=)
10
+
11
+ info "luks-loop starting..."
12
+ info "luks_img=$luks_img"
13
+ info "luks_uuid=$luks_uuid"
14
+
15
+ # Se non specificato, prova il path scritto da iso-scan
16
+ if [ -z "$luks_img" ] && [ -e /run/initramfs/luks.loop.path ]; then
17
+ luks_img=$(cat /run/initramfs/luks.loop.path)
18
+ info "luks_img from iso-scan: $luks_img"
19
+ fi
20
+
21
+ # Se ancora non c'è, esci
22
+ if [ -z "$luks_img" ]; then
23
+ info "no rd.luks.loop parameter, skipping"
24
+ exit 0
25
+ fi
26
+
27
+ # Attendi che il file sia disponibile
28
+ info "waiting for $luks_img..."
29
+ i=0
30
+ while [ ! -f "$luks_img" ]; do
31
+ sleep 1
32
+ i=$((i+1))
33
+ if [ $i -gt 30 ]; then
34
+ warn "timeout waiting for $luks_img"
35
+ exit 1
36
+ fi
37
+ done
38
+
39
+ info "found $luks_img"
40
+
41
+ # Setup loop device
42
+ loop_dev=$(losetup -f --show "$luks_img")
43
+ if [ -z "$loop_dev" ]; then
44
+ warn "losetup failed"
45
+ exit 1
46
+ fi
47
+
48
+ info "loop device: $loop_dev"
49
+
50
+ # Attendi che udev lo riconosca
51
+ udevadm settle --timeout=10
52
+
53
+ # Apri LUKS
54
+ crypt_name="crypted"
55
+
56
+ info "opening LUKS container as $crypt_name..."
57
+
58
+ # Prova con keyfile se esiste
59
+ if [ -f /run/initramfs/live.key ]; then
60
+ info "using keyfile"
61
+ cryptsetup luksOpen "$loop_dev" "$crypt_name" --key-file /run/initramfs/live.key
62
+ else
63
+ info "prompting for passphrase"
64
+ cryptsetup luksOpen "$loop_dev" "$crypt_name"
65
+ fi
66
+
67
+ # Verifica successo
68
+ if [ ! -b "/dev/mapper/$crypt_name" ]; then
69
+ warn "LUKS open failed!"
70
+ losetup -d "$loop_dev"
71
+ exit 1
72
+ fi
73
+
74
+ info "LUKS opened successfully: /dev/mapper/$crypt_name"
75
+
76
+ # Monta il filesystem decifrato in un punto temporaneo
77
+ # così dmsquash-live può trovare filesystem.squashfs dentro
78
+ mkdir -p /run/initramfs/crypted
79
+ mount -o ro /dev/mapper/$crypt_name /run/initramfs/crypted
80
+
81
+ if [ -f /run/initramfs/crypted/filesystem.squashfs ]; then
82
+ info "found filesystem.squashfs inside LUKS"
83
+ # Scrivi il path per dmsquash-live
84
+ echo "/run/initramfs/crypted/filesystem.squashfs" > /run/initramfs/live.squashfs.path
85
+ else
86
+ warn "filesystem.squashfs not found inside LUKS!"
87
+ fi
88
+
89
+ info "luks-loop completed"
90
+ exit 0
@@ -0,0 +1,17 @@
1
+ #!/bin/bash
2
+
3
+ check() {
4
+ return 0
5
+ }
6
+
7
+ depends() {
8
+ return 0
9
+ }
10
+
11
+ # RIMUOVI QUESTA FUNZIONE COMPLETAMENTE
12
+ # cmdline() { ... }
13
+
14
+ install() {
15
+ inst_multiple losetup cryptsetup blkid udevadm mount
16
+ inst_hook pre-mount 50 "$moddir/luks-loop.sh"
17
+ }
@@ -0,0 +1,17 @@
1
+ #!/bin/bash
2
+
3
+ if [[ $(id -u) -ne 0 ]]; then
4
+ echo "Errore: Questo script deve essere eseguito come root o con sudo." >&2
5
+ exit 1
6
+ fi
7
+
8
+ LOG="./dracut-log.txt"
9
+ CONFDIR="/usr/lib/penguins-eggs/dracut/dracut.conf.d"
10
+ LIVE="/home/eggs/iso/live"
11
+
12
+ dracut --force \
13
+ --confdir $CONFDIR \
14
+ --kmoddir /lib/modules/6.12.48+deb13-amd64 \
15
+ $LIVE/initrd.img-6.12.48+deb13-amd64 6.12.48+deb13-amd64 2>&1| tee $LOG
16
+
17
+ scp $LOG artisan@192.168.1.2:/home/artisan
@@ -0,0 +1,10 @@
1
+ # Crea i collegamenti simbolici
2
+ sudo ln -s /usr/sbin/cryptsetup /usr/bin/cryptsetup
3
+ sudo ln -s /usr/sbin/losetup /usr/bin/losetup
4
+ #sudo ln -s /usr/sbin/lsblk /usr/bin/lsblk già esiste
5
+
6
+ # Nota: il log mostra anche altri comandi, potrebbero servire anche questi
7
+ #sudo ln -s /bin/mount /usr/bin/mount # mount potrebbe essere in /bin
8
+ #sudo ln -s /bin/umount /usr/bin/umount # umount potrebbe essere in /bin
9
+ #sudo ln -s /usr/bin/find /usr/bin/find # find è già al posto giusto, di solito
10
+ #sudo ln -s /bin/cat /usr/bin/cat # cat è già al posto giusto, di solito
@@ -0,0 +1,2 @@
1
+ #!/bin/bash
2
+ sudo cp dracut.conf.d/*.conf /usr/lib/penguins-eggs/dracut/dracut.conf.d/
@@ -0,0 +1,62 @@
1
+ #!/bin/bash
2
+
3
+ MODULES_TO_REPLACE=("00debug-shell" "90block" "95iso-scan" "95luks" "95luks-loop")
4
+
5
+
6
+ DRACUT_MODULES_DIR="/usr/lib/penguins-eggs/dracut/modules.d"
7
+ SOURCE_MODULES_DIR="$(dirname "$0")/modules.d"
8
+
9
+
10
+ # --- FUNZIONE PRINCIPALE ---
11
+ main() {
12
+ echo "ATTENZIONE: adesso aggiorn $DRACUT_MODULES_DIR"
13
+
14
+ # 1. Controllo dei permessi
15
+ # Lo script deve essere eseguito come root per poter scrivere in /usr/lib
16
+ if [[ $(id -u) -ne 0 ]]; then
17
+ echo "Errore: Questo script deve essere eseguito come root o con sudo." >&2
18
+ exit 1
19
+ fi
20
+
21
+ # 2. Verifica che la cartella di origine esista
22
+ if [[ ! -d "$SOURCE_MODULES_DIR" ]]; then
23
+ echo "Errore: La directory di origine '$SOURCE_MODULES_DIR' non è stata trovata." >&2
24
+ exit 1
25
+ fi
26
+
27
+ echo "Avvio della sostituzione dei moduli Dracut..."
28
+
29
+ # 3. Ciclo for per ogni modulo nell'array
30
+ for module_name in "${MODULES_TO_REPLACE[@]}"; do
31
+ local dest_path="$DRACUT_MODULES_DIR/$module_name"
32
+ local source_path="$SOURCE_MODULES_DIR/$module_name"
33
+
34
+ echo "--- Elaborazione del modulo: $module_name ---"
35
+
36
+ # Controlla se il modulo di origine esiste prima di procedere
37
+ if [[ ! -d "$source_path" ]]; then
38
+ echo "Attenzione: Il modulo '$source_path' non esiste nella cartella di origine. Salto."
39
+ continue
40
+ fi
41
+
42
+ # Rimuovi la vecchia versione del modulo, se esiste
43
+ if [[ -d "$dest_path" ]]; then
44
+ echo "Rimuovendo la vecchia versione: $dest_path"
45
+ rm -rf "$dest_path"
46
+ fi
47
+
48
+ # Copia la nuova versione del modulo
49
+ echo "Copiando la nuova versione da: $source_path"
50
+ cp -r "$source_path" "$DRACUT_MODULES_DIR/"
51
+
52
+ echo "Modulo '$module_name' aggiornato con successo."
53
+ echo "------------------------------------"
54
+ done
55
+
56
+
57
+ echo "Operazione completata."
58
+ echo "Ricorda di rigenerare l'initramfs con 'dracut -f' o un comando simile."
59
+ }
60
+
61
+ # Esegui la funzione principale
62
+ main
Binary file