penguins-eggs 25.8.6 → 25.8.28

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (347) hide show
  1. package/.oclif.manifest.json +8 -1
  2. package/README.md +31 -30
  3. package/addons/eggs/theme/calamares/modules/users.yml +3 -3
  4. package/addons/eggs/theme/livecd/{grub.main.simple.cfg → grub.main.cfg} +2 -22
  5. package/assets/calamares/install-system.sh +2 -2
  6. package/conf/derivatives.yaml +7 -0
  7. package/conf/distros/buster/calamares/modules/bootloader.yml +45 -16
  8. package/conf/distros/buster/calamares/modules/mount.yml +103 -28
  9. package/dist/classes/distro.js +14 -6
  10. package/dist/classes/diversions.d.ts +1 -0
  11. package/dist/classes/diversions.js +7 -0
  12. package/dist/classes/incubation/incubator.d.ts +4 -0
  13. package/dist/classes/incubation/incubator.js +14 -0
  14. package/dist/classes/ovary.d/bind-live-fs.js +2 -2
  15. package/dist/classes/ovary.d/live-create-structure.js +1 -1
  16. package/dist/classes/ovary.d/make-dot-disk.js +16 -4
  17. package/dist/classes/ovary.d/make-efi.d.ts +0 -2
  18. package/dist/classes/ovary.d/make-efi.js +131 -70
  19. package/dist/classes/ovary.d/make-iso.js +1 -1
  20. package/dist/classes/ovary.d/produce.js +5 -1
  21. package/dist/classes/ovary.d/syslinux.js +12 -10
  22. package/dist/classes/ovary.d/xorriso-command.js +51 -47
  23. package/dist/classes/pacman.js +7 -0
  24. package/dist/classes/pxe.d.ts +1 -2
  25. package/dist/classes/pxe.js +35 -21
  26. package/dist/classes/utils.d/kernel.d.ts +6 -56
  27. package/dist/classes/utils.d/kernel.js +49 -280
  28. package/dist/classes/utils.js +11 -5
  29. package/dist/commands/cuckoo.d.ts +1 -0
  30. package/dist/commands/cuckoo.js +3 -2
  31. package/dist/lib/utils.js +1 -0
  32. package/dist/penguins-eggs_25.8.28-1_amd64.deb +0 -0
  33. package/dist/penguins-eggs_25.8.28-1_amd64.deb.sha256 +1 -0
  34. package/dist/{penguins-eggs_25.8.6-bionic-1_amd64.deb → penguins-eggs_25.8.28-1_arm64.deb} +0 -0
  35. package/dist/penguins-eggs_25.8.28-1_arm64.deb.sha256 +1 -0
  36. package/dist/penguins-eggs_25.8.28-1_i386.deb +0 -0
  37. package/dist/penguins-eggs_25.8.28-1_i386.deb.sha256 +1 -0
  38. package/manpages/doc/man/eggs.1.gz +0 -0
  39. package/manpages/doc/man/eggs.html +46 -18
  40. package/package.json +8 -9
  41. package/perrisbrewery/template/dependencies-bionic.yaml +1 -0
  42. package/perrisbrewery/template/dependencies.yaml +21 -4
  43. package/scripts/_eggs +7 -6
  44. package/scripts/eggs.bash +2 -2
  45. package/addons/eggs/theme/livecd/grub.main.full.cfg +0 -43
  46. package/bootloaders/README.md +0 -22
  47. package/bootloaders/grub/x86_64-efi/acpi.mod +0 -0
  48. package/bootloaders/grub/x86_64-efi/adler32.mod +0 -0
  49. package/bootloaders/grub/x86_64-efi/affs.mod +0 -0
  50. package/bootloaders/grub/x86_64-efi/afs.mod +0 -0
  51. package/bootloaders/grub/x86_64-efi/afsplitter.mod +0 -0
  52. package/bootloaders/grub/x86_64-efi/ahci.mod +0 -0
  53. package/bootloaders/grub/x86_64-efi/all_video.mod +0 -0
  54. package/bootloaders/grub/x86_64-efi/aout.mod +0 -0
  55. package/bootloaders/grub/x86_64-efi/appleldr.mod +0 -0
  56. package/bootloaders/grub/x86_64-efi/archelp.mod +0 -0
  57. package/bootloaders/grub/x86_64-efi/at_keyboard.mod +0 -0
  58. package/bootloaders/grub/x86_64-efi/ata.mod +0 -0
  59. package/bootloaders/grub/x86_64-efi/backtrace.mod +0 -0
  60. package/bootloaders/grub/x86_64-efi/bfs.mod +0 -0
  61. package/bootloaders/grub/x86_64-efi/bitmap.mod +0 -0
  62. package/bootloaders/grub/x86_64-efi/bitmap_scale.mod +0 -0
  63. package/bootloaders/grub/x86_64-efi/blocklist.mod +0 -0
  64. package/bootloaders/grub/x86_64-efi/boot.mod +0 -0
  65. package/bootloaders/grub/x86_64-efi/bsd.mod +0 -0
  66. package/bootloaders/grub/x86_64-efi/bswap_test.mod +0 -0
  67. package/bootloaders/grub/x86_64-efi/btrfs.mod +0 -0
  68. package/bootloaders/grub/x86_64-efi/bufio.mod +0 -0
  69. package/bootloaders/grub/x86_64-efi/cat.mod +0 -0
  70. package/bootloaders/grub/x86_64-efi/cbfs.mod +0 -0
  71. package/bootloaders/grub/x86_64-efi/cbls.mod +0 -0
  72. package/bootloaders/grub/x86_64-efi/cbmemc.mod +0 -0
  73. package/bootloaders/grub/x86_64-efi/cbtable.mod +0 -0
  74. package/bootloaders/grub/x86_64-efi/cbtime.mod +0 -0
  75. package/bootloaders/grub/x86_64-efi/chain.mod +0 -0
  76. package/bootloaders/grub/x86_64-efi/cmdline_cat_test.mod +0 -0
  77. package/bootloaders/grub/x86_64-efi/cmp.mod +0 -0
  78. package/bootloaders/grub/x86_64-efi/cmp_test.mod +0 -0
  79. package/bootloaders/grub/x86_64-efi/command.lst +0 -194
  80. package/bootloaders/grub/x86_64-efi/config.h +0 -69
  81. package/bootloaders/grub/x86_64-efi/configfile.mod +0 -0
  82. package/bootloaders/grub/x86_64-efi/cpio.mod +0 -0
  83. package/bootloaders/grub/x86_64-efi/cpio_be.mod +0 -0
  84. package/bootloaders/grub/x86_64-efi/cpuid.mod +0 -0
  85. package/bootloaders/grub/x86_64-efi/crc64.mod +0 -0
  86. package/bootloaders/grub/x86_64-efi/crypto.lst +0 -45
  87. package/bootloaders/grub/x86_64-efi/crypto.mod +0 -0
  88. package/bootloaders/grub/x86_64-efi/cryptodisk.mod +0 -0
  89. package/bootloaders/grub/x86_64-efi/cs5536.mod +0 -0
  90. package/bootloaders/grub/x86_64-efi/ctz_test.mod +0 -0
  91. package/bootloaders/grub/x86_64-efi/date.mod +0 -0
  92. package/bootloaders/grub/x86_64-efi/datehook.mod +0 -0
  93. package/bootloaders/grub/x86_64-efi/datetime.mod +0 -0
  94. package/bootloaders/grub/x86_64-efi/disk.mod +0 -0
  95. package/bootloaders/grub/x86_64-efi/diskfilter.mod +0 -0
  96. package/bootloaders/grub/x86_64-efi/div.mod +0 -0
  97. package/bootloaders/grub/x86_64-efi/div_test.mod +0 -0
  98. package/bootloaders/grub/x86_64-efi/dm_nv.mod +0 -0
  99. package/bootloaders/grub/x86_64-efi/echo.mod +0 -0
  100. package/bootloaders/grub/x86_64-efi/efi_gop.mod +0 -0
  101. package/bootloaders/grub/x86_64-efi/efi_uga.mod +0 -0
  102. package/bootloaders/grub/x86_64-efi/efifwsetup.mod +0 -0
  103. package/bootloaders/grub/x86_64-efi/efinet.mod +0 -0
  104. package/bootloaders/grub/x86_64-efi/ehci.mod +0 -0
  105. package/bootloaders/grub/x86_64-efi/elf.mod +0 -0
  106. package/bootloaders/grub/x86_64-efi/eval.mod +0 -0
  107. package/bootloaders/grub/x86_64-efi/exfat.mod +0 -0
  108. package/bootloaders/grub/x86_64-efi/exfctest.mod +0 -0
  109. package/bootloaders/grub/x86_64-efi/ext2.mod +0 -0
  110. package/bootloaders/grub/x86_64-efi/extcmd.mod +0 -0
  111. package/bootloaders/grub/x86_64-efi/f2fs.mod +0 -0
  112. package/bootloaders/grub/x86_64-efi/fat.mod +0 -0
  113. package/bootloaders/grub/x86_64-efi/fdt.lst +0 -0
  114. package/bootloaders/grub/x86_64-efi/file.mod +0 -0
  115. package/bootloaders/grub/x86_64-efi/fixvideo.mod +0 -0
  116. package/bootloaders/grub/x86_64-efi/font.mod +0 -0
  117. package/bootloaders/grub/x86_64-efi/fs.lst +0 -37
  118. package/bootloaders/grub/x86_64-efi/fshelp.mod +0 -0
  119. package/bootloaders/grub/x86_64-efi/functional_test.mod +0 -0
  120. package/bootloaders/grub/x86_64-efi/gcry_arcfour.mod +0 -0
  121. package/bootloaders/grub/x86_64-efi/gcry_blowfish.mod +0 -0
  122. package/bootloaders/grub/x86_64-efi/gcry_camellia.mod +0 -0
  123. package/bootloaders/grub/x86_64-efi/gcry_cast5.mod +0 -0
  124. package/bootloaders/grub/x86_64-efi/gcry_crc.mod +0 -0
  125. package/bootloaders/grub/x86_64-efi/gcry_des.mod +0 -0
  126. package/bootloaders/grub/x86_64-efi/gcry_dsa.mod +0 -0
  127. package/bootloaders/grub/x86_64-efi/gcry_idea.mod +0 -0
  128. package/bootloaders/grub/x86_64-efi/gcry_md4.mod +0 -0
  129. package/bootloaders/grub/x86_64-efi/gcry_md5.mod +0 -0
  130. package/bootloaders/grub/x86_64-efi/gcry_rfc2268.mod +0 -0
  131. package/bootloaders/grub/x86_64-efi/gcry_rijndael.mod +0 -0
  132. package/bootloaders/grub/x86_64-efi/gcry_rmd160.mod +0 -0
  133. package/bootloaders/grub/x86_64-efi/gcry_rsa.mod +0 -0
  134. package/bootloaders/grub/x86_64-efi/gcry_seed.mod +0 -0
  135. package/bootloaders/grub/x86_64-efi/gcry_serpent.mod +0 -0
  136. package/bootloaders/grub/x86_64-efi/gcry_sha1.mod +0 -0
  137. package/bootloaders/grub/x86_64-efi/gcry_sha256.mod +0 -0
  138. package/bootloaders/grub/x86_64-efi/gcry_sha512.mod +0 -0
  139. package/bootloaders/grub/x86_64-efi/gcry_tiger.mod +0 -0
  140. package/bootloaders/grub/x86_64-efi/gcry_twofish.mod +0 -0
  141. package/bootloaders/grub/x86_64-efi/gcry_whirlpool.mod +0 -0
  142. package/bootloaders/grub/x86_64-efi/geli.mod +0 -0
  143. package/bootloaders/grub/x86_64-efi/gettext.mod +0 -0
  144. package/bootloaders/grub/x86_64-efi/gfxmenu.mod +0 -0
  145. package/bootloaders/grub/x86_64-efi/gfxterm.mod +0 -0
  146. package/bootloaders/grub/x86_64-efi/gfxterm_background.mod +0 -0
  147. package/bootloaders/grub/x86_64-efi/gfxterm_menu.mod +0 -0
  148. package/bootloaders/grub/x86_64-efi/gptsync.mod +0 -0
  149. package/bootloaders/grub/x86_64-efi/gzio.mod +0 -0
  150. package/bootloaders/grub/x86_64-efi/halt.mod +0 -0
  151. package/bootloaders/grub/x86_64-efi/hashsum.mod +0 -0
  152. package/bootloaders/grub/x86_64-efi/hdparm.mod +0 -0
  153. package/bootloaders/grub/x86_64-efi/hello.mod +0 -0
  154. package/bootloaders/grub/x86_64-efi/help.mod +0 -0
  155. package/bootloaders/grub/x86_64-efi/hexdump.mod +0 -0
  156. package/bootloaders/grub/x86_64-efi/hfs.mod +0 -0
  157. package/bootloaders/grub/x86_64-efi/hfsplus.mod +0 -0
  158. package/bootloaders/grub/x86_64-efi/hfspluscomp.mod +0 -0
  159. package/bootloaders/grub/x86_64-efi/http.mod +0 -0
  160. package/bootloaders/grub/x86_64-efi/iorw.mod +0 -0
  161. package/bootloaders/grub/x86_64-efi/iso9660.mod +0 -0
  162. package/bootloaders/grub/x86_64-efi/jfs.mod +0 -0
  163. package/bootloaders/grub/x86_64-efi/jpeg.mod +0 -0
  164. package/bootloaders/grub/x86_64-efi/json.mod +0 -0
  165. package/bootloaders/grub/x86_64-efi/kernel.img +0 -0
  166. package/bootloaders/grub/x86_64-efi/keylayouts.mod +0 -0
  167. package/bootloaders/grub/x86_64-efi/keystatus.mod +0 -0
  168. package/bootloaders/grub/x86_64-efi/ldm.mod +0 -0
  169. package/bootloaders/grub/x86_64-efi/legacy_password_test.mod +0 -0
  170. package/bootloaders/grub/x86_64-efi/legacycfg.mod +0 -0
  171. package/bootloaders/grub/x86_64-efi/linux.mod +0 -0
  172. package/bootloaders/grub/x86_64-efi/linux16.mod +0 -0
  173. package/bootloaders/grub/x86_64-efi/linuxefi.mod +0 -0
  174. package/bootloaders/grub/x86_64-efi/loadbios.mod +0 -0
  175. package/bootloaders/grub/x86_64-efi/loadenv.mod +0 -0
  176. package/bootloaders/grub/x86_64-efi/loopback.mod +0 -0
  177. package/bootloaders/grub/x86_64-efi/ls.mod +0 -0
  178. package/bootloaders/grub/x86_64-efi/lsacpi.mod +0 -0
  179. package/bootloaders/grub/x86_64-efi/lsefi.mod +0 -0
  180. package/bootloaders/grub/x86_64-efi/lsefimmap.mod +0 -0
  181. package/bootloaders/grub/x86_64-efi/lsefisystab.mod +0 -0
  182. package/bootloaders/grub/x86_64-efi/lsmmap.mod +0 -0
  183. package/bootloaders/grub/x86_64-efi/lspci.mod +0 -0
  184. package/bootloaders/grub/x86_64-efi/lssal.mod +0 -0
  185. package/bootloaders/grub/x86_64-efi/luks.mod +0 -0
  186. package/bootloaders/grub/x86_64-efi/luks2.mod +0 -0
  187. package/bootloaders/grub/x86_64-efi/lvm.mod +0 -0
  188. package/bootloaders/grub/x86_64-efi/lzopio.mod +0 -0
  189. package/bootloaders/grub/x86_64-efi/macbless.mod +0 -0
  190. package/bootloaders/grub/x86_64-efi/macho.mod +0 -0
  191. package/bootloaders/grub/x86_64-efi/mdraid09.mod +0 -0
  192. package/bootloaders/grub/x86_64-efi/mdraid09_be.mod +0 -0
  193. package/bootloaders/grub/x86_64-efi/mdraid1x.mod +0 -0
  194. package/bootloaders/grub/x86_64-efi/memdisk.mod +0 -0
  195. package/bootloaders/grub/x86_64-efi/memrw.mod +0 -0
  196. package/bootloaders/grub/x86_64-efi/minicmd.mod +0 -0
  197. package/bootloaders/grub/x86_64-efi/minix.mod +0 -0
  198. package/bootloaders/grub/x86_64-efi/minix2.mod +0 -0
  199. package/bootloaders/grub/x86_64-efi/minix2_be.mod +0 -0
  200. package/bootloaders/grub/x86_64-efi/minix3.mod +0 -0
  201. package/bootloaders/grub/x86_64-efi/minix3_be.mod +0 -0
  202. package/bootloaders/grub/x86_64-efi/minix_be.mod +0 -0
  203. package/bootloaders/grub/x86_64-efi/mmap.mod +0 -0
  204. package/bootloaders/grub/x86_64-efi/moddep.lst +0 -267
  205. package/bootloaders/grub/x86_64-efi/modinfo.sh +0 -40
  206. package/bootloaders/grub/x86_64-efi/monolithic/gcdx64.efi +0 -0
  207. package/bootloaders/grub/x86_64-efi/monolithic/grubnetx64-installer.efi +0 -0
  208. package/bootloaders/grub/x86_64-efi/monolithic/grubnetx64.efi +0 -0
  209. package/bootloaders/grub/x86_64-efi/monolithic/grubx64.efi +0 -0
  210. package/bootloaders/grub/x86_64-efi/morse.mod +0 -0
  211. package/bootloaders/grub/x86_64-efi/mpi.mod +0 -0
  212. package/bootloaders/grub/x86_64-efi/msdospart.mod +0 -0
  213. package/bootloaders/grub/x86_64-efi/mul_test.mod +0 -0
  214. package/bootloaders/grub/x86_64-efi/multiboot.mod +0 -0
  215. package/bootloaders/grub/x86_64-efi/multiboot2.mod +0 -0
  216. package/bootloaders/grub/x86_64-efi/nativedisk.mod +0 -0
  217. package/bootloaders/grub/x86_64-efi/net.mod +0 -0
  218. package/bootloaders/grub/x86_64-efi/newc.mod +0 -0
  219. package/bootloaders/grub/x86_64-efi/nilfs2.mod +0 -0
  220. package/bootloaders/grub/x86_64-efi/normal.mod +0 -0
  221. package/bootloaders/grub/x86_64-efi/ntfs.mod +0 -0
  222. package/bootloaders/grub/x86_64-efi/ntfscomp.mod +0 -0
  223. package/bootloaders/grub/x86_64-efi/odc.mod +0 -0
  224. package/bootloaders/grub/x86_64-efi/offsetio.mod +0 -0
  225. package/bootloaders/grub/x86_64-efi/ohci.mod +0 -0
  226. package/bootloaders/grub/x86_64-efi/part_acorn.mod +0 -0
  227. package/bootloaders/grub/x86_64-efi/part_amiga.mod +0 -0
  228. package/bootloaders/grub/x86_64-efi/part_apple.mod +0 -0
  229. package/bootloaders/grub/x86_64-efi/part_bsd.mod +0 -0
  230. package/bootloaders/grub/x86_64-efi/part_dfly.mod +0 -0
  231. package/bootloaders/grub/x86_64-efi/part_dvh.mod +0 -0
  232. package/bootloaders/grub/x86_64-efi/part_gpt.mod +0 -0
  233. package/bootloaders/grub/x86_64-efi/part_msdos.mod +0 -0
  234. package/bootloaders/grub/x86_64-efi/part_plan.mod +0 -0
  235. package/bootloaders/grub/x86_64-efi/part_sun.mod +0 -0
  236. package/bootloaders/grub/x86_64-efi/part_sunpc.mod +0 -0
  237. package/bootloaders/grub/x86_64-efi/partmap.lst +0 -11
  238. package/bootloaders/grub/x86_64-efi/parttool.lst +0 -1
  239. package/bootloaders/grub/x86_64-efi/parttool.mod +0 -0
  240. package/bootloaders/grub/x86_64-efi/password.mod +0 -0
  241. package/bootloaders/grub/x86_64-efi/password_pbkdf2.mod +0 -0
  242. package/bootloaders/grub/x86_64-efi/pata.mod +0 -0
  243. package/bootloaders/grub/x86_64-efi/pbkdf2.mod +0 -0
  244. package/bootloaders/grub/x86_64-efi/pbkdf2_test.mod +0 -0
  245. package/bootloaders/grub/x86_64-efi/pcidump.mod +0 -0
  246. package/bootloaders/grub/x86_64-efi/pgp.mod +0 -0
  247. package/bootloaders/grub/x86_64-efi/play.mod +0 -0
  248. package/bootloaders/grub/x86_64-efi/png.mod +0 -0
  249. package/bootloaders/grub/x86_64-efi/priority_queue.mod +0 -0
  250. package/bootloaders/grub/x86_64-efi/probe.mod +0 -0
  251. package/bootloaders/grub/x86_64-efi/procfs.mod +0 -0
  252. package/bootloaders/grub/x86_64-efi/progress.mod +0 -0
  253. package/bootloaders/grub/x86_64-efi/raid5rec.mod +0 -0
  254. package/bootloaders/grub/x86_64-efi/raid6rec.mod +0 -0
  255. package/bootloaders/grub/x86_64-efi/random.mod +0 -0
  256. package/bootloaders/grub/x86_64-efi/rdmsr.mod +0 -0
  257. package/bootloaders/grub/x86_64-efi/read.mod +0 -0
  258. package/bootloaders/grub/x86_64-efi/reboot.mod +0 -0
  259. package/bootloaders/grub/x86_64-efi/regexp.mod +0 -0
  260. package/bootloaders/grub/x86_64-efi/reiserfs.mod +0 -0
  261. package/bootloaders/grub/x86_64-efi/relocator.mod +0 -0
  262. package/bootloaders/grub/x86_64-efi/romfs.mod +0 -0
  263. package/bootloaders/grub/x86_64-efi/scsi.mod +0 -0
  264. package/bootloaders/grub/x86_64-efi/search.mod +0 -0
  265. package/bootloaders/grub/x86_64-efi/search_fs_file.mod +0 -0
  266. package/bootloaders/grub/x86_64-efi/search_fs_uuid.mod +0 -0
  267. package/bootloaders/grub/x86_64-efi/search_label.mod +0 -0
  268. package/bootloaders/grub/x86_64-efi/serial.mod +0 -0
  269. package/bootloaders/grub/x86_64-efi/setjmp.mod +0 -0
  270. package/bootloaders/grub/x86_64-efi/setjmp_test.mod +0 -0
  271. package/bootloaders/grub/x86_64-efi/setpci.mod +0 -0
  272. package/bootloaders/grub/x86_64-efi/sfs.mod +0 -0
  273. package/bootloaders/grub/x86_64-efi/shift_test.mod +0 -0
  274. package/bootloaders/grub/x86_64-efi/signature_test.mod +0 -0
  275. package/bootloaders/grub/x86_64-efi/sleep.mod +0 -0
  276. package/bootloaders/grub/x86_64-efi/sleep_test.mod +0 -0
  277. package/bootloaders/grub/x86_64-efi/smbios.mod +0 -0
  278. package/bootloaders/grub/x86_64-efi/spkmodem.mod +0 -0
  279. package/bootloaders/grub/x86_64-efi/squash4.mod +0 -0
  280. package/bootloaders/grub/x86_64-efi/strtoull_test.mod +0 -0
  281. package/bootloaders/grub/x86_64-efi/syslinuxcfg.mod +0 -0
  282. package/bootloaders/grub/x86_64-efi/tar.mod +0 -0
  283. package/bootloaders/grub/x86_64-efi/terminal.lst +0 -9
  284. package/bootloaders/grub/x86_64-efi/terminal.mod +0 -0
  285. package/bootloaders/grub/x86_64-efi/terminfo.mod +0 -0
  286. package/bootloaders/grub/x86_64-efi/test.mod +0 -0
  287. package/bootloaders/grub/x86_64-efi/test_blockarg.mod +0 -0
  288. package/bootloaders/grub/x86_64-efi/testload.mod +0 -0
  289. package/bootloaders/grub/x86_64-efi/testspeed.mod +0 -0
  290. package/bootloaders/grub/x86_64-efi/tftp.mod +0 -0
  291. package/bootloaders/grub/x86_64-efi/tga.mod +0 -0
  292. package/bootloaders/grub/x86_64-efi/time.mod +0 -0
  293. package/bootloaders/grub/x86_64-efi/tpm.mod +0 -0
  294. package/bootloaders/grub/x86_64-efi/tr.mod +0 -0
  295. package/bootloaders/grub/x86_64-efi/trig.mod +0 -0
  296. package/bootloaders/grub/x86_64-efi/true.mod +0 -0
  297. package/bootloaders/grub/x86_64-efi/udf.mod +0 -0
  298. package/bootloaders/grub/x86_64-efi/ufs1.mod +0 -0
  299. package/bootloaders/grub/x86_64-efi/ufs1_be.mod +0 -0
  300. package/bootloaders/grub/x86_64-efi/ufs2.mod +0 -0
  301. package/bootloaders/grub/x86_64-efi/uhci.mod +0 -0
  302. package/bootloaders/grub/x86_64-efi/usb.mod +0 -0
  303. package/bootloaders/grub/x86_64-efi/usb_keyboard.mod +0 -0
  304. package/bootloaders/grub/x86_64-efi/usbms.mod +0 -0
  305. package/bootloaders/grub/x86_64-efi/usbserial_common.mod +0 -0
  306. package/bootloaders/grub/x86_64-efi/usbserial_ftdi.mod +0 -0
  307. package/bootloaders/grub/x86_64-efi/usbserial_pl2303.mod +0 -0
  308. package/bootloaders/grub/x86_64-efi/usbserial_usbdebug.mod +0 -0
  309. package/bootloaders/grub/x86_64-efi/usbtest.mod +0 -0
  310. package/bootloaders/grub/x86_64-efi/video.lst +0 -4
  311. package/bootloaders/grub/x86_64-efi/video.mod +0 -0
  312. package/bootloaders/grub/x86_64-efi/video_bochs.mod +0 -0
  313. package/bootloaders/grub/x86_64-efi/video_cirrus.mod +0 -0
  314. package/bootloaders/grub/x86_64-efi/video_colors.mod +0 -0
  315. package/bootloaders/grub/x86_64-efi/video_fb.mod +0 -0
  316. package/bootloaders/grub/x86_64-efi/videoinfo.mod +0 -0
  317. package/bootloaders/grub/x86_64-efi/videotest.mod +0 -0
  318. package/bootloaders/grub/x86_64-efi/videotest_checksum.mod +0 -0
  319. package/bootloaders/grub/x86_64-efi/wrmsr.mod +0 -0
  320. package/bootloaders/grub/x86_64-efi/xfs.mod +0 -0
  321. package/bootloaders/grub/x86_64-efi/xnu.mod +0 -0
  322. package/bootloaders/grub/x86_64-efi/xnu_uuid.mod +0 -0
  323. package/bootloaders/grub/x86_64-efi/xnu_uuid_test.mod +0 -0
  324. package/bootloaders/grub/x86_64-efi/xzio.mod +0 -0
  325. package/bootloaders/grub/x86_64-efi/zfs.mod +0 -0
  326. package/bootloaders/grub/x86_64-efi/zfscrypt.mod +0 -0
  327. package/bootloaders/grub/x86_64-efi/zfsinfo.mod +0 -0
  328. package/bootloaders/grub/x86_64-efi/zstd.mod +0 -0
  329. package/bootloaders/grubnetx64.efi.signed +0 -0
  330. package/bootloaders/grubx64.efi +0 -0
  331. package/bootloaders/grubx64.efi.signed +0 -0
  332. package/bootloaders/ipxe.pxe +0 -0
  333. package/bootloaders/shimx64.efi +0 -0
  334. package/bootloaders/shimx64.efi.signed +0 -0
  335. package/bootloaders/syslinux/README.md +0 -3
  336. package/bootloaders/syslinux/chain.c32 +0 -0
  337. package/bootloaders/syslinux/isohdpfx.bin +0 -0
  338. package/bootloaders/syslinux/isolinux.bin +0 -0
  339. package/bootloaders/syslinux/ldlinux.c32 +0 -0
  340. package/bootloaders/syslinux/libcom32.c32 +0 -0
  341. package/bootloaders/syslinux/libutil.c32 +0 -0
  342. package/bootloaders/syslinux/lpxelinux.0 +0 -0
  343. package/bootloaders/syslinux/memdisk +0 -0
  344. package/bootloaders/syslinux/pxelinux.0 +0 -0
  345. package/bootloaders/syslinux/vesamenu.c32 +0 -0
  346. package/bootloaders/undionly.kpxe +0 -0
  347. package/dist/penguins-eggs_25.8.6-bionic-1_amd64.deb.sha256 +0 -1
