penguins-eggs 10.1.1 → 25.7.10

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 (441) hide show
  1. package/.oclif.manifest.json +1 -1
  2. package/README.md +55 -60
  3. package/assets/calamares/install-system.sh +2 -1
  4. package/bootloaders/README.md +22 -0
  5. package/bootloaders/grub/x86_64-efi/acpi.mod +0 -0
  6. package/bootloaders/grub/x86_64-efi/adler32.mod +0 -0
  7. package/bootloaders/grub/x86_64-efi/affs.mod +0 -0
  8. package/bootloaders/grub/x86_64-efi/afs.mod +0 -0
  9. package/bootloaders/grub/x86_64-efi/afsplitter.mod +0 -0
  10. package/bootloaders/grub/x86_64-efi/ahci.mod +0 -0
  11. package/bootloaders/grub/x86_64-efi/all_video.mod +0 -0
  12. package/bootloaders/grub/x86_64-efi/aout.mod +0 -0
  13. package/bootloaders/grub/x86_64-efi/appleldr.mod +0 -0
  14. package/bootloaders/grub/x86_64-efi/archelp.mod +0 -0
  15. package/bootloaders/grub/x86_64-efi/at_keyboard.mod +0 -0
  16. package/bootloaders/grub/x86_64-efi/ata.mod +0 -0
  17. package/bootloaders/grub/x86_64-efi/backtrace.mod +0 -0
  18. package/bootloaders/grub/x86_64-efi/bfs.mod +0 -0
  19. package/bootloaders/grub/x86_64-efi/bitmap.mod +0 -0
  20. package/bootloaders/grub/x86_64-efi/bitmap_scale.mod +0 -0
  21. package/bootloaders/grub/x86_64-efi/blocklist.mod +0 -0
  22. package/bootloaders/grub/x86_64-efi/boot.mod +0 -0
  23. package/bootloaders/grub/x86_64-efi/bsd.mod +0 -0
  24. package/bootloaders/grub/x86_64-efi/bswap_test.mod +0 -0
  25. package/bootloaders/grub/x86_64-efi/btrfs.mod +0 -0
  26. package/bootloaders/grub/x86_64-efi/bufio.mod +0 -0
  27. package/bootloaders/grub/x86_64-efi/cat.mod +0 -0
  28. package/bootloaders/grub/x86_64-efi/cbfs.mod +0 -0
  29. package/bootloaders/grub/x86_64-efi/cbls.mod +0 -0
  30. package/bootloaders/grub/x86_64-efi/cbmemc.mod +0 -0
  31. package/bootloaders/grub/x86_64-efi/cbtable.mod +0 -0
  32. package/bootloaders/grub/x86_64-efi/cbtime.mod +0 -0
  33. package/bootloaders/grub/x86_64-efi/chain.mod +0 -0
  34. package/bootloaders/grub/x86_64-efi/cmdline_cat_test.mod +0 -0
  35. package/bootloaders/grub/x86_64-efi/cmp.mod +0 -0
  36. package/bootloaders/grub/x86_64-efi/cmp_test.mod +0 -0
  37. package/bootloaders/grub/x86_64-efi/command.lst +194 -0
  38. package/bootloaders/grub/x86_64-efi/config.h +69 -0
  39. package/bootloaders/grub/x86_64-efi/configfile.mod +0 -0
  40. package/bootloaders/grub/x86_64-efi/cpio.mod +0 -0
  41. package/bootloaders/grub/x86_64-efi/cpio_be.mod +0 -0
  42. package/bootloaders/grub/x86_64-efi/cpuid.mod +0 -0
  43. package/bootloaders/grub/x86_64-efi/crc64.mod +0 -0
  44. package/bootloaders/grub/x86_64-efi/crypto.lst +45 -0
  45. package/bootloaders/grub/x86_64-efi/crypto.mod +0 -0
  46. package/bootloaders/grub/x86_64-efi/cryptodisk.mod +0 -0
  47. package/bootloaders/grub/x86_64-efi/cs5536.mod +0 -0
  48. package/bootloaders/grub/x86_64-efi/ctz_test.mod +0 -0
  49. package/bootloaders/grub/x86_64-efi/date.mod +0 -0
  50. package/bootloaders/grub/x86_64-efi/datehook.mod +0 -0
  51. package/bootloaders/grub/x86_64-efi/datetime.mod +0 -0
  52. package/bootloaders/grub/x86_64-efi/disk.mod +0 -0
  53. package/bootloaders/grub/x86_64-efi/diskfilter.mod +0 -0
  54. package/bootloaders/grub/x86_64-efi/div.mod +0 -0
  55. package/bootloaders/grub/x86_64-efi/div_test.mod +0 -0
  56. package/bootloaders/grub/x86_64-efi/dm_nv.mod +0 -0
  57. package/bootloaders/grub/x86_64-efi/echo.mod +0 -0
  58. package/bootloaders/grub/x86_64-efi/efi_gop.mod +0 -0
  59. package/bootloaders/grub/x86_64-efi/efi_uga.mod +0 -0
  60. package/bootloaders/grub/x86_64-efi/efifwsetup.mod +0 -0
  61. package/bootloaders/grub/x86_64-efi/efinet.mod +0 -0
  62. package/bootloaders/grub/x86_64-efi/ehci.mod +0 -0
  63. package/bootloaders/grub/x86_64-efi/elf.mod +0 -0
  64. package/bootloaders/grub/x86_64-efi/eval.mod +0 -0
  65. package/bootloaders/grub/x86_64-efi/exfat.mod +0 -0
  66. package/bootloaders/grub/x86_64-efi/exfctest.mod +0 -0
  67. package/bootloaders/grub/x86_64-efi/ext2.mod +0 -0
  68. package/bootloaders/grub/x86_64-efi/extcmd.mod +0 -0
  69. package/bootloaders/grub/x86_64-efi/f2fs.mod +0 -0
  70. package/bootloaders/grub/x86_64-efi/fat.mod +0 -0
  71. package/bootloaders/grub/x86_64-efi/fdt.lst +0 -0
  72. package/bootloaders/grub/x86_64-efi/file.mod +0 -0
  73. package/bootloaders/grub/x86_64-efi/fixvideo.mod +0 -0
  74. package/bootloaders/grub/x86_64-efi/font.mod +0 -0
  75. package/bootloaders/grub/x86_64-efi/fs.lst +37 -0
  76. package/bootloaders/grub/x86_64-efi/fshelp.mod +0 -0
  77. package/bootloaders/grub/x86_64-efi/functional_test.mod +0 -0
  78. package/bootloaders/grub/x86_64-efi/gcry_arcfour.mod +0 -0
  79. package/bootloaders/grub/x86_64-efi/gcry_blowfish.mod +0 -0
  80. package/bootloaders/grub/x86_64-efi/gcry_camellia.mod +0 -0
  81. package/bootloaders/grub/x86_64-efi/gcry_cast5.mod +0 -0
  82. package/bootloaders/grub/x86_64-efi/gcry_crc.mod +0 -0
  83. package/bootloaders/grub/x86_64-efi/gcry_des.mod +0 -0
  84. package/bootloaders/grub/x86_64-efi/gcry_dsa.mod +0 -0
  85. package/bootloaders/grub/x86_64-efi/gcry_idea.mod +0 -0
  86. package/bootloaders/grub/x86_64-efi/gcry_md4.mod +0 -0
  87. package/bootloaders/grub/x86_64-efi/gcry_md5.mod +0 -0
  88. package/bootloaders/grub/x86_64-efi/gcry_rfc2268.mod +0 -0
  89. package/bootloaders/grub/x86_64-efi/gcry_rijndael.mod +0 -0
  90. package/bootloaders/grub/x86_64-efi/gcry_rmd160.mod +0 -0
  91. package/bootloaders/grub/x86_64-efi/gcry_rsa.mod +0 -0
  92. package/bootloaders/grub/x86_64-efi/gcry_seed.mod +0 -0
  93. package/bootloaders/grub/x86_64-efi/gcry_serpent.mod +0 -0
  94. package/bootloaders/grub/x86_64-efi/gcry_sha1.mod +0 -0
  95. package/bootloaders/grub/x86_64-efi/gcry_sha256.mod +0 -0
  96. package/bootloaders/grub/x86_64-efi/gcry_sha512.mod +0 -0
  97. package/bootloaders/grub/x86_64-efi/gcry_tiger.mod +0 -0
  98. package/bootloaders/grub/x86_64-efi/gcry_twofish.mod +0 -0
  99. package/bootloaders/grub/x86_64-efi/gcry_whirlpool.mod +0 -0
  100. package/bootloaders/grub/x86_64-efi/geli.mod +0 -0
  101. package/bootloaders/grub/x86_64-efi/gettext.mod +0 -0
  102. package/bootloaders/grub/x86_64-efi/gfxmenu.mod +0 -0
  103. package/bootloaders/grub/x86_64-efi/gfxterm.mod +0 -0
  104. package/bootloaders/grub/x86_64-efi/gfxterm_background.mod +0 -0
  105. package/bootloaders/grub/x86_64-efi/gfxterm_menu.mod +0 -0
  106. package/bootloaders/grub/x86_64-efi/gptsync.mod +0 -0
  107. package/bootloaders/grub/x86_64-efi/gzio.mod +0 -0
  108. package/bootloaders/grub/x86_64-efi/halt.mod +0 -0
  109. package/bootloaders/grub/x86_64-efi/hashsum.mod +0 -0
  110. package/bootloaders/grub/x86_64-efi/hdparm.mod +0 -0
  111. package/bootloaders/grub/x86_64-efi/hello.mod +0 -0
  112. package/bootloaders/grub/x86_64-efi/help.mod +0 -0
  113. package/bootloaders/grub/x86_64-efi/hexdump.mod +0 -0
  114. package/bootloaders/grub/x86_64-efi/hfs.mod +0 -0
  115. package/bootloaders/grub/x86_64-efi/hfsplus.mod +0 -0
  116. package/bootloaders/grub/x86_64-efi/hfspluscomp.mod +0 -0
  117. package/bootloaders/grub/x86_64-efi/http.mod +0 -0
  118. package/bootloaders/grub/x86_64-efi/iorw.mod +0 -0
  119. package/bootloaders/grub/x86_64-efi/iso9660.mod +0 -0
  120. package/bootloaders/grub/x86_64-efi/jfs.mod +0 -0
  121. package/bootloaders/grub/x86_64-efi/jpeg.mod +0 -0
  122. package/bootloaders/grub/x86_64-efi/json.mod +0 -0
  123. package/bootloaders/grub/x86_64-efi/kernel.img +0 -0
  124. package/bootloaders/grub/x86_64-efi/keylayouts.mod +0 -0
  125. package/bootloaders/grub/x86_64-efi/keystatus.mod +0 -0
  126. package/bootloaders/grub/x86_64-efi/ldm.mod +0 -0
  127. package/bootloaders/grub/x86_64-efi/legacy_password_test.mod +0 -0
  128. package/bootloaders/grub/x86_64-efi/legacycfg.mod +0 -0
  129. package/bootloaders/grub/x86_64-efi/linux.mod +0 -0
  130. package/bootloaders/grub/x86_64-efi/linux16.mod +0 -0
  131. package/bootloaders/grub/x86_64-efi/linuxefi.mod +0 -0
  132. package/bootloaders/grub/x86_64-efi/loadbios.mod +0 -0
  133. package/bootloaders/grub/x86_64-efi/loadenv.mod +0 -0
  134. package/bootloaders/grub/x86_64-efi/loopback.mod +0 -0
  135. package/bootloaders/grub/x86_64-efi/ls.mod +0 -0
  136. package/bootloaders/grub/x86_64-efi/lsacpi.mod +0 -0
  137. package/bootloaders/grub/x86_64-efi/lsefi.mod +0 -0
  138. package/bootloaders/grub/x86_64-efi/lsefimmap.mod +0 -0
  139. package/bootloaders/grub/x86_64-efi/lsefisystab.mod +0 -0
  140. package/bootloaders/grub/x86_64-efi/lsmmap.mod +0 -0
  141. package/bootloaders/grub/x86_64-efi/lspci.mod +0 -0
  142. package/bootloaders/grub/x86_64-efi/lssal.mod +0 -0
  143. package/bootloaders/grub/x86_64-efi/luks.mod +0 -0
  144. package/bootloaders/grub/x86_64-efi/luks2.mod +0 -0
  145. package/bootloaders/grub/x86_64-efi/lvm.mod +0 -0
  146. package/bootloaders/grub/x86_64-efi/lzopio.mod +0 -0
  147. package/bootloaders/grub/x86_64-efi/macbless.mod +0 -0
  148. package/bootloaders/grub/x86_64-efi/macho.mod +0 -0
  149. package/bootloaders/grub/x86_64-efi/mdraid09.mod +0 -0
  150. package/bootloaders/grub/x86_64-efi/mdraid09_be.mod +0 -0
  151. package/bootloaders/grub/x86_64-efi/mdraid1x.mod +0 -0
  152. package/bootloaders/grub/x86_64-efi/memdisk.mod +0 -0
  153. package/bootloaders/grub/x86_64-efi/memrw.mod +0 -0
  154. package/bootloaders/grub/x86_64-efi/minicmd.mod +0 -0
  155. package/bootloaders/grub/x86_64-efi/minix.mod +0 -0
  156. package/bootloaders/grub/x86_64-efi/minix2.mod +0 -0
  157. package/bootloaders/grub/x86_64-efi/minix2_be.mod +0 -0
  158. package/bootloaders/grub/x86_64-efi/minix3.mod +0 -0
  159. package/bootloaders/grub/x86_64-efi/minix3_be.mod +0 -0
  160. package/bootloaders/grub/x86_64-efi/minix_be.mod +0 -0
  161. package/bootloaders/grub/x86_64-efi/mmap.mod +0 -0
  162. package/bootloaders/grub/x86_64-efi/moddep.lst +267 -0
  163. package/bootloaders/grub/x86_64-efi/modinfo.sh +40 -0
  164. package/bootloaders/grub/x86_64-efi/monolithic/gcdx64.efi +0 -0
  165. package/bootloaders/grub/x86_64-efi/monolithic/grubnetx64-installer.efi +0 -0
  166. package/bootloaders/grub/x86_64-efi/monolithic/grubnetx64.efi +0 -0
  167. package/bootloaders/grub/x86_64-efi/monolithic/grubx64.efi +0 -0
  168. package/bootloaders/grub/x86_64-efi/morse.mod +0 -0
  169. package/bootloaders/grub/x86_64-efi/mpi.mod +0 -0
  170. package/bootloaders/grub/x86_64-efi/msdospart.mod +0 -0
  171. package/bootloaders/grub/x86_64-efi/mul_test.mod +0 -0
  172. package/bootloaders/grub/x86_64-efi/multiboot.mod +0 -0
  173. package/bootloaders/grub/x86_64-efi/multiboot2.mod +0 -0
  174. package/bootloaders/grub/x86_64-efi/nativedisk.mod +0 -0
  175. package/bootloaders/grub/x86_64-efi/net.mod +0 -0
  176. package/bootloaders/grub/x86_64-efi/newc.mod +0 -0
  177. package/bootloaders/grub/x86_64-efi/nilfs2.mod +0 -0
  178. package/bootloaders/grub/x86_64-efi/normal.mod +0 -0
  179. package/bootloaders/grub/x86_64-efi/ntfs.mod +0 -0
  180. package/bootloaders/grub/x86_64-efi/ntfscomp.mod +0 -0
  181. package/bootloaders/grub/x86_64-efi/odc.mod +0 -0
  182. package/bootloaders/grub/x86_64-efi/offsetio.mod +0 -0
  183. package/bootloaders/grub/x86_64-efi/ohci.mod +0 -0
  184. package/bootloaders/grub/x86_64-efi/part_acorn.mod +0 -0
  185. package/bootloaders/grub/x86_64-efi/part_amiga.mod +0 -0
  186. package/bootloaders/grub/x86_64-efi/part_apple.mod +0 -0
  187. package/bootloaders/grub/x86_64-efi/part_bsd.mod +0 -0
  188. package/bootloaders/grub/x86_64-efi/part_dfly.mod +0 -0
  189. package/bootloaders/grub/x86_64-efi/part_dvh.mod +0 -0
  190. package/bootloaders/grub/x86_64-efi/part_gpt.mod +0 -0
  191. package/bootloaders/grub/x86_64-efi/part_msdos.mod +0 -0
  192. package/bootloaders/grub/x86_64-efi/part_plan.mod +0 -0
  193. package/bootloaders/grub/x86_64-efi/part_sun.mod +0 -0
  194. package/bootloaders/grub/x86_64-efi/part_sunpc.mod +0 -0
  195. package/bootloaders/grub/x86_64-efi/partmap.lst +11 -0
  196. package/bootloaders/grub/x86_64-efi/parttool.lst +1 -0
  197. package/bootloaders/grub/x86_64-efi/parttool.mod +0 -0
  198. package/bootloaders/grub/x86_64-efi/password.mod +0 -0
  199. package/bootloaders/grub/x86_64-efi/password_pbkdf2.mod +0 -0
  200. package/bootloaders/grub/x86_64-efi/pata.mod +0 -0
  201. package/bootloaders/grub/x86_64-efi/pbkdf2.mod +0 -0
  202. package/bootloaders/grub/x86_64-efi/pbkdf2_test.mod +0 -0
  203. package/bootloaders/grub/x86_64-efi/pcidump.mod +0 -0
  204. package/bootloaders/grub/x86_64-efi/pgp.mod +0 -0
  205. package/bootloaders/grub/x86_64-efi/play.mod +0 -0
  206. package/bootloaders/grub/x86_64-efi/png.mod +0 -0
  207. package/bootloaders/grub/x86_64-efi/priority_queue.mod +0 -0
  208. package/bootloaders/grub/x86_64-efi/probe.mod +0 -0
  209. package/bootloaders/grub/x86_64-efi/procfs.mod +0 -0
  210. package/bootloaders/grub/x86_64-efi/progress.mod +0 -0
  211. package/bootloaders/grub/x86_64-efi/raid5rec.mod +0 -0
  212. package/bootloaders/grub/x86_64-efi/raid6rec.mod +0 -0
  213. package/bootloaders/grub/x86_64-efi/random.mod +0 -0
  214. package/bootloaders/grub/x86_64-efi/rdmsr.mod +0 -0
  215. package/bootloaders/grub/x86_64-efi/read.mod +0 -0
  216. package/bootloaders/grub/x86_64-efi/reboot.mod +0 -0
  217. package/bootloaders/grub/x86_64-efi/regexp.mod +0 -0
  218. package/bootloaders/grub/x86_64-efi/reiserfs.mod +0 -0
  219. package/bootloaders/grub/x86_64-efi/relocator.mod +0 -0
  220. package/bootloaders/grub/x86_64-efi/romfs.mod +0 -0
  221. package/bootloaders/grub/x86_64-efi/scsi.mod +0 -0
  222. package/bootloaders/grub/x86_64-efi/search.mod +0 -0
  223. package/bootloaders/grub/x86_64-efi/search_fs_file.mod +0 -0
  224. package/bootloaders/grub/x86_64-efi/search_fs_uuid.mod +0 -0
  225. package/bootloaders/grub/x86_64-efi/search_label.mod +0 -0
  226. package/bootloaders/grub/x86_64-efi/serial.mod +0 -0
  227. package/bootloaders/grub/x86_64-efi/setjmp.mod +0 -0
  228. package/bootloaders/grub/x86_64-efi/setjmp_test.mod +0 -0
  229. package/bootloaders/grub/x86_64-efi/setpci.mod +0 -0
  230. package/bootloaders/grub/x86_64-efi/sfs.mod +0 -0
  231. package/bootloaders/grub/x86_64-efi/shift_test.mod +0 -0
  232. package/bootloaders/grub/x86_64-efi/signature_test.mod +0 -0
  233. package/bootloaders/grub/x86_64-efi/sleep.mod +0 -0
  234. package/bootloaders/grub/x86_64-efi/sleep_test.mod +0 -0
  235. package/bootloaders/grub/x86_64-efi/smbios.mod +0 -0
  236. package/bootloaders/grub/x86_64-efi/spkmodem.mod +0 -0
  237. package/bootloaders/grub/x86_64-efi/squash4.mod +0 -0
  238. package/bootloaders/grub/x86_64-efi/strtoull_test.mod +0 -0
  239. package/bootloaders/grub/x86_64-efi/syslinuxcfg.mod +0 -0
  240. package/bootloaders/grub/x86_64-efi/tar.mod +0 -0
  241. package/bootloaders/grub/x86_64-efi/terminal.lst +9 -0
  242. package/bootloaders/grub/x86_64-efi/terminal.mod +0 -0
  243. package/bootloaders/grub/x86_64-efi/terminfo.mod +0 -0
  244. package/bootloaders/grub/x86_64-efi/test.mod +0 -0
  245. package/bootloaders/grub/x86_64-efi/test_blockarg.mod +0 -0
  246. package/bootloaders/grub/x86_64-efi/testload.mod +0 -0
  247. package/bootloaders/grub/x86_64-efi/testspeed.mod +0 -0
  248. package/bootloaders/grub/x86_64-efi/tftp.mod +0 -0
  249. package/bootloaders/grub/x86_64-efi/tga.mod +0 -0
  250. package/bootloaders/grub/x86_64-efi/time.mod +0 -0
  251. package/bootloaders/grub/x86_64-efi/tpm.mod +0 -0
  252. package/bootloaders/grub/x86_64-efi/tr.mod +0 -0
  253. package/bootloaders/grub/x86_64-efi/trig.mod +0 -0
  254. package/bootloaders/grub/x86_64-efi/true.mod +0 -0
  255. package/bootloaders/grub/x86_64-efi/udf.mod +0 -0
  256. package/bootloaders/grub/x86_64-efi/ufs1.mod +0 -0
  257. package/bootloaders/grub/x86_64-efi/ufs1_be.mod +0 -0
  258. package/bootloaders/grub/x86_64-efi/ufs2.mod +0 -0
  259. package/bootloaders/grub/x86_64-efi/uhci.mod +0 -0
  260. package/bootloaders/grub/x86_64-efi/usb.mod +0 -0
  261. package/bootloaders/grub/x86_64-efi/usb_keyboard.mod +0 -0
  262. package/bootloaders/grub/x86_64-efi/usbms.mod +0 -0
  263. package/bootloaders/grub/x86_64-efi/usbserial_common.mod +0 -0
  264. package/bootloaders/grub/x86_64-efi/usbserial_ftdi.mod +0 -0
  265. package/bootloaders/grub/x86_64-efi/usbserial_pl2303.mod +0 -0
  266. package/bootloaders/grub/x86_64-efi/usbserial_usbdebug.mod +0 -0
  267. package/bootloaders/grub/x86_64-efi/usbtest.mod +0 -0
  268. package/bootloaders/grub/x86_64-efi/video.lst +4 -0
  269. package/bootloaders/grub/x86_64-efi/video.mod +0 -0
  270. package/bootloaders/grub/x86_64-efi/video_bochs.mod +0 -0
  271. package/bootloaders/grub/x86_64-efi/video_cirrus.mod +0 -0
  272. package/bootloaders/grub/x86_64-efi/video_colors.mod +0 -0
  273. package/bootloaders/grub/x86_64-efi/video_fb.mod +0 -0
  274. package/bootloaders/grub/x86_64-efi/videoinfo.mod +0 -0
  275. package/bootloaders/grub/x86_64-efi/videotest.mod +0 -0
  276. package/bootloaders/grub/x86_64-efi/videotest_checksum.mod +0 -0
  277. package/bootloaders/grub/x86_64-efi/wrmsr.mod +0 -0
  278. package/bootloaders/grub/x86_64-efi/xfs.mod +0 -0
  279. package/bootloaders/grub/x86_64-efi/xnu.mod +0 -0
  280. package/bootloaders/grub/x86_64-efi/xnu_uuid.mod +0 -0
  281. package/bootloaders/grub/x86_64-efi/xnu_uuid_test.mod +0 -0
  282. package/bootloaders/grub/x86_64-efi/xzio.mod +0 -0
  283. package/bootloaders/grub/x86_64-efi/zfs.mod +0 -0
  284. package/bootloaders/grub/x86_64-efi/zfscrypt.mod +0 -0
  285. package/bootloaders/grub/x86_64-efi/zfsinfo.mod +0 -0
  286. package/bootloaders/grub/x86_64-efi/zstd.mod +0 -0
  287. package/bootloaders/grubnetx64.efi.signed +0 -0
  288. package/bootloaders/grubx64.efi +0 -0
  289. package/bootloaders/grubx64.efi.signed +0 -0
  290. package/bootloaders/ipxe.pxe +0 -0
  291. package/bootloaders/shimx64.efi +0 -0
  292. package/bootloaders/shimx64.efi.signed +0 -0
  293. package/bootloaders/undionly.kpxe +0 -0
  294. package/conf/derivatives.yaml +5 -1
  295. package/conf/distros/alpine/calamares/modules/packages.yml +1 -1
  296. package/conf/distros/alpine/calamares/settings.yml +16 -29
  297. package/conf/distros/buster/calamares/modules/fstab.yml +1 -1
  298. package/conf/distros/buster/calamares/modules/mount.yml +4 -12
  299. package/conf/distros/fedora/calamares/modules/bootloader.yml +46 -17
  300. package/conf/distros/fedora/calamares/modules/fstab.yml +36 -11
  301. package/conf/distros/fedora/calamares/modules/mount.yml +101 -39
  302. package/conf/distros/fedora/calamares/modules/partition.yml +173 -23
  303. package/conf/distros/fedora/calamares/modules/users.yml +7 -9
  304. package/conf/distros/openmamba/calamares/settings.yml +0 -2
  305. package/conf/distros/opensuse/calamares/modules/bootloader.yml +46 -17
  306. package/conf/distros/opensuse/calamares/modules/displaymanager.yml +9 -5
  307. package/conf/distros/opensuse/calamares/modules/finished.yml +1 -1
  308. package/conf/distros/opensuse/calamares/modules/fstab.yml +36 -11
  309. package/conf/distros/opensuse/calamares/modules/grubcfg.yml +51 -0
  310. package/conf/distros/opensuse/calamares/modules/mount.yml +104 -39
  311. package/conf/distros/opensuse/calamares/modules/packages.yml +3 -3
  312. package/conf/distros/opensuse/calamares/modules/partition.yml +30 -237
  313. package/conf/distros/opensuse/calamares/modules/removeuser.yml +1 -14
  314. package/conf/distros/opensuse/calamares/modules/unpackfs.yml +0 -1
  315. package/conf/distros/opensuse/calamares/modules/users.yml +296 -16
  316. package/conf/distros/opensuse/calamares/modules/welcome.yml +91 -16
  317. package/conf/distros/opensuse/calamares/settings.yml +34 -120
  318. package/conf/distros/opensuse/calamares/zstd2lzo.sh +2 -0
  319. package/conf/distros/rolling/calamares/modules/shellprocess_sync.yml +5 -0
  320. package/conf/distros/rolling/calamares/settings.yml +4 -5
  321. package/dist/classes/bleach.d.ts +5 -0
  322. package/dist/classes/bleach.js +13 -0
  323. package/dist/classes/cli-autologin.js +14 -9
  324. package/dist/classes/daddy.js +9 -1
  325. package/dist/classes/distro.js +0 -9
  326. package/dist/classes/incubation/incubator.d/fedora.d.ts +32 -0
  327. package/dist/classes/incubation/incubator.d/fedora.js +79 -0
  328. package/dist/classes/incubation/incubator.d/opensuse.js +4 -6
  329. package/dist/classes/incubation/incubator.d/rolling.js +1 -3
  330. package/dist/classes/incubation/incubator.js +6 -11
  331. package/dist/classes/ovary.d/fertilization.js +1 -0
  332. package/dist/classes/ovary.d/initrd.js +39 -10
  333. package/dist/classes/ovary.d/make-dot-disk.js +21 -11
  334. package/dist/classes/ovary.d/make-efi.d.ts +5 -1
  335. package/dist/classes/ovary.d/make-efi.js +60 -118
  336. package/dist/classes/ovary.d/merged.d.ts +1 -1
  337. package/dist/classes/ovary.d/merged.js +3 -2
  338. package/dist/classes/ovary.d/produce.js +7 -6
  339. package/dist/classes/ovary.d/syslinux.js +2 -1
  340. package/dist/classes/ovary.d/user-create-live.js +15 -11
  341. package/dist/classes/ovary.d.ts +2 -1
  342. package/dist/classes/ovary.js +2 -1
  343. package/dist/classes/pacman.d/alpine.js +12 -7
  344. package/dist/classes/pacman.d/opensuse.js +4 -3
  345. package/dist/classes/pacman.js +3 -12
  346. package/dist/classes/pxe.d.ts +21 -18
  347. package/dist/classes/pxe.js +194 -257
  348. package/dist/classes/tailor.js +69 -33
  349. package/dist/classes/utils.d/filesystem.js +2 -0
  350. package/dist/classes/utils.d/kernel.js +12 -2
  351. package/dist/classes/utils.d/snapshot.js +1 -1
  352. package/dist/classes/utils.d/system.js +2 -2
  353. package/dist/commands/cuckoo.js +4 -6
  354. package/dist/commands/export/pkg.js +28 -12
  355. package/dist/commands/wardrobe/wear.js +1 -1
  356. package/dist/dhcpd-proxy/classes/packet.d.ts +36 -0
  357. package/dist/dhcpd-proxy/classes/packet.js +124 -0
  358. package/dist/dhcpd-proxy/index.d.ts +4 -0
  359. package/dist/dhcpd-proxy/index.js +4 -0
  360. package/dist/dhcpd-proxy/interfaces/i-pxe.d.ts +45 -0
  361. package/dist/dhcpd-proxy/interfaces/i-pxe.js +1 -0
  362. package/dist/dhcpd-proxy/lib/packet/converters.d.ts +11 -0
  363. package/dist/dhcpd-proxy/lib/packet/converters.js +395 -0
  364. package/dist/dhcpd-proxy/lib/packet/message-types.d.ts +10 -0
  365. package/dist/dhcpd-proxy/lib/packet/message-types.js +12 -0
  366. package/dist/dhcpd-proxy/lib/packet/options.d.ts +8 -0
  367. package/dist/dhcpd-proxy/lib/packet/options.js +264 -0
  368. package/dist/dhcpd-proxy/lib/sprintf.d.ts +6 -0
  369. package/dist/dhcpd-proxy/lib/sprintf.js +130 -0
  370. package/dist/dhcpd-proxy/lib/utils.d.ts +126 -0
  371. package/dist/dhcpd-proxy/lib/utils.js +255 -0
  372. package/dist/dhcpd-proxy/simple-proxy.d.ts +11 -0
  373. package/dist/dhcpd-proxy/simple-proxy.js +118 -0
  374. package/dist/interfaces/i-pxe.d.ts +16 -16
  375. package/dist/krill/classes/sequence.d/add_user.d.ts +3 -3
  376. package/dist/krill/classes/sequence.d/add_user.js +34 -29
  377. package/dist/krill/classes/sequence.d/bootloader_config.js +3 -26
  378. package/dist/krill/classes/sequence.d/fstab.js +10 -22
  379. package/dist/krill/classes/sequence.d/grubcfg.js +5 -3
  380. package/dist/krill/classes/sequence.d/mkfs.d.ts +1 -1
  381. package/dist/krill/classes/sequence.d/mkfs.js +10 -11
  382. package/dist/krill/classes/sequence.d/partition.d/bios_standard.d.ts +3 -4
  383. package/dist/krill/classes/sequence.d/partition.d/bios_standard.js +31 -16
  384. package/dist/krill/classes/sequence.d/partition.d/uefi_standard.js +0 -1
  385. package/dist/krill/lib/select_filesystem_type.js +2 -1
  386. package/dist/lib/utils.d.ts +2 -25
  387. package/dist/lib/utils.js +4 -27
  388. package/dist/penguins-eggs_25.7.10-1-linux-x64.tar.gz +0 -0
  389. package/dracut/README.md +14 -0
  390. package/dracut/dracut.conf +3 -3
  391. package/dracut/dracut.conf.d/10-persistent_policy.conf +1 -0
  392. package/dracut/dracut.conf.d/{01-live.conf → 50-live.conf} +3 -2
  393. package/mkinitcpio/arch/live.conf +3 -2
  394. package/mkinitcpio/manjaro/live.conf +1 -1
  395. package/mkinitfs/README.md +10 -49
  396. package/mkinitfs/live.conf +2 -0
  397. package/package.json +30 -28
  398. package/pods/ci/minimal/opensuse-container2host.sh +1 -1
  399. package/scripts/99clean +42 -0
  400. package/conf/distros/aldos/calamares/modules/bootloader.yml +0 -85
  401. package/conf/distros/aldos/calamares/modules/displaymanager.yml +0 -22
  402. package/conf/distros/aldos/calamares/modules/finished.yml +0 -5
  403. package/conf/distros/aldos/calamares/modules/fstab.yml +0 -12
  404. package/conf/distros/aldos/calamares/modules/locale.yml +0 -97
  405. package/conf/distros/aldos/calamares/modules/luksopenswaphookcfg.yml +0 -5
  406. package/conf/distros/aldos/calamares/modules/machineid.yml +0 -17
  407. package/conf/distros/aldos/calamares/modules/mount.yml +0 -56
  408. package/conf/distros/aldos/calamares/modules/packages.yml +0 -6
  409. package/conf/distros/aldos/calamares/modules/partition.yml +0 -242
  410. package/conf/distros/aldos/calamares/modules/removeuser.yml +0 -15
  411. package/conf/distros/aldos/calamares/modules/unpackfs.yml +0 -6
  412. package/conf/distros/aldos/calamares/modules/users.yml +0 -19
  413. package/conf/distros/aldos/calamares/modules/welcome.yml +0 -19
  414. package/conf/distros/aldos/calamares/settings.yml +0 -124
  415. package/conf/distros/fedora/calamares/modules/bootloader.conf +0 -85
  416. package/conf/distros/opensuse/calamares/modules/bootloader.conf +0 -86
  417. package/conf/distros/opensuse/calamares/modules/locale.yml +0 -98
  418. package/conf/distros/opensuse/calamares/modules/luksopenswaphookcfg.yml +0 -5
  419. package/conf/distros/opensuse/calamares/modules/machineid.yml +0 -17
  420. package/conf/distros/rolling/calamares/modules/shellprocess_removelink.yml +0 -8
  421. package/dist/index_old.d.ts +0 -8
  422. package/dist/index_old.js +0 -8
  423. package/dist/penguins-eggs_10.1.1-0_amd64.deb +0 -0
  424. package/dist/penguins-eggs_10.1.1-0_amd64.deb.sha256 +0 -1
  425. package/dracut/sidecar.sh +0 -19
  426. package/ipxe/ipxe.efi +0 -0
  427. package/mkinitfs/initramfs-init.in +0 -1051
  428. package/mkinitfs/sidecar.sh +0 -52
  429. /package/{syslinux → bootloaders/syslinux}/README.md +0 -0
  430. /package/{syslinux → bootloaders/syslinux}/chain.c32 +0 -0
  431. /package/{syslinux → bootloaders/syslinux}/isohdpfx.bin +0 -0
  432. /package/{syslinux → bootloaders/syslinux}/isolinux.bin +0 -0
  433. /package/{syslinux → bootloaders/syslinux}/ldlinux.c32 +0 -0
  434. /package/{syslinux → bootloaders/syslinux}/libcom32.c32 +0 -0
  435. /package/{syslinux → bootloaders/syslinux}/libutil.c32 +0 -0
  436. /package/{syslinux → bootloaders/syslinux}/lpxelinux.0 +0 -0
  437. /package/{syslinux → bootloaders/syslinux}/memdisk +0 -0
  438. /package/{syslinux → bootloaders/syslinux}/pxelinux.0 +0 -0
  439. /package/{syslinux → bootloaders/syslinux}/vesamenu.c32 +0 -0
  440. /package/dist/classes/ovary.d/{xorriso-commend.d.ts → xorriso-command.d.ts} +0 -0
  441. /package/dist/classes/ovary.d/{xorriso-commend.js → xorriso-command.js} +0 -0