@@ -18,7 +18,6 @@ import Utils from './utils.js';
18
18
  import Diversions from './diversions.js';
19
19
  // _dirname
20
20
  const __dirname = path.dirname(new URL(import.meta.url).pathname);
21
- const bootloaders = path.resolve(__dirname, `../../bootloaders`);
22
21
  /**
23
22
  * Pxe:
24
23
  */
@@ -32,16 +31,16 @@ export default class Pxe {
32
31
  pxeRoot = '';
33
32
  distro = {};
34
33
  settings = {};
35
- verbose = false;
36
34
  vmlinuz = '';
37
35
  /**
38
36
  * constructor
39
37
  * @param nest
40
38
  * @param pxeRoot
41
39
  */
42
- constructor(nest = '', pxeRoot = '') {
40
+ constructor(nest = '', pxeRoot = '', verbose = false) {
43
41
  this.nest = nest;
44
42
  this.pxeRoot = pxeRoot;
43
+ this.echo = Utils.setEcho(verbose);
45
44
  }
46
45
  /**
47
46
  * fertilization()
@@ -206,19 +205,22 @@ export default class Pxe {
206
205
  * configure PXE bios
207
206
  */
208
207
  async bios() {
208
+ const bootloaders = Diversions.bootloaders(this.distro.familyId);
209
209
  await exec(`cp ${__dirname}/../../addons/eggs/theme/livecd/isolinux.theme.cfg ${this.pxeRoot}/isolinux.theme.cfg`, this.echo);
210
210
  await exec(`cp ${__dirname}/../../addons/eggs/theme/livecd/splash.png ${this.pxeRoot}/splash.png`, this.echo);
211
211
  // ipxe.pxe
212
- await exec(`ln -s ${bootloaders}ipxe.pxe ${this.pxeRoot}/ipxe.pxe`, this.echo);
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);
213
215
  // pxe
214
- await exec(`cp ${bootloaders}/syslinux/pxelinux.0 ${this.pxeRoot}/pxelinux.0`, this.echo);
215
- await exec(`cp ${bootloaders}/syslinux/lpxelinux.0 ${this.pxeRoot}/lpxelinux.0`, this.echo);
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);
216
218
  // syslinux
217
- await exec(`ln -s ${bootloaders}/syslinux/ldlinux.c32 ${this.pxeRoot}/ldlinux.c32`, this.echo);
218
- await exec(`ln -s ${bootloaders}/syslinux/vesamenu.c32 ${this.pxeRoot}/vesamenu.c32`, this.echo);
219
- await exec(`ln -s ${bootloaders}/syslinux/libcom32.c32 ${this.pxeRoot}/libcom32.c32`, this.echo);
220
- await exec(`ln -s ${bootloaders}/syslinux/libutil.c32 ${this.pxeRoot}/libutil.c32`, this.echo);
221
- await exec(`ln -s ${bootloaders}/syslinux/memdisk ${this.pxeRoot}/memdisk`, this.echo);
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);
222
224
  await exec(`mkdir ${this.pxeRoot}/pxelinux.cfg`, this.echo);