@@ -16,40 +16,32 @@ import Utils from '../utils.js';
16
16
  // _dirname
17
17
  const __dirname = path.dirname(new URL(import.meta.url).pathname);
18
18
  /**
19
- * makeEFI
19
+ *
20
+ * @param this
21
+ * @param theme
22
+ * cp /usr/lib/grub/x86_64-efi-signed/grubx64.efi.signed ./bootloaders/
23
+ * cp /usr/lib/shim/shimx64.efi.signed ./bootloaders/
20
24
  */
21
25
  export async function makeEfi(theme = 'eggs') {
22
- Utils.warning("creating efi configuration...");
26
+ const bootloaders = path.resolve(__dirname, `../../../bootloaders`);
27
+ const grubEfi = path.resolve(bootloaders, `grubx64.efi`);
28
+ const shimEfi = path.resolve(bootloaders, `shimx64.efi`);
29
+ let signed = '';
30
+ if (this.distroLike === 'Debian') {
31
+ Utils.warning(`Secure boot enabled on ${this.distroLike}`);
32
+ signed = '.signed';
33
+ }
23
34
  const efiPath = path.join(this.settings.config.snapshot_mnt, '/efi/');
24
35
  const efiWorkDir = path.join(efiPath, '/work/');
25
36
  const efiMemdiskDir = path.join(efiPath, '/memdisk/');
26
- const efiMnt = path.join(efiPath, '/mnt/');
37
+ const efiMnt = path.join(efiPath, 'mnt');
27
38
  const isoDir = this.settings.iso_work;
28
- const readmes = `${isoDir}/READMES`;
29
- let readmeContent = `# README\n`;
30
- /**
31
- * check: grub/grub2 command MUST to exists
32
- */
33
- const grubName = Diversions.grubName(this.familyId);
34
- if (grubName === '') {
35
- Utils.error('Cannot find command grub/grub2.');
36
- process.exit(1);
37
- }
38
- /**
39
- * GAE = Grub Arch Efi path+grubx86.efi/signed
40
- */
41
- let GAE = srcGAES();
42
- if (!fs.existsSync(srcGAE())) {
43
- GAE = srcGAE();
44
- }
45
- if (!fs.existsSync(GAE)) {
46
- if (this.familyId === 'debian') {
47
- console.log(`error: cannot find ${GAE}`);
48
- process.exit(1);
49
- }
50
- }
51
- // Create READMES on ISO
52
- await exec(`mkdir ${readmes}`);
39
+ // creo e copio direttamente in ${isdDir} il folder ${bootloaders}/grub/x86_64-efi
40
+ await exec(`mkdir ${isoDir}/boot/grub/ -p`, this.echo);
41
+ await exec(`cp -r ${bootloaders}/grub/x86_64-efi ${isoDir}/boot/grub/`, this.echo);
42
+ await exec(`mkdir ${isoDir}/EFI/boot -p`, this.echo);
43
+ await exec(`cp ${shimEfi}${signed} ${isoDir}/EFI/boot/${bootEFI()}`, this.echo);
44
+ await exec(`cp ${grubEfi}${signed} ${isoDir}/EFI/boot/${grubEFI()}`, this.echo);
53
45
  // clean/create all in efiPath
54
46
  if (fs.existsSync(efiPath)) {
55
47
  await exec(`rm -rf ${efiPath}`);
@@ -58,21 +50,19 @@ export async function makeEfi(theme = 'eggs') {
58
50
  await exec(`mkdir ${efiMemdiskDir}`, this.echo);
59
51
  await exec(`mkdir ${efiMnt}`, this.echo);
60
52
  await exec(`mkdir ${efiWorkDir}`, this.echo);
61
- const grub1 = `${efiMemdiskDir}/boot/grub/grub.cfg`;
62
- let grubText1 = `# grub.cfg 1\n`;
63
53
  /**
64
54
  * create efi.img
65
55
  */
66
- await exec(`mkdir ${path.join(efiMemdiskDir, "/boot")}`, this.echo);
67
- await exec(`mkdir ${path.join(efiMemdiskDir, "/boot/grub")}`, this.echo);
68
- // create grub.cfg 1 in memdisk
69
- Utils.warning("creating grub.cfg (1) in (efi.img)/boot/grub");
56
+ Utils.warning("creating grub.cfg (1) on efi.img");
57
+ await exec(`mkdir ${path.join(efiMemdiskDir, "/boot/grub -p")}`, this.echo);
58
+ const grubCfg1 = `${efiMemdiskDir}/boot/grub/grub.cfg`;
59
+ let grubText1 = `# grub.cfg 1\n`;
70
60
  grubText1 += `# created on ${efiMemdiskDir}\n`;
71
61
  grubText1 += `\n`;
72
62
  grubText1 += `search --set=root --file /.disk/id/${this.uuid}\n`;
73
63
  grubText1 += 'set prefix=($root)/boot/grub\n';
74
64
  grubText1 += `configfile ($root)/boot/grub/grub.cfg\n`;
75
- Utils.write(grub1, grubText1);
65
+ Utils.write(grubCfg1, grubText1);
76
66
  /**
77
67
  * creating structure efiWordDir
78
68
  */
@@ -91,55 +81,24 @@ export async function makeEfi(theme = 'eggs') {
91
81
  const efiImg = `${efiWorkDir}boot/grub/efi.img`;
92
82
  await exec(`dd if=/dev/zero of=${efiImg} bs=1M count=16`, this.echo);
93
83
  await exec(`/sbin/mkdosfs -F 12 ${efiImg}`, this.echo);
94
- // mount efi.img on mnt-img
95
- await exec(`mount -o loop ${efiImg} ${efiMnt}`, this.echo);
96
- // create structure inside efiMnt
97
- await exec(`mkdir ${efiMnt}/boot`, this.echo);
98
- await exec(`mkdir ${efiMnt}/boot/grub`, this.echo);
99
- await exec(`mkdir ${efiMnt}/boot/grub/x86_64-efi`, this.echo);
100
- await exec(`cp -r /usr/lib/grub/x86_64-efi/*.mod ${efiMnt}/boot/grub/x86_64-efi/`, this.echo);
101
- await exec(`mkdir ${efiMnt}/EFI`, this.echo);
102
- await exec(`mkdir ${efiMnt}/EFI/boot`, this.echo);
84
+ // await new Promise(resolve => setTimeout(resolve, 2000))
85
+ // mount efi.img on mountpoint mnt-img
86
+ await exec(`mount --make-shared -o loop ${efiImg} ${efiMnt}`, this.echo);
87
+ // await new Promise(resolve => setTimeout(resolve, 2000))
88
+ // create structure inside (efi.img)
89
+ await exec(`mkdir -p ${efiMnt}/boot/grub`, this.echo);
90
+ await exec(`mkdir -p ${efiMnt}/EFI/boot`, this.echo);
103
91
  /**
104
- * copy grub.cfg to (efi.img)/boot/grub
92
+ * copy grubCfg1 (grub.cfg) to (efi.img)/boot/grub
105
93
  */
106
- await exec(`cp ${grub1} ${efiMnt}/boot/grub`);
107
- // readme
108
- readmeContent += `## copyng on (efi.img) ${efiMnt}\n`;
109
- readmeContent += `${grub1} copied to /boot/grub`;
110
- if (this.settings.distro.codenameLikeId === 'bookworm' ||
111
- this.settings.distro.codenameLikeId === 'daedalus') {
112
- /**
113
- * (efi.img)/EFI/boot/bootx84.efi (shimx64.efi)
114
- * (efi.img)/EFI/boot/grubx84.efi
115
- */
116
- Utils.warning(`copy ${srcShim()} to ${efiMnt}/EFI/boot/${bootArchEfi()}`);
117
- Utils.warning(`copy ${srcGAES()} to ${efiMnt}/EFI/boot/${nameGAE()}`);
118
- await exec(`cp ${srcShim()} ${efiMnt}/EFI/boot/${bootArchEfi()}`, this.echo);
119
- await exec(`cp ${srcGAES()} ${efiMnt}/EFI/boot/${nameGAE()}`, this.echo);
120
- readmeContent += `${srcShim()} copied as ${bootArchEfi()}\n`;
121
- readmeContent += `${GAE} copied as ${nameGAE()}\n`;
122
- }
123
- else {
124
- /**
125
- * we need to build bootx64.efi
126
- */
127
- Utils.warning(`create ${bootArchEfi()} not signed and copy as ${bootArchEfi()}`);
128
- await exec(`${grubName}-mkimage -O "${Utils.uefiFormat()}" \
129
- -m "${efiMemdiskDir}/memdisk" \
130
- -o "${efiMemdiskDir}/${bootArchEfi()}" \
131
- -p '(memdisk)/boot/grub' \
132
- search iso9660 configfile normal memdisk tar cat part_msdos part_gpt fat ext2 ntfs ntfscomp hfsplus chain boot linux squash4 loopback`, this.echo);
133
- await exec(`cp ${efiMemdiskDir}/${bootArchEfi()} ${efiMnt}/EFI/boot/`, this.echo);
134
- // Rolf patch: copiare i file mod da /usr/lib/grub/x86_64-efi a ${isoDir}/boot/grub/x86_64-efi
135
- await exec(`cp -r /usr/lib/grub/x86_64-efi/*.mod ${isoDir}/boot/grub/x86_64-efi/`, this.echo);
136
- // Creare EFI
137
- readmeContent += `created grubx64.efi not signed and copied as ${bootArchEfi()}\n`;
138
- }
139
- // replicate EFI on ISO
140
- await exec(`cp -r ${efiMnt}/EFI ${isoDir}/EFI`, this.echo);
141
- // umount efiMnt
94
+ await exec(`cp ${grubCfg1} ${efiMnt}/boot/grub`, this.echo);
95
+ await exec(`cp ${shimEfi}${signed} ${efiMnt}/EFI/boot/${bootEFI()}`, this.echo);
96
+ await exec(`cp ${grubEfi}${signed} ${efiMnt}/EFI/boot/${grubEFI()}`, this.echo);
97
+ //await Utils.pressKeyToExit(`controlla ${efiMnt}`)
142
98
  await exec(`umount ${efiMnt}`, this.echo);
99
+ // Copy isoImg in ${${isoDir}/boot/grub
100
+ Utils.warning("copyng efi.img on (iso)/boot/grub");
101
+ await exec(`cp ${efiImg} ${isoDir}/boot/grub`, this.echo);
143
102
  /**
144
103
  * creating grub.cfg (2) on (iso)/boot/grub
145
104
  */
@@ -151,7 +110,7 @@ export async function makeEfi(theme = 'eggs') {
151
110
  splashSrc = `${theme}/theme/livecd/splash.png`;
152
111
  }
153
112
  if (!fs.existsSync(splashSrc)) {
154
- Utils.warning('Cannot find: ' + splashSrc);
113
+ Utils.warning(`warning: ${splashSrc} does not exists`);
155
114
  process.exit(1);
156
115
  }
157
116
  await exec(`cp ${splashSrc} ${splashDest}`, this.echo);
@@ -163,7 +122,7 @@ export async function makeEfi(theme = 'eggs') {
163
122
  // copy theme
164
123
  const themeDest = `${isoDir}/boot/grub/theme.cfg`;
165
124
  if (!fs.existsSync(themeSrc)) {
166
- Utils.warning('Cannot find: ' + themeSrc);
125
+ Utils.error(`error: ${themeSrc} does not exist`);
167
126
  process.exit(1);
168
127
  }
169
128
  fs.copyFileSync(themeSrc, themeDest);
@@ -179,9 +138,6 @@ export async function makeEfi(theme = 'eggs') {
179
138
  }
180
139
  // Copy workdir files to ISO/boot
181
140
  await exec(`rsync -avx ${efiWorkDir}/boot ${isoDir}/`, this.echo);
182
- readmeContent += `\n`;
183
- readmeContent += `## Copyng on ${isoDir}\n`;
184
- readmeContent += `rsync -avx ${efiWorkDir}/boot (iso)/boot\n`;
185
141
  /**
186
142
  * prepare main grub.cfg from grub.main.cfg
187
143
  */
@@ -190,11 +146,11 @@ export async function makeEfi(theme = 'eggs') {
190
146
  grubTemplate = path.resolve(__dirname, '../../../addons/eggs/theme/livecd/grub.main.cfg');
191
147
  }
192
148
  if (!fs.existsSync(grubTemplate)) {
193
- Utils.warning('Cannot find: ' + grubTemplate);
149
+ Utils.error(`error: ${grubTemplate} does not exist`);
194
150
  process.exit(1);
195
151
  }
196
152
  const kernel_parameters = Diversions.kernelParameters(this.familyId, this.volid); // this.kernelParameters()
197
- const g2 = path.join(isoDir, '/boot/grub/grub.cfg');
153
+ const grubCfg2 = path.join(isoDir, '/boot/grub/grub.cfg');
198
154
  const template = fs.readFileSync(grubTemplate, 'utf8');
199
155
  const view = {
200
156
  fullname: this.settings.remix.fullname.toUpperCase(),
@@ -204,10 +160,10 @@ export async function makeEfi(theme = 'eggs') {
204
160
  vmlinuz: `/live/${path.basename(this.vmlinuz)}`
205
161
  };
206
162
  let grubText2 = `# grub.cfg 2\n`;
207
- grubText2 += ` # created on ${g2}`;
163
+ grubText2 += ` # created on ${grubCfg2}`;
208
164
  grubText2 += `\n`;
209
165
  grubText2 += mustache.render(template, view);
210
- fs.writeFileSync(g2, grubText2);
166
+ fs.writeFileSync(grubCfg2, grubText2);
211
167
  /**
212
168
  * create loopback.cfg
213
169
  */
@@ -220,16 +176,16 @@ export async function makeEfi(theme = 'eggs') {
220
176
  * config.cfg
221
177
  */
222
178
  await exec(`cp ${path.resolve(__dirname, `../../../assets/config.cfg`)} ${isoDir}/boot/grub`);
223
- fs.writeFileSync(`${readmes}/grub1.cfg`, grubText1);
224
- fs.writeFileSync(`${readmes}/grub2.cfg`, grubText2);
225
- fs.writeFileSync(`${readmes}/README.md`, readmeContent);
226
179
  }
180
+ /**
181
+ * FUNCTIONS
182
+ */
227
183
  /**
228
184
  *
229
185
  * @returns
230
186
  */
231
- function bootArchEfi() {
232
- let bn = 'nothing.efi';
187
+ function bootEFI() {
188
+ let bn = 'bootia32.efi'; // Per l'architettura i686 EFI è: bootia32.efi
233
189
  if (process.arch === 'x64') {
234
190
  bn = 'bootx64.efi';
235
191
  }
@@ -239,33 +195,19 @@ function bootArchEfi() {
239
195
  return bn;
240
196
  }
241
197
  /**
242
- * FUNCTIONS
198
+ *
199
+ * @returns
243
200
  */
244
- function nameGAE() {
245
- let bn = 'nothing.efi';
201
+ function grubEFI() {
202
+ let gn = 'grubia32.efi'; // Per l'architettura i686 EFI è: grubia32.efi
246
203
  if (process.arch === 'x64') {
247
- bn = 'grubx64.efi';
204
+ gn = 'grubx64.efi';
248
205
  }
249
206
  else if (process.arch === 'arm64') {
250
- bn = 'grubaa64.efi';
251
- }
252
- return bn;
253
- }
254
- function nameGAES() {
255
- return nameGAE() + '.signed';
256
- }
257
- function srcGAE() {
258
- return '/usr/lib/grub/' + Utils.uefiFormat() + '/monolithic/' + nameGAE();
259
- }
260
- function srcGAES() {
261
- let signedGrub = `/usr/lib/grub/${Utils.uefiFormat()}-signed/${nameGAES()}`;
262
- if (!fs.existsSync(signedGrub)) {
263
- Utils.warning(`cannot find ${signedGrub}`);
207
+ gn = 'grubaa64.efi';
264
208
  }
265
- return signedGrub;
209
+ return gn;
266
210
  }
267
- function srcShim() {
268
- const signedShim = '/usr/lib/shim/shimx64.efi.signed';
269
- const unsignedShim = '/usr/lib/shim/shimx64.efi';
270
- return fs.existsSync(signedShim) ? signedShim : unsignedShim;
211
+ function moduleEFI() {
212
+ return `x86_64-efi`;
271
213
  }
@@ -9,7 +9,7 @@ import Ovary from '../ovary.js';
9
9
  /**
10
10
  * Ritorna true se c'è bisogno del mount --bind
11
11
  *
12
- * Ci sono tre tipologie:
12
+ * Ci sono quattro tipologie:
13
13
  *
14
14
  * - copied
15
15
  * - mergedAndOverlay
@@ -12,7 +12,7 @@ const __dirname = path.dirname(new URL(import.meta.url).pathname);
12
12
  /**
13
13
  * Ritorna true se c'è bisogno del mount --bind
14
14
  *
15
- * Ci sono tre tipologie:
15
+ * Ci sono quattro tipologie:
16
16
  *
17
17
  * - copied
18
18
  * - mergedAndOverlay
@@ -36,7 +36,8 @@ export function copied(dir) {
36
36
  *
37
37
  */
38
38
  export function mergedAndOverlay(dir) {
39
- const moDirs = ['usr', 'var'];
39
+ // per Alpine ho agginto bin
40
+ const moDirs = ['bin', 'usr', 'var'];
40
41
  let mergedOverlay = false;
41
42
  for (const moDir of moDirs) {
42
43
  if (moDir === dir) {
@@ -52,7 +52,8 @@ export async function produce(kernel = '', clone = false, cryptedclone = false,
52
52
  */
53
53
  if (this.kernel === '') {
54
54
  if (this.familyId === 'alpine') {
55
- // to do
55
+ const moduleDirs = fs.readdirSync('/lib/modules');
56
+ this.kernel = moduleDirs[0];
56
57
  }
57
58
  else if (this.familyId === 'archlinux') {
58
59
  const moduleDirs = fs.readdirSync('/usr/lib/modules');
@@ -189,7 +190,7 @@ export async function produce(kernel = '', clone = false, cryptedclone = false,
189
190
  await this.syslinux(this.theme);
190
191
  await this.kernelCopy();
191
192
  /**
192
- * differents initrd for different families
193
+ * spostare alla fine per dracut
193
194
  */
194
195
  if (this.familyId === 'alpine') {
195
196
  await this.initrdAlpine();
@@ -277,16 +278,16 @@ export async function produce(kernel = '', clone = false, cryptedclone = false,
277
278
  * patch to emulate miso/archiso on archilinux family
278
279
  */
279
280
  if (this.familyId === 'archlinux') {
280
- let pathName = `arch/x86_64/airootfs`;
281
+ let filesystemName = `arch/x86_64/airootfs.sfs`;
281
282
  let hashCmd = 'sha512sum';
282
283
  let hashExt = '.sha512';
283
284
  if (Diversions.isManjaroBased(this.settings.distro.distroId)) {
284
- pathName = `manjaro/x86_64/livefs`;
285
+ filesystemName = `manjaro/x86_64/livefs.sfs`;
285
286
  hashCmd = `md5sum`;
286
287
  hashExt = '.md5';
287
288
  }
288
- await exec(`mkdir ${this.settings.iso_work}${pathName}/x86_64 -p`, this.echo);
289
- fs.linkSync(`${this.settings.iso_work}live/filesystem.squashfs`, `${this.settings.iso_work}${pathName}.sfs`);
289
+ await exec(`mkdir ${this.settings.iso_work}${path.dirname(filesystemName)} -p`, this.echo);
290
+ await exec(`ln ${this.settings.iso_work}live/filesystem.squashfs ${this.settings.iso_work}${filesystemName}`, this.echo);
290
291
  }
291
292
  await this.makeIso(mkIsofsCmd, scriptOnly);
292
293
  }
@@ -17,11 +17,12 @@ import Diversions from './../diversions.js';
17
17
  import Utils from './../utils.js';
18
18
  // _dirname
19
19
  const __dirname = path.dirname(new URL(import.meta.url).pathname);
20
+ const bootloaders = path.resolve(__dirname, `../../../bootloaders`);
20
21
  /**
21
22
  * syslinux: da syspath
22
23
  */
23
24
  export async function syslinux(theme = 'eggs') {
24
- let syspath = path.resolve(__dirname, `../../../syslinux`);
25
+ let syspath = path.join(bootloaders, 'syslinux');
25
26
  await exec(`cp ${syspath}/chain.c32 ${this.settings.iso_work}/isolinux/`, this.echo);
26
27
  await exec(`cp ${syspath}/isohdpfx.bin ${this.settings.iso_work}/isolinux/`, this.echo);
27
28
  // just fo x64 arch
@@ -10,6 +10,7 @@ import fs from 'fs';
10
10
  import path from 'node:path';
11
11
  import yaml from 'js-yaml';
12
12
  // functions
13
+ import { exec } from '../../lib/utils.js';
13
14
  import rexec from './rexec.js';
14
15
  import Utils from '../utils.js';
15
16
  // _dirname
@@ -42,16 +43,7 @@ export async function userCreateLive() {
42
43
  *
43
44
  */
44
45
  switch (this.familyId) {
45
- case 'debian': {
46
- cmds.push(await rexec(`chroot ${this.settings.work_dir.merged} usermod -aG sudo ${this.settings.config.user_opt}`, this.verbose));
47
- break;
48
- }
49
46
  case 'alpine': {
50
- cmds.push(await rexec(`chroot ${this.settings.work_dir.merged} usermod -aG cdrom ${this.settings.config.user_opt}`, this.verbose));
51
- cmds.push(await rexec(`chroot ${this.settings.work_dir.merged} usermod -aG games ${this.settings.config.user_opt}`, this.verbose));
52
- cmds.push(await rexec(`chroot ${this.settings.work_dir.merged} usermod -aG input ${this.settings.config.user_opt}`, this.verbose));
53
- cmds.push(await rexec(`chroot ${this.settings.work_dir.merged} usermod -aG users ${this.settings.config.user_opt}`, this.verbose));
54
- cmds.push(await rexec(`chroot ${this.settings.work_dir.merged} usermod -aG video ${this.settings.config.user_opt}`, this.verbose));
55
47
  cmds.push(await rexec(`chroot ${this.settings.work_dir.merged} usermod -aG wheel ${this.settings.config.user_opt}`, this.verbose));
56
48
  break;
57
49
  }
@@ -62,6 +54,10 @@ export async function userCreateLive() {
62
54
  cmds.push(await rexec(`chroot ${this.settings.work_dir.merged} gpasswd -a ${this.settings.config.user_opt} autologin`, this.verbose));
63
55
  break;
64
56
  }
57
+ case 'debian': {
58
+ cmds.push(await rexec(`chroot ${this.settings.work_dir.merged} usermod -aG sudo ${this.settings.config.user_opt}`, this.verbose));
59
+ break;
60
+ }
65
61
  case 'fedora': {
66
62
  cmds.push(await rexec(`chroot ${this.settings.work_dir.merged} usermod -aG wheel ${this.settings.config.user_opt}`, this.verbose));
67
63
  break;
@@ -71,10 +67,14 @@ export async function userCreateLive() {
71
67
  cmds.push(await rexec(`chroot ${this.settings.work_dir.merged} usermod -aG autologin ${this.settings.config.user_opt}`, this.verbose));
72
68
  break;
73
69
  }
70
+ case 'opensuse': {
71
+ cmds.push(await rexec(`chroot ${this.settings.work_dir.merged} usermod -aG wheel ${this.settings.config.user_opt}`, this.verbose));
72
+ break;
73
+ }
74
74
  // No default
75
75
  }
76
76
  /**
77
- * look to calamares/modules/users.yml for groups
77
+ * look to calamares/modules/users.conf for groups
78
78
  */
79
79
  let usersConf = '/etc/calamares/modules/users.conf';
80
80
  if (!fs.existsSync(usersConf)) {
@@ -83,7 +83,11 @@ export async function userCreateLive() {
83
83
  if (fs.existsSync(usersConf)) {
84
84
  const o = yaml.load(fs.readFileSync(usersConf, 'utf8'));
85
85
  for (const group of o.defaultGroups) {
86
- cmds.push(await rexec(`chroot ${this.settings.work_dir.merged} usermod -aG ${group} ${this.settings.config.user_opt}`, this.verbose));
86
+ const groupExists = await exec(`chroot ${this.settings.work_dir.merged} getent group ${group}`, { ignore: true });
87
+ if (groupExists.code == 0) {
88
+ cmds.push(await rexec(`chroot ${this.settings.work_dir.merged} usermod -aG ${group} ${this.settings.config.user_opt} ${this.toNull}`, this.verbose));
89
+ Utils.warning(`added ${this.settings.config.user_opt} to group ${group}`);
90
+ }
87
91
  }
88
92
  }
89
93
  else {
@@ -15,7 +15,7 @@ import { bindVfs, ubindVfs } from './ovary.d/bind-vfs.js';
15
15
  import { editLiveFs } from './ovary.d/edit-live-fs.js';
16
16
  import { makeSquashfs, addExclusion } from './ovary.d/make-squashfs.js';
17
17
  import { makeEfi } from './ovary.d/make-efi.js';
18
- import { xorrisoCommand } from './ovary.d/xorriso-commend.js';
18
+ import { xorrisoCommand } from './ovary.d/xorriso-command.js';
19
19
  import { createXdgAutostart } from './ovary.d/create-xdg-autostart.js';
20
20
  import { copied, merged, mergedAndOverlay } from './ovary.d/merged.js';
21
21
  import { makeIso } from './ovary.d/make-iso.js';
@@ -38,6 +38,7 @@ export default class Ovary {
38
38
  echo: {};
39
39
  familyId: string;
40
40
  distroId: string;
41
+ distroLike: string;
41
42
  genisoimage: boolean;
42
43
  incubator: Incubator;
43
44
  nest: string;
@@ -15,7 +15,7 @@ import { bindVfs, ubindVfs } from './ovary.d/bind-vfs.js';
15
15
  import { editLiveFs } from './ovary.d/edit-live-fs.js';
16
16
  import { makeSquashfs, addExclusion } from './ovary.d/make-squashfs.js';
17
17
  import { makeEfi } from './ovary.d/make-efi.js';
18
- import { xorrisoCommand } from './ovary.d/xorriso-commend.js';
18
+ import { xorrisoCommand } from './ovary.d/xorriso-command.js';
19
19
  import { createXdgAutostart } from './ovary.d/create-xdg-autostart.js';
20
20
  import { copied, merged, mergedAndOverlay } from './ovary.d/merged.js';
21
21
  import { makeIso } from './ovary.d/make-iso.js';
@@ -40,6 +40,7 @@ export default class Ovary {
40
40
  echo = {};
41
41
  familyId = '';
42
42
  distroId = '';
43
+ distroLike = '';
43
44
  genisoimage = false;
44
45
  incubator = {};
45
46
  nest = '';
@@ -15,8 +15,8 @@ import Utils from '../utils.js';
15
15
  export default class Alpine {
16
16
  static packs4calamares = [
17
17
  'calamares',
18
+ 'calamares-dev',
18
19
  'calamares-doc',
19
- 'calamares-extensions',
20
20
  'calamares-lang',
21
21
  'calamares-mod-bootloader',
22
22
  'calamares-mod-displaymanager',
@@ -26,21 +26,25 @@ export default class Alpine {
26
26
  'calamares-mod-grubcfg',
27
27
  'calamares-mod-hostinfo',
28
28
  'calamares-mod-hwclock',
29
- 'calamares-mod-interactiveterminal',
30
29
  'calamares-mod-keyboard',
31
30
  'calamares-mod-keyboardq',
32
31
  'calamares-mod-locale',
33
32
  'calamares-mod-localeq',
34
33
  'calamares-mod-luksbootkeyfile',
35
- 'calamares-mod-luksopenswaphookcfg',
34
+ 'calamares-mod-luksopenswaphookcfg-',
36
35
  'calamares-mod-machineid',
37
36
  'calamares-mod-mkinitfs',
38
37
  'calamares-mod-mount',
38
+ 'calamares-mod-netinstall',
39
39
  'calamares-mod-networkcfg',
40
+ 'calamares-mod-notesqml',
41
+ 'calamares-mod-oemid',
42
+ 'calamares-mod-packagechooser',
40
43
  'calamares-mod-packages',
41
44
  'calamares-mod-partition',
42
- 'calamares-mod-plasmalnf',
43
45
  'calamares-mod-plymouthcfg',
46
+ 'calamares-mod-preservefiles',
47
+ 'calamares-mod-rawfs',
44
48
  'calamares-mod-removeuser',
45
49
  'calamares-mod-services-openrc',
46
50
  'calamares-mod-shellprocess',
@@ -48,9 +52,8 @@ export default class Alpine {
48
52
  'calamares-mod-umount',
49
53
  'calamares-mod-unpackfs',
50
54
  'calamares-mod-users',
51
- 'calamares-mod-webview',
52
55
  'calamares-mod-welcome',
53
- 'calamares-mod-welcomeq'
56
+ 'calamares-mod-welcomeq',
54
57
  ];
55
58
  /**
56
59
  * Alpine: calamaresInstall
@@ -79,7 +82,9 @@ export default class Alpine {
79
82
  * calamaresPolicies
80
83
  */
81
84
  static async calamaresPolicies(verbose = false) {
82
- // nothing
85
+ const echo = Utils.setEcho(verbose);
86
+ const policyFile = '/usr/share/polkit-1/actions/com.github.calamares.calamares.policy';
87
+ await exec(`sed -i 's/auth_admin/yes/' ${policyFile}`, echo);
83
88
  }
84
89
  /**
85
90
  * Alpine: calamaresRemove
@@ -69,6 +69,7 @@ export default class Opensuse {
69
69
  let available = false;
70
70
  const cmd = `/usr/bin/zypper --not-installed-only ${packageName} | grep Package:`;
71
71
  const stdout = shx.exec(cmd, { silent: true }).stdout.trim();
72
+ // const stdout = (await exec(cmd, Utils.setEcho(false))).data.trim()
72
73
  if (stdout.includes(packageName)) {
73
74
  available = true;
74
75
  }
@@ -92,9 +93,9 @@ export default class Opensuse {
92
93
  */
93
94
  static packageIsInstalled(packageName) {
94
95
  let installed = false;
95
- const cmd = `/usr/bin/zypper search --installed-only ${packageName}`;
96
- const stdout = shx.exec(cmd, { silent: true }).stdout.trim();
97
- if (stdout.includes(packageName)) {
96
+ const cmd = `rpm -q ${packageName}`;
97
+ const code = shx.exec(cmd, { silent: true }).code;
98
+ if (code === 0) {
98
99
  installed = true;
99
100
  }
100
101
  return installed;
@@ -60,10 +60,7 @@ export default class Pacman {
60
60
  static async calamaresInstall(verbose = false) {
61
61
  if (this.isInstalledGui()) {
62
62
  const familyId = this.distro().familyId;
63
- if (familyId === 'aldos') {
64
- await Aldos.calamaresInstall(verbose);
65
- }
66
- else if (familyId === 'alpine') {
63
+ if (familyId === 'alpine') {
67
64
  await Alpine.calamaresInstall(verbose);
68
65
  }
69
66
  else if (familyId === 'archlinux') {
@@ -96,10 +93,7 @@ export default class Pacman {
96
93
  */
97
94
  static async calamaresPolicies(verbose = false) {
98
95
  const familyId = this.distro().familyId;
99
- if (familyId === 'aldos') {
100
- await Aldos.calamaresPolicies(verbose);
101
- }
102
- else if (familyId === 'alpine') {
96
+ if (familyId === 'alpine') {
103
97
  await Alpine.calamaresPolicies(verbose);
104
98
  }
105
99
  else if (familyId === 'archlinux') {
@@ -728,10 +722,7 @@ export default class Pacman {
728
722
  static packageIsInstalled(packageName) {
729
723
  let installed = false;
730
724
  const familyId = this.distro().familyId;
731
- if (familyId === 'aldos') {
732
- installed = Aldos.packageIsInstalled(packageName);
733
- }
734
- else if (familyId === 'alpine') {
725
+ if (familyId === 'alpine') {
735
726
  installed = Alpine.packageIsInstalled(packageName);
736
727
  }
737
728
  else if (familyId === 'archlinux') {
@@ -5,7 +5,8 @@
5
5
  * email: piero.proietti@gmail.com
6
6
  * license: MIT
7
7
  */
8
- import { IDhcpOptions, ITftpOptions } from '../interfaces/i-pxe.js';
8
+ import { IDhcpOptions, ITftpOptions } from '../dhcpd-proxy/interfaces/i-pxe.js';
9
+ import Distro from './distro.js';
9
10
  import Settings from './settings.js';
10
11
  /**
11
12
  * Pxe:
@@ -18,6 +19,7 @@ export default class Pxe {
18
19
  isos: string[];
19
20
  nest: string;
20
21
  pxeRoot: string;
22
+ distro: Distro;
21
23
  settings: Settings;
22
24
  verbose: boolean;
23
25
  vmlinuz: string;
@@ -27,6 +29,12 @@ export default class Pxe {
27
29
  * @param pxeRoot
28
30
  */
29
31
  constructor(nest?: string, pxeRoot?: string);
32
+ /**
33
+ * fertilization()
34
+ *
35
+ * cuckoo's nest
36
+ */
37
+ fertilization(): Promise<void>;
30
38
  /**
31
39
  * build
32
40
  */
@@ -35,16 +43,9 @@ export default class Pxe {
35
43
  *
36
44
  * @param dhcpOptions
37
45
  */
38
- dhcpStart(dhcpOptions: IDhcpOptions): void;
39
- /**
40
- * fertilization()
41
- *
42
- * cuckoo's nest
43
- */
44
- fertilization(): Promise<void>;
46
+ dhcpdStart(dhcpOptions: IDhcpOptions): void;
45
47
  /**
46
48
  * start http server for images
47
- *
48
49
  */
49
50
  httpStart(): Promise<void>;
50
51
  /**
@@ -52,23 +53,25 @@ export default class Pxe {
52
53
  */
53
54
  tftpStart(tftpOptions: ITftpOptions): Promise<void>;
54
55
  /**
55
- * Il resto PRIVATO
56
+ * configure PXE http server
56
57
  */
58
+ private http;
57
59
  /**
58
60
  * configure PXE bios
59
61
  */
60
62
  private bios;
61
63
  /**
62
- * configure PXE http server
63
- */
64
- private http;
64
+ * uefi: uso ipxe solo per chainload di grub
65
+ */
66
+ private uefi;
65
67
  /**
66
- *
68
+ * grubCfg
69
+ * @param familyId
67
70
  */
68
- private ipxe;
71
+ private grubCfg;
69
72
  /**
70
- *
71
- * @param cmd
73
+ * Metodo helper per ottenere i parametri corretti per GRUB
74
+ * in base alla famiglia della distribuzione.
72
75
  */
73
- private tryCatch;
76
+ private _getKernelParameters;
74
77
  }