223
225
  let content = '';
224
226
  content += '# eggs: pxelinux.cfg/default\n';
@@ -254,21 +256,33 @@ export default class Pxe {
254
256
  * @param familyId
255
257
  */
256
258
  async grubCfg() {
259
+ const bootloaders = Diversions.bootloaders(this.distro.familyId);
257
260
  const echoYes = Utils.setEcho(true);
258
261
  /**
259
262
  * On Debian bookworm:
260
- * cd ~/penguins-eggs
261
- * cp /usr/lib/grub/x86_64-efi-signed/grubnetx64.efi.signed ./bootloaders/
262
- * cp -r /usr/lib/grub/x86_64-efi/ ./bootloaders/grub/x86_64-efi/
263
263
  */
264
264
  await exec(`mkdir -p ${this.pxeRoot}/grub`, this.echo);
265
- /**
266
- * Si potrebbe usare:
267
- * ${bootloaders}/grub/x86_64-efi/monolithic/grubnetx64.efi
268
- * come alternativa per distroname!=="Debian"
269
- */
270
- await exec(`cp ${bootloaders}/grubnetx64.efi.signed ${this.pxeRoot}/grub.efi`, this.echo);
271
- await exec(`cp -r ${bootloaders}/grub/x86_64-efi ${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
+ }
272
286
  // Genera il file grub.cfg
273
287
  const grubName = `${this.pxeRoot}/grub/grub.cfg`; // Il file deve chiamarsi grub.cfg
274
288
  let grubContent = '';
@@ -25,63 +25,13 @@ export default class Kernel {
25
25
  * ALL PRIVATE
26
26
  */
27
27
  /**
28
- * vmlinuxFromCmdline
29
- * BOOT_IMAGE=/boot/vmlinuz-5.16.0-3-amd64 root=UUID=13768873-d6ba-4ae5-9e14-b5011f5aa31c ro quiet splash resume=UUID=beafb9b4-c429-4e1f-a268-4270b63a14e6
30
- * se non è presente - come nel caso di Franco Conidi - lo ricostruisce da initrd
31
- */
32
- private static vmlinuxFromCmdline;
33
- /**
34
- *
35
- * @param kernel
36
- * @returns
37
- */
38
- private static vmLinuxFromFiles;
39
- /**
40
- * Rileva automaticamente il kernel dai moduli disponibili
41
- */
42
- private static detectKernelFromModules;
43
- /**
44
- * Ottiene il path per un kernel specifico
28
+ * most of the distros:
29
+ * debian, fedora, opensuse, rasberry
45
30
  */
46
- private static getSpecificKernelPath;
31
+ private static vmlinuxFromUname;
47
32
  /**
48
- * Trova la directory dei moduli del kernel
49
- */
50
- private static getKernelModulesPath;
51
- /**
52
- * Ottiene la lista dei kernel disponibili, ordinati
53
- */
54
- private static getAvailableKernels;
55
- /**
56
- * Gestisce il rilevamento del kernel per Arch Linux
57
- */
58
- private static getArchLinuxKernelPath;
59
- /**
60
- * Gestisce il path del kernel per Manjaro
61
- */
62
- private static getManjaroKernelPath;
63
- /**
64
- * Gestisce il path del kernel standard per Arch Linux
65
- */
66
- private static getStandardArchKernelPath;
67
- /**
68
- * Gestisce il kernel specifico per Arch Linux
69
- */
70
- private static getArchLinuxSpecificKernel;
71
- /**
72
- * Gestisce initramfs per Arch Linux
73
- */
74
- private static getArchInitramfs;
75
- /**
76
- * Lista i kernel disponibili in /boot per debugging
77
- */
78
- private static listAvailableKernels;
79
- /**
80
- * Lista gli initramfs disponibili in /boot per debugging
81
- */
82
- private static listAvailableInitramfs;
83
- /**
84
- * Ottiene informazioni sul kernel corrente
33
+ * vmlinuxFromCmdline
34
+ * raspbery /proc/cmdline dont contain it
85
35
  */
86
- private static getCurrentKernelInfo;
36
+ private static vmlinuxFromCmdline;
87
37
  }
@@ -7,9 +7,9 @@
7
7
  import fs from 'node:fs';
8
8
  import path from 'path';
9
9
  import Distro from '../distro.js';
10
- import Diversions from '../diversions.js';
11
10
  import Utils from '../utils.js';
12
11
  import { execSync } from 'node:child_process';
12
+ import Diversions from '../diversions.js';
13
13
  /**
14
14
  * Kernel utilities for managing vmlinuz and initramfs paths
15
15
  */
@@ -21,18 +21,23 @@ export default class Kernel {
21
21
  */
22
22
  static vmlinuz(kernel = '') {
23
23
  let vmlinuz = '';
24
- /**
25
- * metodo /proc/cmdline
26
- */
27
24
  if (!Utils.isContainer()) {
28
- vmlinuz = this.vmlinuxFromCmdline();
25
+ vmlinuz = this.vmlinuxFromUname();
26
+ if (vmlinuz === '') {
27
+ vmlinuz = this.vmlinuxFromCmdline();
28
+ if (vmlinuz === '') {
29
+ console.log('vmlinuz not found');
30
+ process.exit(1);
31
+ }
32
+ }
29
33
  }
30
34
  else {
31
- vmlinuz = this.vmLinuxFromFiles(kernel);
35
+ Utils.warning("cannot work on containers actually!");
36
+ process.exit(1);
32
37
  }
33
38
  if (!fs.existsSync(vmlinuz)) {
34
39
  console.log(`file ${vmlinuz} does not exist!`);
35
- process.exit();
40
+ process.exit(1);
36
41
  }
37
42
  return vmlinuz;
38
43
  }
@@ -50,36 +55,40 @@ export default class Kernel {
50
55
  kernel = execSync('uname -r').toString().trim();
51
56
  }
52
57
  else {
53
- const kernelModulesPath = this.getKernelModulesPath();
54
- const kernels = this.getAvailableKernels(kernelModulesPath);
55
- const latestKernel = kernels[kernels.length - 1];
56
- kernel = latestKernel;
58
+ Utils.warning("cannot work on containers actually!");
59
+ process.exit(1);
57
60
  }
58
61
  }
59
- if (distro.familyId === "archlinux") {
60
- initramfs = this.getArchInitramfs(kernel, distro);
62
+ // rolling...
63
+ if (distro.familyId === "alpine") {
64
+ let suffix = kernel.substring(kernel.lastIndexOf('-'));
65
+ initramfs = `/boot/initramfs${suffix}`;
66
+ }
67
+ else if (distro.familyId === "archlinux" && (!Diversions.isManjaroBased(distro.distroId))) {
68
+ let suffix = kernel.substring(kernel.lastIndexOf('-'));
69
+ initramfs = `/boot/initramfs-linux${suffix}.img`;
61
70
  }
62
- else if (distro.familyId === "alpine") {
63
- initramfs = '/boot/initramfs-lts';
71
+ else if (distro.familyId === "archlinux" && (Diversions.isManjaroBased(distro.distroId))) {
72
+ let version = kernel.split('.').slice(0, 2).join('.');
73
+ initramfs = `/boot/initramfs-${version}-x86_64.img`;
64
74
  }
65
75
  else {
66
76
  // Gestione generica per le altre distro (Debian, Fedora, SUSE, ecc.)
67
- const possiblePaths = [
68
- `/boot/initrd.img-${kernel}`, // Debian, Ubuntu e derivate
69
- `/boot/initramfs-${kernel}.img`, // Fedora, RHEL, CentOS e derivate
77
+ const candidates = [
78
+ `/boot/initrd.img-${kernel}`, // Debian, Ubuntu
79
+ `/boot/initramfs-${kernel}.img`, // Fedora, RHEL
70
80
  `/boot/initrd-${kernel}`, // openSUSE
71
- `/boot/initramfs-${kernel}` // fallback generico
81
+ `/boot/initramfs-${kernel}`, // fallbacks
72
82
  ];
73
- for (const path of possiblePaths) {
74
- if (fs.existsSync(path)) {
75
- initramfs = path;
83
+ for (const candidate of candidates) {
84
+ if (fs.existsSync(candidate)) {
85
+ initramfs = candidate;
76
86
  break;
77
87
  }
78
88
  }
79
89
  }
80
90
  if (!fs.existsSync(initramfs)) {
81
91
  console.error(`ERROR: initramfs file ${initramfs} does not exist!`);
82
- this.listAvailableInitramfs();
83
92
  process.exit(1);
84
93
  }
85
94
  return initramfs;
@@ -87,10 +96,23 @@ export default class Kernel {
87
96
  /**
88
97
  * ALL PRIVATE
89
98
  */
99
+ /**
100
+ * most of the distros:
101
+ * debian, fedora, opensuse, rasberry
102
+ */
103
+ static vmlinuxFromUname() {
104
+ const kernelVersion = execSync('uname -r').toString().trim();
105
+ let kernelPath = `/boot/vmlinuz-${kernelVersion}`;
106
+ if (fs.existsSync(kernelPath)) {
107
+ return kernelPath;
108
+ }
109
+ else {
110
+ return '';
111
+ }
112
+ }
90
113
  /**
91
114
  * vmlinuxFromCmdline
92
- * BOOT_IMAGE=/boot/vmlinuz-5.16.0-3-amd64 root=UUID=13768873-d6ba-4ae5-9e14-b5011f5aa31c ro quiet splash resume=UUID=beafb9b4-c429-4e1f-a268-4270b63a14e6
93
- * se non è presente - come nel caso di Franco Conidi - lo ricostruisce da initrd
115
+ * raspbery /proc/cmdline dont contain it
94
116
  */
95
117
  static vmlinuxFromCmdline() {
96
118
  let distro = new Distro();
@@ -112,7 +134,8 @@ export default class Kernel {
112
134
  }
113
135
  });
114
136
  // btrfs: eg: /@root/boot/vmlinuz
115
- if (vmlinuz.indexOf('@')) {
137
+ //if (vmlinuz.indexOf('@')) {
138
+ if (vmlinuz.includes('@')) {
116
139
  let subvolumeEnd = vmlinuz.indexOf('/', vmlinuz.indexOf('@'));
117
140
  vmlinuz = vmlinuz.substring(subvolumeEnd);
118
141
  }
@@ -124,260 +147,6 @@ export default class Kernel {
124
147
  vmlinuz = `/boot${vmlinuz}`;
125
148
  }
126
149
  }
127
- /**
128
- * If vmlinuz not found
129
- */
130
- if (vmlinuz === '') {
131
- let version = 'linux';
132
- if (distro.familyId === 'debian') {
133
- cmdline.forEach(cmd => {
134
- if (cmd.includes('initrd.img')) {
135
- version = cmd.substring(cmd.indexOf('initrd.img') + 10);
136
- }
137
- });
138
- }
139
- else if (distro.distroId === 'Manjaro') {
140
- cmdline.forEach(cmd => {
141
- if (cmd.includes('initrd.img')) {
142
- version = cmd.substring(cmd.indexOf('initrd.img') + 10);
143
- }
144
- });
145
- }
146
- vmlinuz = '/boot/vmlinuz-' + version;
147
- }
148
150
  return vmlinuz;
149
151
  }
150
- /**
151
- *
152
- * @param kernel
153
- * @returns
154
- */
155
- static vmLinuxFromFiles(kernel = '') {
156
- const distro = new Distro();
157
- let vmlinuz = '';
158
- if (kernel === '') {
159
- // Auto-detection del kernel dai moduli disponibili
160
- vmlinuz = this.detectKernelFromModules(distro);
161
- }
162
- else {
163
- // Kernel specificato manualmente
164
- vmlinuz = this.getSpecificKernelPath(kernel, distro);
165
- }
166
- // Validazione finale
167
- if (!fs.existsSync(vmlinuz)) {
168
- console.error(`ERROR: file ${vmlinuz} does not exist!`);
169
- console.error('Available kernels in /boot:');
170
- this.listAvailableKernels();
171
- process.exit(1);
172
- }
173
- return vmlinuz;
174
- }
175
- /**
176
- * Rileva automaticamente il kernel dai moduli disponibili
177
- */
178
- static detectKernelFromModules(distro) {
179
- const kernelModulesPath = this.getKernelModulesPath();
180
- const kernels = this.getAvailableKernels(kernelModulesPath);
181
- if (kernels.length === 0) {
182
- throw new Error(`No kernels found in ${kernelModulesPath}`);
183
- }
184
- if (distro.familyId === "archlinux") {
185
- return this.getArchLinuxKernelPath(distro, kernelModulesPath, kernels);
186
- }
187
- else if (distro.familyId === "alpine") {
188
- return `/boot/vmlinuz-lts`;
189
- }
190
- else {
191
- // Per Debian/Ubuntu usa l'ultimo kernel disponibile
192
- const latestKernel = kernels[kernels.length - 1];
193
- return `/boot/vmlinuz-${latestKernel}`;
194
- }
195
- }
196
- /**
197
- * Ottiene il path per un kernel specifico
198
- */
199
- static getSpecificKernelPath(kernel, distro) {
200
- if (distro.familyId === "archlinux") {
201
- return this.getArchLinuxSpecificKernel(kernel, distro);
202
- }
203
- else if (distro.familyId === "alpine") {
204
- return `vmlinuz-lts`;
205
- }
206
- else {
207
- return `/boot/vmlinuz-${kernel}`;
208
- }
209
- }
210
- /**
211
- * Trova la directory dei moduli del kernel
212
- */
213
- static getKernelModulesPath() {
214
- const possiblePaths = ['/usr/lib/modules', '/lib/modules'];
215
- for (const path of possiblePaths) {
216
- if (fs.existsSync(path)) {
217
- return path;
218
- }
219
- }
220
- throw new Error('No kernel modules directory found');
221
- }
222
- /**
223
- * Ottiene la lista dei kernel disponibili, ordinati
224
- */
225
- static getAvailableKernels(modulesPath) {
226
- try {
227
- const kernels = fs.readdirSync(modulesPath);
228
- return kernels.sort();
229
- }
230
- catch (error) {
231
- throw new Error(`Cannot read kernel modules from ${modulesPath}: ${error}`);
232
- }
233
- }
234
- /**
235
- * Gestisce il rilevamento del kernel per Arch Linux
236
- */
237
- static getArchLinuxKernelPath(distro, modulesPath, kernels) {
238
- if (Diversions.isManjaroBased(distro.distroId)) {
239
- return this.getManjaroKernelPath(kernels);
240
- }
241
- else {
242
- return this.getStandardArchKernelPath(kernels[0]);
243
- }
244
- }
245
- /**
246
- * Gestisce il path del kernel per Manjaro
247
- */
248
- static getManjaroKernelPath(kernels) {
249
- const latestKernel = kernels[kernels.length - 1];
250
- const versionMatch = latestKernel.match(/^(\d+)\.(\d+)\./);
251
- if (!versionMatch) {
252
- throw new Error(`Cannot parse Manjaro kernel version from: ${latestKernel}`);
253
- }
254
- const [, major, minor] = versionMatch;
255
- return `/boot/vmlinuz-${major}.${minor}-x86_64`;
256
- }
257
- /**
258
- * Gestisce il path del kernel standard per Arch Linux
259
- */
260
- static getStandardArchKernelPath(firstKernel) {
261
- const kernelTypeMap = [
262
- { pattern: '-lts', name: 'linux-lts' },
263
- { pattern: '-hardened', name: 'linux-hardened' },
264
- { pattern: '-zen', name: 'linux-zen' }
265
- ];
266
- // Cerca un tipo specifico di kernel
267
- for (const { pattern, name } of kernelTypeMap) {
268
- if (firstKernel.includes(pattern)) {
269
- return `/boot/vmlinuz-${name}`;
270
- }
271
- }
272
- // Default: kernel linux standard
273
- return '/boot/vmlinuz-linux';
274
- }
275
- /**
276
- * Gestisce il kernel specifico per Arch Linux
277
- */
278
- static getArchLinuxSpecificKernel(kernel, distro) {
279
- if (Diversions.isManjaroBased(distro.distroId)) {
280
- const versionMatch = kernel.match(/^(\d+)\.(\d+)\./);
281
- if (versionMatch) {
282
- const [, major, minor] = versionMatch;
283
- return `/boot/vmlinuz-${major}.${minor}-x86_64`;
284
- }
285
- }
286
- // Cerca i kernel Arch in ordine di preferenza
287
- const archKernelCandidates = [
288
- '/boot/vmlinuz-linux',
289
- '/boot/vmlinuz-linux-lts',
290
- '/boot/vmlinuz-linux-rt'
291
- ];
292
- for (const candidate of archKernelCandidates) {
293
- if (fs.existsSync(candidate)) {
294
- return candidate;
295
- }
296
- }
297
- // Se nessun candidato è trovato, prova con il pattern originale
298
- return `/boot/vmlinuz-${kernel}`;
299
- }
300
- /**
301
- * Gestisce initramfs per Arch Linux
302
- */
303
- static getArchInitramfs(kernel, distro) {
304
- if (Diversions.isManjaroBased(distro.distroId)) {
305
- const versionMatch = kernel.match(/^(\d+)\.(\d+)\./);
306
- if (versionMatch) {
307
- const [, major, minor] = versionMatch;
308
- return `/boot/initramfs-${major}.${minor}-x86_64.img`;
309
- }
310
- }
311
- // Standard Arch initramfs paths
312
- const archInitramfsCandidates = [
313
- '/boot/initramfs-linux.img',
314
- '/boot/initramfs-linux-lts.img',
315
- '/boot/initramfs-linux-rt.img',
316
- '/boot/initramfs-linux-zen.img',
317
- '/boot/initramfs-linux-hardened.img'
318
- ];
319
- for (const candidate of archInitramfsCandidates) {
320
- if (fs.existsSync(candidate)) {
321
- return candidate;
322
- }
323
- }
324
- // Fallback generico
325
- return `/boot/initramfs-${kernel}.img`;
326
- }
327
- /**
328
- * Lista i kernel disponibili in /boot per debugging
329
- */
330
- static listAvailableKernels() {
331
- try {
332
- const bootFiles = fs.readdirSync('/boot')
333
- .filter(f => f.startsWith('vmlinuz'))
334
- .sort();
335
- if (bootFiles.length > 0) {
336
- bootFiles.forEach(file => console.error(` - ${file}`));
337
- }
338
- else {
339
- console.error(' No vmlinuz files found in /boot');
340
- }
341
- }
342
- catch (error) {
343
- console.error(' Cannot read /boot directory');
344
- }
345
- }
346
- /**
347
- * Lista gli initramfs disponibili in /boot per debugging
348
- */
349
- static listAvailableInitramfs() {
350
- try {
351
- const bootFiles = fs.readdirSync('/boot')
352
- .filter(f => f.startsWith('initrd') || f.startsWith('initramfs'))
353
- .sort();
354
- if (bootFiles.length > 0) {
355
- console.error('Available initramfs files in /boot:');
356
- bootFiles.forEach(file => console.error(` - ${file}`));
357
- }
358
- else {
359
- console.error(' No initramfs files found in /boot');
360
- }
361
- }
362
- catch (error) {
363
- console.error(' Cannot read /boot directory');
364
- }
365
- }
366
- /**
367
- * Ottiene informazioni sul kernel corrente
368
- */
369
- static getCurrentKernelInfo() {
370
- try {
371
- const version = fs.readFileSync('/proc/version', 'utf8').trim();
372
- const kernelRelease = fs.readFileSync('/proc/sys/kernel/osrelease', 'utf8').trim();
373
- return {
374
- version: kernelRelease,
375
- vmlinuz: this.vmlinuz(kernelRelease),
376
- initramfs: this.initramfs(kernelRelease)
377
- };
378
- }
379
- catch (error) {
380
- throw new Error(`Cannot get current kernel info: ${error}`);
381
- }
382
- }
383
152
  }
@@ -93,12 +93,18 @@ export default class Utils {
93
93
  * Detect if running inside a container (Docker or LXC)
94
94
  */
95
95
  static isContainer() {
96
- let isContainer = false;
97
- let pathToCheck = '/ci/README.md';
98
- if (fs.existsSync(pathToCheck)) {
99
- isContainer = true;
96
+ // Check for Docker's specific file
97
+ if (fs.existsSync('/.dockerenv')) {
98
+ return true;
99
+ }
100
+ // Check the cgroup file, which works for Docker, Podman, LXC, etc.
101
+ try {
102
+ const cgroupContent = fs.readFileSync('/proc/1/cgroup', 'utf8');
103
+ return cgroupContent.includes('/docker/') || cgroupContent.includes('/kubepods/');
104
+ }
105
+ catch (e) {
106
+ return false;
100
107
  }
101
- return isContainer;
102
108
  }
103
109
  /**
104
110
  * Check if the system uses Systemd
@@ -11,6 +11,7 @@ export default class Cuckoo extends Command {
11
11
  static examples: string[];
12
12
  static flags: {
13
13
  help: import("@oclif/core/interfaces").BooleanFlag<void>;
14
+ verbose: import("@oclif/core/interfaces").BooleanFlag<boolean>;
14
15
  };
15
16
  run(): Promise<void>;
16
17
  }
@@ -14,7 +14,8 @@ export default class Cuckoo extends Command {
14
14
  static description = 'PXE start with proxy-dhcp';
15
15
  static examples = ['sudo eggs cuckoo'];
16
16
  static flags = {
17
- help: Flags.help({ char: 'h' })
17
+ help: Flags.help({ char: 'h' }),
18
+ verbose: Flags.boolean({ char: 'v', description: 'verbose' })
18
19
  };
19
20
  async run() {
20
21
  const { args, flags } = await this.parse(Cuckoo);
@@ -24,7 +25,7 @@ export default class Cuckoo extends Command {
24
25
  settings.load();
25
26
  const nest = settings.config.snapshot_mnt;
26
27
  const pxeRoot = nest + 'pxe';
27
- const pxe = new Pxe(nest, pxeRoot);
28
+ const pxe = new Pxe(nest, pxeRoot, flags.verbose);
28
29
  await pxe.fertilization();
29
30
  await pxe.build();
30
31
  const n = new network();
package/dist/lib/utils.js CHANGED
@@ -38,6 +38,7 @@ export async function exec(command, { echo = false, ignore = false, capture = fa
38
38
  */
39
39
  return new Promise((resolve, reject) => {
40
40
  if (echo) {
41
+ // seem no need!
41
42
  console.log(command);
42
43
  }
43
44
  const child = spawn('bash', ['-c', command], {
@@ -0,0 +1 @@
1
+ 05498508d7860a84a12a8c8c7aaa9680c6c6743d74b534b6069fafe6bfd46b6f penguins-eggs_25.8.28-1_amd64.deb
@@ -0,0 +1 @@
1
+ 1934d71c93cb97c8d7a728e8ae8617594c9baab385fc371d3c420f3f47394005 penguins-eggs_25.8.28-1_arm64.deb
@@ -0,0 +1 @@
1
+ c34883fec332c18410b19e7d422b5ab7d9df7a6626a9d449d03a4d12b7c07427 penguins-eggs_25.8.28-1_i386.deb
Binary file