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.
- package/.oclif.manifest.json +1 -1
- package/README.md +55 -60
- package/assets/calamares/install-system.sh +2 -1
- package/bootloaders/README.md +22 -0
- package/bootloaders/grub/x86_64-efi/acpi.mod +0 -0
- package/bootloaders/grub/x86_64-efi/adler32.mod +0 -0
- package/bootloaders/grub/x86_64-efi/affs.mod +0 -0
- package/bootloaders/grub/x86_64-efi/afs.mod +0 -0
- package/bootloaders/grub/x86_64-efi/afsplitter.mod +0 -0
- package/bootloaders/grub/x86_64-efi/ahci.mod +0 -0
- package/bootloaders/grub/x86_64-efi/all_video.mod +0 -0
- package/bootloaders/grub/x86_64-efi/aout.mod +0 -0
- package/bootloaders/grub/x86_64-efi/appleldr.mod +0 -0
- package/bootloaders/grub/x86_64-efi/archelp.mod +0 -0
- package/bootloaders/grub/x86_64-efi/at_keyboard.mod +0 -0
- package/bootloaders/grub/x86_64-efi/ata.mod +0 -0
- package/bootloaders/grub/x86_64-efi/backtrace.mod +0 -0
- package/bootloaders/grub/x86_64-efi/bfs.mod +0 -0
- package/bootloaders/grub/x86_64-efi/bitmap.mod +0 -0
- package/bootloaders/grub/x86_64-efi/bitmap_scale.mod +0 -0
- package/bootloaders/grub/x86_64-efi/blocklist.mod +0 -0
- package/bootloaders/grub/x86_64-efi/boot.mod +0 -0
- package/bootloaders/grub/x86_64-efi/bsd.mod +0 -0
- package/bootloaders/grub/x86_64-efi/bswap_test.mod +0 -0
- package/bootloaders/grub/x86_64-efi/btrfs.mod +0 -0
- package/bootloaders/grub/x86_64-efi/bufio.mod +0 -0
- package/bootloaders/grub/x86_64-efi/cat.mod +0 -0
- package/bootloaders/grub/x86_64-efi/cbfs.mod +0 -0
- package/bootloaders/grub/x86_64-efi/cbls.mod +0 -0
- package/bootloaders/grub/x86_64-efi/cbmemc.mod +0 -0
- package/bootloaders/grub/x86_64-efi/cbtable.mod +0 -0
- package/bootloaders/grub/x86_64-efi/cbtime.mod +0 -0
- package/bootloaders/grub/x86_64-efi/chain.mod +0 -0
- package/bootloaders/grub/x86_64-efi/cmdline_cat_test.mod +0 -0
- package/bootloaders/grub/x86_64-efi/cmp.mod +0 -0
- package/bootloaders/grub/x86_64-efi/cmp_test.mod +0 -0
- package/bootloaders/grub/x86_64-efi/command.lst +194 -0
- package/bootloaders/grub/x86_64-efi/config.h +69 -0
- package/bootloaders/grub/x86_64-efi/configfile.mod +0 -0
- package/bootloaders/grub/x86_64-efi/cpio.mod +0 -0
- package/bootloaders/grub/x86_64-efi/cpio_be.mod +0 -0
- package/bootloaders/grub/x86_64-efi/cpuid.mod +0 -0
- package/bootloaders/grub/x86_64-efi/crc64.mod +0 -0
- package/bootloaders/grub/x86_64-efi/crypto.lst +45 -0
- package/bootloaders/grub/x86_64-efi/crypto.mod +0 -0
- package/bootloaders/grub/x86_64-efi/cryptodisk.mod +0 -0
- package/bootloaders/grub/x86_64-efi/cs5536.mod +0 -0
- package/bootloaders/grub/x86_64-efi/ctz_test.mod +0 -0
- package/bootloaders/grub/x86_64-efi/date.mod +0 -0
- package/bootloaders/grub/x86_64-efi/datehook.mod +0 -0
- package/bootloaders/grub/x86_64-efi/datetime.mod +0 -0
- package/bootloaders/grub/x86_64-efi/disk.mod +0 -0
- package/bootloaders/grub/x86_64-efi/diskfilter.mod +0 -0
- package/bootloaders/grub/x86_64-efi/div.mod +0 -0
- package/bootloaders/grub/x86_64-efi/div_test.mod +0 -0
- package/bootloaders/grub/x86_64-efi/dm_nv.mod +0 -0
- package/bootloaders/grub/x86_64-efi/echo.mod +0 -0
- package/bootloaders/grub/x86_64-efi/efi_gop.mod +0 -0
- package/bootloaders/grub/x86_64-efi/efi_uga.mod +0 -0
- package/bootloaders/grub/x86_64-efi/efifwsetup.mod +0 -0
- package/bootloaders/grub/x86_64-efi/efinet.mod +0 -0
- package/bootloaders/grub/x86_64-efi/ehci.mod +0 -0
- package/bootloaders/grub/x86_64-efi/elf.mod +0 -0
- package/bootloaders/grub/x86_64-efi/eval.mod +0 -0
- package/bootloaders/grub/x86_64-efi/exfat.mod +0 -0
- package/bootloaders/grub/x86_64-efi/exfctest.mod +0 -0
- package/bootloaders/grub/x86_64-efi/ext2.mod +0 -0
- package/bootloaders/grub/x86_64-efi/extcmd.mod +0 -0
- package/bootloaders/grub/x86_64-efi/f2fs.mod +0 -0
- package/bootloaders/grub/x86_64-efi/fat.mod +0 -0
- package/bootloaders/grub/x86_64-efi/fdt.lst +0 -0
- package/bootloaders/grub/x86_64-efi/file.mod +0 -0
- package/bootloaders/grub/x86_64-efi/fixvideo.mod +0 -0
- package/bootloaders/grub/x86_64-efi/font.mod +0 -0
- package/bootloaders/grub/x86_64-efi/fs.lst +37 -0
- package/bootloaders/grub/x86_64-efi/fshelp.mod +0 -0
- package/bootloaders/grub/x86_64-efi/functional_test.mod +0 -0
- package/bootloaders/grub/x86_64-efi/gcry_arcfour.mod +0 -0
- package/bootloaders/grub/x86_64-efi/gcry_blowfish.mod +0 -0
- package/bootloaders/grub/x86_64-efi/gcry_camellia.mod +0 -0
- package/bootloaders/grub/x86_64-efi/gcry_cast5.mod +0 -0
- package/bootloaders/grub/x86_64-efi/gcry_crc.mod +0 -0
- package/bootloaders/grub/x86_64-efi/gcry_des.mod +0 -0
- package/bootloaders/grub/x86_64-efi/gcry_dsa.mod +0 -0
- package/bootloaders/grub/x86_64-efi/gcry_idea.mod +0 -0
- package/bootloaders/grub/x86_64-efi/gcry_md4.mod +0 -0
- package/bootloaders/grub/x86_64-efi/gcry_md5.mod +0 -0
- package/bootloaders/grub/x86_64-efi/gcry_rfc2268.mod +0 -0
- package/bootloaders/grub/x86_64-efi/gcry_rijndael.mod +0 -0
- package/bootloaders/grub/x86_64-efi/gcry_rmd160.mod +0 -0
- package/bootloaders/grub/x86_64-efi/gcry_rsa.mod +0 -0
- package/bootloaders/grub/x86_64-efi/gcry_seed.mod +0 -0
- package/bootloaders/grub/x86_64-efi/gcry_serpent.mod +0 -0
- package/bootloaders/grub/x86_64-efi/gcry_sha1.mod +0 -0
- package/bootloaders/grub/x86_64-efi/gcry_sha256.mod +0 -0
- package/bootloaders/grub/x86_64-efi/gcry_sha512.mod +0 -0
- package/bootloaders/grub/x86_64-efi/gcry_tiger.mod +0 -0
- package/bootloaders/grub/x86_64-efi/gcry_twofish.mod +0 -0
- package/bootloaders/grub/x86_64-efi/gcry_whirlpool.mod +0 -0
- package/bootloaders/grub/x86_64-efi/geli.mod +0 -0
- package/bootloaders/grub/x86_64-efi/gettext.mod +0 -0
- package/bootloaders/grub/x86_64-efi/gfxmenu.mod +0 -0
- package/bootloaders/grub/x86_64-efi/gfxterm.mod +0 -0
- package/bootloaders/grub/x86_64-efi/gfxterm_background.mod +0 -0
- package/bootloaders/grub/x86_64-efi/gfxterm_menu.mod +0 -0
- package/bootloaders/grub/x86_64-efi/gptsync.mod +0 -0
- package/bootloaders/grub/x86_64-efi/gzio.mod +0 -0
- package/bootloaders/grub/x86_64-efi/halt.mod +0 -0
- package/bootloaders/grub/x86_64-efi/hashsum.mod +0 -0
- package/bootloaders/grub/x86_64-efi/hdparm.mod +0 -0
- package/bootloaders/grub/x86_64-efi/hello.mod +0 -0
- package/bootloaders/grub/x86_64-efi/help.mod +0 -0
- package/bootloaders/grub/x86_64-efi/hexdump.mod +0 -0
- package/bootloaders/grub/x86_64-efi/hfs.mod +0 -0
- package/bootloaders/grub/x86_64-efi/hfsplus.mod +0 -0
- package/bootloaders/grub/x86_64-efi/hfspluscomp.mod +0 -0
- package/bootloaders/grub/x86_64-efi/http.mod +0 -0
- package/bootloaders/grub/x86_64-efi/iorw.mod +0 -0
- package/bootloaders/grub/x86_64-efi/iso9660.mod +0 -0
- package/bootloaders/grub/x86_64-efi/jfs.mod +0 -0
- package/bootloaders/grub/x86_64-efi/jpeg.mod +0 -0
- package/bootloaders/grub/x86_64-efi/json.mod +0 -0
- package/bootloaders/grub/x86_64-efi/kernel.img +0 -0
- package/bootloaders/grub/x86_64-efi/keylayouts.mod +0 -0
- package/bootloaders/grub/x86_64-efi/keystatus.mod +0 -0
- package/bootloaders/grub/x86_64-efi/ldm.mod +0 -0
- package/bootloaders/grub/x86_64-efi/legacy_password_test.mod +0 -0
- package/bootloaders/grub/x86_64-efi/legacycfg.mod +0 -0
- package/bootloaders/grub/x86_64-efi/linux.mod +0 -0
- package/bootloaders/grub/x86_64-efi/linux16.mod +0 -0
- package/bootloaders/grub/x86_64-efi/linuxefi.mod +0 -0
- package/bootloaders/grub/x86_64-efi/loadbios.mod +0 -0
- package/bootloaders/grub/x86_64-efi/loadenv.mod +0 -0
- package/bootloaders/grub/x86_64-efi/loopback.mod +0 -0
- package/bootloaders/grub/x86_64-efi/ls.mod +0 -0
- package/bootloaders/grub/x86_64-efi/lsacpi.mod +0 -0
- package/bootloaders/grub/x86_64-efi/lsefi.mod +0 -0
- package/bootloaders/grub/x86_64-efi/lsefimmap.mod +0 -0
- package/bootloaders/grub/x86_64-efi/lsefisystab.mod +0 -0
- package/bootloaders/grub/x86_64-efi/lsmmap.mod +0 -0
- package/bootloaders/grub/x86_64-efi/lspci.mod +0 -0
- package/bootloaders/grub/x86_64-efi/lssal.mod +0 -0
- package/bootloaders/grub/x86_64-efi/luks.mod +0 -0
- package/bootloaders/grub/x86_64-efi/luks2.mod +0 -0
- package/bootloaders/grub/x86_64-efi/lvm.mod +0 -0
- package/bootloaders/grub/x86_64-efi/lzopio.mod +0 -0
- package/bootloaders/grub/x86_64-efi/macbless.mod +0 -0
- package/bootloaders/grub/x86_64-efi/macho.mod +0 -0
- package/bootloaders/grub/x86_64-efi/mdraid09.mod +0 -0
- package/bootloaders/grub/x86_64-efi/mdraid09_be.mod +0 -0
- package/bootloaders/grub/x86_64-efi/mdraid1x.mod +0 -0
- package/bootloaders/grub/x86_64-efi/memdisk.mod +0 -0
- package/bootloaders/grub/x86_64-efi/memrw.mod +0 -0
- package/bootloaders/grub/x86_64-efi/minicmd.mod +0 -0
- package/bootloaders/grub/x86_64-efi/minix.mod +0 -0
- package/bootloaders/grub/x86_64-efi/minix2.mod +0 -0
- package/bootloaders/grub/x86_64-efi/minix2_be.mod +0 -0
- package/bootloaders/grub/x86_64-efi/minix3.mod +0 -0
- package/bootloaders/grub/x86_64-efi/minix3_be.mod +0 -0
- package/bootloaders/grub/x86_64-efi/minix_be.mod +0 -0
- package/bootloaders/grub/x86_64-efi/mmap.mod +0 -0
- package/bootloaders/grub/x86_64-efi/moddep.lst +267 -0
- package/bootloaders/grub/x86_64-efi/modinfo.sh +40 -0
- package/bootloaders/grub/x86_64-efi/monolithic/gcdx64.efi +0 -0
- package/bootloaders/grub/x86_64-efi/monolithic/grubnetx64-installer.efi +0 -0
- package/bootloaders/grub/x86_64-efi/monolithic/grubnetx64.efi +0 -0
- package/bootloaders/grub/x86_64-efi/monolithic/grubx64.efi +0 -0
- package/bootloaders/grub/x86_64-efi/morse.mod +0 -0
- package/bootloaders/grub/x86_64-efi/mpi.mod +0 -0
- package/bootloaders/grub/x86_64-efi/msdospart.mod +0 -0
- package/bootloaders/grub/x86_64-efi/mul_test.mod +0 -0
- package/bootloaders/grub/x86_64-efi/multiboot.mod +0 -0
- package/bootloaders/grub/x86_64-efi/multiboot2.mod +0 -0
- package/bootloaders/grub/x86_64-efi/nativedisk.mod +0 -0
- package/bootloaders/grub/x86_64-efi/net.mod +0 -0
- package/bootloaders/grub/x86_64-efi/newc.mod +0 -0
- package/bootloaders/grub/x86_64-efi/nilfs2.mod +0 -0
- package/bootloaders/grub/x86_64-efi/normal.mod +0 -0
- package/bootloaders/grub/x86_64-efi/ntfs.mod +0 -0
- package/bootloaders/grub/x86_64-efi/ntfscomp.mod +0 -0
- package/bootloaders/grub/x86_64-efi/odc.mod +0 -0
- package/bootloaders/grub/x86_64-efi/offsetio.mod +0 -0
- package/bootloaders/grub/x86_64-efi/ohci.mod +0 -0
- package/bootloaders/grub/x86_64-efi/part_acorn.mod +0 -0
- package/bootloaders/grub/x86_64-efi/part_amiga.mod +0 -0
- package/bootloaders/grub/x86_64-efi/part_apple.mod +0 -0
- package/bootloaders/grub/x86_64-efi/part_bsd.mod +0 -0
- package/bootloaders/grub/x86_64-efi/part_dfly.mod +0 -0
- package/bootloaders/grub/x86_64-efi/part_dvh.mod +0 -0
- package/bootloaders/grub/x86_64-efi/part_gpt.mod +0 -0
- package/bootloaders/grub/x86_64-efi/part_msdos.mod +0 -0
- package/bootloaders/grub/x86_64-efi/part_plan.mod +0 -0
- package/bootloaders/grub/x86_64-efi/part_sun.mod +0 -0
- package/bootloaders/grub/x86_64-efi/part_sunpc.mod +0 -0
- package/bootloaders/grub/x86_64-efi/partmap.lst +11 -0
- package/bootloaders/grub/x86_64-efi/parttool.lst +1 -0
- package/bootloaders/grub/x86_64-efi/parttool.mod +0 -0
- package/bootloaders/grub/x86_64-efi/password.mod +0 -0
- package/bootloaders/grub/x86_64-efi/password_pbkdf2.mod +0 -0
- package/bootloaders/grub/x86_64-efi/pata.mod +0 -0
- package/bootloaders/grub/x86_64-efi/pbkdf2.mod +0 -0
- package/bootloaders/grub/x86_64-efi/pbkdf2_test.mod +0 -0
- package/bootloaders/grub/x86_64-efi/pcidump.mod +0 -0
- package/bootloaders/grub/x86_64-efi/pgp.mod +0 -0
- package/bootloaders/grub/x86_64-efi/play.mod +0 -0
- package/bootloaders/grub/x86_64-efi/png.mod +0 -0
- package/bootloaders/grub/x86_64-efi/priority_queue.mod +0 -0
- package/bootloaders/grub/x86_64-efi/probe.mod +0 -0
- package/bootloaders/grub/x86_64-efi/procfs.mod +0 -0
- package/bootloaders/grub/x86_64-efi/progress.mod +0 -0
- package/bootloaders/grub/x86_64-efi/raid5rec.mod +0 -0
- package/bootloaders/grub/x86_64-efi/raid6rec.mod +0 -0
- package/bootloaders/grub/x86_64-efi/random.mod +0 -0
- package/bootloaders/grub/x86_64-efi/rdmsr.mod +0 -0
- package/bootloaders/grub/x86_64-efi/read.mod +0 -0
- package/bootloaders/grub/x86_64-efi/reboot.mod +0 -0
- package/bootloaders/grub/x86_64-efi/regexp.mod +0 -0
- package/bootloaders/grub/x86_64-efi/reiserfs.mod +0 -0
- package/bootloaders/grub/x86_64-efi/relocator.mod +0 -0
- package/bootloaders/grub/x86_64-efi/romfs.mod +0 -0
- package/bootloaders/grub/x86_64-efi/scsi.mod +0 -0
- package/bootloaders/grub/x86_64-efi/search.mod +0 -0
- package/bootloaders/grub/x86_64-efi/search_fs_file.mod +0 -0
- package/bootloaders/grub/x86_64-efi/search_fs_uuid.mod +0 -0
- package/bootloaders/grub/x86_64-efi/search_label.mod +0 -0
- package/bootloaders/grub/x86_64-efi/serial.mod +0 -0
- package/bootloaders/grub/x86_64-efi/setjmp.mod +0 -0
- package/bootloaders/grub/x86_64-efi/setjmp_test.mod +0 -0
- package/bootloaders/grub/x86_64-efi/setpci.mod +0 -0
- package/bootloaders/grub/x86_64-efi/sfs.mod +0 -0
- package/bootloaders/grub/x86_64-efi/shift_test.mod +0 -0
- package/bootloaders/grub/x86_64-efi/signature_test.mod +0 -0
- package/bootloaders/grub/x86_64-efi/sleep.mod +0 -0
- package/bootloaders/grub/x86_64-efi/sleep_test.mod +0 -0
- package/bootloaders/grub/x86_64-efi/smbios.mod +0 -0
- package/bootloaders/grub/x86_64-efi/spkmodem.mod +0 -0
- package/bootloaders/grub/x86_64-efi/squash4.mod +0 -0
- package/bootloaders/grub/x86_64-efi/strtoull_test.mod +0 -0
- package/bootloaders/grub/x86_64-efi/syslinuxcfg.mod +0 -0
- package/bootloaders/grub/x86_64-efi/tar.mod +0 -0
- package/bootloaders/grub/x86_64-efi/terminal.lst +9 -0
- package/bootloaders/grub/x86_64-efi/terminal.mod +0 -0
- package/bootloaders/grub/x86_64-efi/terminfo.mod +0 -0
- package/bootloaders/grub/x86_64-efi/test.mod +0 -0
- package/bootloaders/grub/x86_64-efi/test_blockarg.mod +0 -0
- package/bootloaders/grub/x86_64-efi/testload.mod +0 -0
- package/bootloaders/grub/x86_64-efi/testspeed.mod +0 -0
- package/bootloaders/grub/x86_64-efi/tftp.mod +0 -0
- package/bootloaders/grub/x86_64-efi/tga.mod +0 -0
- package/bootloaders/grub/x86_64-efi/time.mod +0 -0
- package/bootloaders/grub/x86_64-efi/tpm.mod +0 -0
- package/bootloaders/grub/x86_64-efi/tr.mod +0 -0
- package/bootloaders/grub/x86_64-efi/trig.mod +0 -0
- package/bootloaders/grub/x86_64-efi/true.mod +0 -0
- package/bootloaders/grub/x86_64-efi/udf.mod +0 -0
- package/bootloaders/grub/x86_64-efi/ufs1.mod +0 -0
- package/bootloaders/grub/x86_64-efi/ufs1_be.mod +0 -0
- package/bootloaders/grub/x86_64-efi/ufs2.mod +0 -0
- package/bootloaders/grub/x86_64-efi/uhci.mod +0 -0
- package/bootloaders/grub/x86_64-efi/usb.mod +0 -0
- package/bootloaders/grub/x86_64-efi/usb_keyboard.mod +0 -0
- package/bootloaders/grub/x86_64-efi/usbms.mod +0 -0
- package/bootloaders/grub/x86_64-efi/usbserial_common.mod +0 -0
- package/bootloaders/grub/x86_64-efi/usbserial_ftdi.mod +0 -0
- package/bootloaders/grub/x86_64-efi/usbserial_pl2303.mod +0 -0
- package/bootloaders/grub/x86_64-efi/usbserial_usbdebug.mod +0 -0
- package/bootloaders/grub/x86_64-efi/usbtest.mod +0 -0
- package/bootloaders/grub/x86_64-efi/video.lst +4 -0
- package/bootloaders/grub/x86_64-efi/video.mod +0 -0
- package/bootloaders/grub/x86_64-efi/video_bochs.mod +0 -0
- package/bootloaders/grub/x86_64-efi/video_cirrus.mod +0 -0
- package/bootloaders/grub/x86_64-efi/video_colors.mod +0 -0
- package/bootloaders/grub/x86_64-efi/video_fb.mod +0 -0
- package/bootloaders/grub/x86_64-efi/videoinfo.mod +0 -0
- package/bootloaders/grub/x86_64-efi/videotest.mod +0 -0
- package/bootloaders/grub/x86_64-efi/videotest_checksum.mod +0 -0
- package/bootloaders/grub/x86_64-efi/wrmsr.mod +0 -0
- package/bootloaders/grub/x86_64-efi/xfs.mod +0 -0
- package/bootloaders/grub/x86_64-efi/xnu.mod +0 -0
- package/bootloaders/grub/x86_64-efi/xnu_uuid.mod +0 -0
- package/bootloaders/grub/x86_64-efi/xnu_uuid_test.mod +0 -0
- package/bootloaders/grub/x86_64-efi/xzio.mod +0 -0
- package/bootloaders/grub/x86_64-efi/zfs.mod +0 -0
- package/bootloaders/grub/x86_64-efi/zfscrypt.mod +0 -0
- package/bootloaders/grub/x86_64-efi/zfsinfo.mod +0 -0
- package/bootloaders/grub/x86_64-efi/zstd.mod +0 -0
- package/bootloaders/grubnetx64.efi.signed +0 -0
- package/bootloaders/grubx64.efi +0 -0
- package/bootloaders/grubx64.efi.signed +0 -0
- package/bootloaders/ipxe.pxe +0 -0
- package/bootloaders/shimx64.efi +0 -0
- package/bootloaders/shimx64.efi.signed +0 -0
- package/bootloaders/undionly.kpxe +0 -0
- package/conf/derivatives.yaml +5 -1
- package/conf/distros/alpine/calamares/modules/packages.yml +1 -1
- package/conf/distros/alpine/calamares/settings.yml +16 -29
- package/conf/distros/buster/calamares/modules/fstab.yml +1 -1
- package/conf/distros/buster/calamares/modules/mount.yml +4 -12
- package/conf/distros/fedora/calamares/modules/bootloader.yml +46 -17
- package/conf/distros/fedora/calamares/modules/fstab.yml +36 -11
- package/conf/distros/fedora/calamares/modules/mount.yml +101 -39
- package/conf/distros/fedora/calamares/modules/partition.yml +173 -23
- package/conf/distros/fedora/calamares/modules/users.yml +7 -9
- package/conf/distros/openmamba/calamares/settings.yml +0 -2
- package/conf/distros/opensuse/calamares/modules/bootloader.yml +46 -17
- package/conf/distros/opensuse/calamares/modules/displaymanager.yml +9 -5
- package/conf/distros/opensuse/calamares/modules/finished.yml +1 -1
- package/conf/distros/opensuse/calamares/modules/fstab.yml +36 -11
- package/conf/distros/opensuse/calamares/modules/grubcfg.yml +51 -0
- package/conf/distros/opensuse/calamares/modules/mount.yml +104 -39
- package/conf/distros/opensuse/calamares/modules/packages.yml +3 -3
- package/conf/distros/opensuse/calamares/modules/partition.yml +30 -237
- package/conf/distros/opensuse/calamares/modules/removeuser.yml +1 -14
- package/conf/distros/opensuse/calamares/modules/unpackfs.yml +0 -1
- package/conf/distros/opensuse/calamares/modules/users.yml +296 -16
- package/conf/distros/opensuse/calamares/modules/welcome.yml +91 -16
- package/conf/distros/opensuse/calamares/settings.yml +34 -120
- package/conf/distros/opensuse/calamares/zstd2lzo.sh +2 -0
- package/conf/distros/rolling/calamares/modules/shellprocess_sync.yml +5 -0
- package/conf/distros/rolling/calamares/settings.yml +4 -5
- package/dist/classes/bleach.d.ts +5 -0
- package/dist/classes/bleach.js +13 -0
- package/dist/classes/cli-autologin.js +14 -9
- package/dist/classes/daddy.js +9 -1
- package/dist/classes/distro.js +0 -9
- package/dist/classes/incubation/incubator.d/fedora.d.ts +32 -0
- package/dist/classes/incubation/incubator.d/fedora.js +79 -0
- package/dist/classes/incubation/incubator.d/opensuse.js +4 -6
- package/dist/classes/incubation/incubator.d/rolling.js +1 -3
- package/dist/classes/incubation/incubator.js +6 -11
- package/dist/classes/ovary.d/fertilization.js +1 -0
- package/dist/classes/ovary.d/initrd.js +39 -10
- package/dist/classes/ovary.d/make-dot-disk.js +21 -11
- package/dist/classes/ovary.d/make-efi.d.ts +5 -1
- package/dist/classes/ovary.d/make-efi.js +60 -118
- package/dist/classes/ovary.d/merged.d.ts +1 -1
- package/dist/classes/ovary.d/merged.js +3 -2
- package/dist/classes/ovary.d/produce.js +7 -6
- package/dist/classes/ovary.d/syslinux.js +2 -1
- package/dist/classes/ovary.d/user-create-live.js +15 -11
- package/dist/classes/ovary.d.ts +2 -1
- package/dist/classes/ovary.js +2 -1
- package/dist/classes/pacman.d/alpine.js +12 -7
- package/dist/classes/pacman.d/opensuse.js +4 -3
- package/dist/classes/pacman.js +3 -12
- package/dist/classes/pxe.d.ts +21 -18
- package/dist/classes/pxe.js +194 -257
- package/dist/classes/tailor.js +69 -33
- package/dist/classes/utils.d/filesystem.js +2 -0
- package/dist/classes/utils.d/kernel.js +12 -2
- package/dist/classes/utils.d/snapshot.js +1 -1
- package/dist/classes/utils.d/system.js +2 -2
- package/dist/commands/cuckoo.js +4 -6
- package/dist/commands/export/pkg.js +28 -12
- package/dist/commands/wardrobe/wear.js +1 -1
- package/dist/dhcpd-proxy/classes/packet.d.ts +36 -0
- package/dist/dhcpd-proxy/classes/packet.js +124 -0
- package/dist/dhcpd-proxy/index.d.ts +4 -0
- package/dist/dhcpd-proxy/index.js +4 -0
- package/dist/dhcpd-proxy/interfaces/i-pxe.d.ts +45 -0
- package/dist/dhcpd-proxy/interfaces/i-pxe.js +1 -0
- package/dist/dhcpd-proxy/lib/packet/converters.d.ts +11 -0
- package/dist/dhcpd-proxy/lib/packet/converters.js +395 -0
- package/dist/dhcpd-proxy/lib/packet/message-types.d.ts +10 -0
- package/dist/dhcpd-proxy/lib/packet/message-types.js +12 -0
- package/dist/dhcpd-proxy/lib/packet/options.d.ts +8 -0
- package/dist/dhcpd-proxy/lib/packet/options.js +264 -0
- package/dist/dhcpd-proxy/lib/sprintf.d.ts +6 -0
- package/dist/dhcpd-proxy/lib/sprintf.js +130 -0
- package/dist/dhcpd-proxy/lib/utils.d.ts +126 -0
- package/dist/dhcpd-proxy/lib/utils.js +255 -0
- package/dist/dhcpd-proxy/simple-proxy.d.ts +11 -0
- package/dist/dhcpd-proxy/simple-proxy.js +118 -0
- package/dist/interfaces/i-pxe.d.ts +16 -16
- package/dist/krill/classes/sequence.d/add_user.d.ts +3 -3
- package/dist/krill/classes/sequence.d/add_user.js +34 -29
- package/dist/krill/classes/sequence.d/bootloader_config.js +3 -26
- package/dist/krill/classes/sequence.d/fstab.js +10 -22
- package/dist/krill/classes/sequence.d/grubcfg.js +5 -3
- package/dist/krill/classes/sequence.d/mkfs.d.ts +1 -1
- package/dist/krill/classes/sequence.d/mkfs.js +10 -11
- package/dist/krill/classes/sequence.d/partition.d/bios_standard.d.ts +3 -4
- package/dist/krill/classes/sequence.d/partition.d/bios_standard.js +31 -16
- package/dist/krill/classes/sequence.d/partition.d/uefi_standard.js +0 -1
- package/dist/krill/lib/select_filesystem_type.js +2 -1
- package/dist/lib/utils.d.ts +2 -25
- package/dist/lib/utils.js +4 -27
- package/dist/penguins-eggs_25.7.10-1-linux-x64.tar.gz +0 -0
- package/dracut/README.md +14 -0
- package/dracut/dracut.conf +3 -3
- package/dracut/dracut.conf.d/10-persistent_policy.conf +1 -0
- package/dracut/dracut.conf.d/{01-live.conf → 50-live.conf} +3 -2
- package/mkinitcpio/arch/live.conf +3 -2
- package/mkinitcpio/manjaro/live.conf +1 -1
- package/mkinitfs/README.md +10 -49
- package/mkinitfs/live.conf +2 -0
- package/package.json +30 -28
- package/pods/ci/minimal/opensuse-container2host.sh +1 -1
- package/scripts/99clean +42 -0
- package/conf/distros/aldos/calamares/modules/bootloader.yml +0 -85
- package/conf/distros/aldos/calamares/modules/displaymanager.yml +0 -22
- package/conf/distros/aldos/calamares/modules/finished.yml +0 -5
- package/conf/distros/aldos/calamares/modules/fstab.yml +0 -12
- package/conf/distros/aldos/calamares/modules/locale.yml +0 -97
- package/conf/distros/aldos/calamares/modules/luksopenswaphookcfg.yml +0 -5
- package/conf/distros/aldos/calamares/modules/machineid.yml +0 -17
- package/conf/distros/aldos/calamares/modules/mount.yml +0 -56
- package/conf/distros/aldos/calamares/modules/packages.yml +0 -6
- package/conf/distros/aldos/calamares/modules/partition.yml +0 -242
- package/conf/distros/aldos/calamares/modules/removeuser.yml +0 -15
- package/conf/distros/aldos/calamares/modules/unpackfs.yml +0 -6
- package/conf/distros/aldos/calamares/modules/users.yml +0 -19
- package/conf/distros/aldos/calamares/modules/welcome.yml +0 -19
- package/conf/distros/aldos/calamares/settings.yml +0 -124
- package/conf/distros/fedora/calamares/modules/bootloader.conf +0 -85
- package/conf/distros/opensuse/calamares/modules/bootloader.conf +0 -86
- package/conf/distros/opensuse/calamares/modules/locale.yml +0 -98
- package/conf/distros/opensuse/calamares/modules/luksopenswaphookcfg.yml +0 -5
- package/conf/distros/opensuse/calamares/modules/machineid.yml +0 -17
- package/conf/distros/rolling/calamares/modules/shellprocess_removelink.yml +0 -8
- package/dist/index_old.d.ts +0 -8
- package/dist/index_old.js +0 -8
- package/dist/penguins-eggs_10.1.1-0_amd64.deb +0 -0
- package/dist/penguins-eggs_10.1.1-0_amd64.deb.sha256 +0 -1
- package/dracut/sidecar.sh +0 -19
- package/ipxe/ipxe.efi +0 -0
- package/mkinitfs/initramfs-init.in +0 -1051
- package/mkinitfs/sidecar.sh +0 -52
- /package/{syslinux → bootloaders/syslinux}/README.md +0 -0
- /package/{syslinux → bootloaders/syslinux}/chain.c32 +0 -0
- /package/{syslinux → bootloaders/syslinux}/isohdpfx.bin +0 -0
- /package/{syslinux → bootloaders/syslinux}/isolinux.bin +0 -0
- /package/{syslinux → bootloaders/syslinux}/ldlinux.c32 +0 -0
- /package/{syslinux → bootloaders/syslinux}/libcom32.c32 +0 -0
- /package/{syslinux → bootloaders/syslinux}/libutil.c32 +0 -0
- /package/{syslinux → bootloaders/syslinux}/lpxelinux.0 +0 -0
- /package/{syslinux → bootloaders/syslinux}/memdisk +0 -0
- /package/{syslinux → bootloaders/syslinux}/pxelinux.0 +0 -0
- /package/{syslinux → bootloaders/syslinux}/vesamenu.c32 +0 -0
- /package/dist/classes/ovary.d/{xorriso-commend.d.ts → xorriso-command.d.ts} +0 -0
- /package/dist/classes/ovary.d/{xorriso-commend.js → xorriso-command.js} +0 -0
|
@@ -11,7 +11,7 @@ import { InstallationMode, SwapChoice } from '../krill_enums.js';
|
|
|
11
11
|
/**
|
|
12
12
|
* mkfs
|
|
13
13
|
*
|
|
14
|
-
*
|
|
14
|
+
* mkfs - create an ext2/ext3/ext4/btrfs
|
|
15
15
|
*/
|
|
16
16
|
export default async function mkfs() {
|
|
17
17
|
const result = true;
|
|
@@ -47,7 +47,6 @@ export default async function mkfs() {
|
|
|
47
47
|
}
|
|
48
48
|
// data
|
|
49
49
|
if (this.devices.data.name !== 'none') {
|
|
50
|
-
await exec(`mke2fs -Ft ${this.devices.data.fsType} ${this.devices.data.name} ${this.toNull}`, this.echo);
|
|
51
50
|
}
|
|
52
51
|
// swap
|
|
53
52
|
if (this.partitions.userSwapChoice === SwapChoice.File) {
|
|
@@ -58,15 +57,15 @@ export default async function mkfs() {
|
|
|
58
57
|
}
|
|
59
58
|
}
|
|
60
59
|
else if (this.partitions.filesystemType === 'btrfs') {
|
|
61
|
-
await exec(`mkfs.btrfs -f ${this.devices.root.name} ${this.toNull}`, this.echo);
|
|
62
|
-
//
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
//
|
|
69
|
-
|
|
60
|
+
await exec(`mkfs.btrfs -f btrfs ${this.devices.root.name} ${this.toNull}`, this.echo);
|
|
61
|
+
// Monta temporaneamente il volume Btrfs
|
|
62
|
+
await exec(`mount ${this.devices.root.name} /mnt`);
|
|
63
|
+
await exec(`btrfs subvolume create /mnt/@/`);
|
|
64
|
+
await exec(`btrfs subvolume create /mnt/@home`);
|
|
65
|
+
await exec(`btrfs subvolume create /mnt/@cache`);
|
|
66
|
+
await exec(`btrfs subvolume create /mnt/@log`);
|
|
67
|
+
// Smonta /mnt
|
|
68
|
+
await exec(`umount /mnt`);
|
|
70
69
|
}
|
|
71
70
|
return result;
|
|
72
71
|
}
|
|
@@ -1,15 +1,14 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* ./src/krill/modules/partition.d/bios-standard.ts
|
|
2
|
+
* ./src/krill/modules/partition.d/bios-standard.ts (versione unificata)
|
|
3
3
|
* penguins-eggs v.10.0.0 / ecmascript 2020
|
|
4
4
|
* author: Piero Proietti
|
|
5
5
|
* email: piero.proietti@gmail.com
|
|
6
6
|
* license: MIT
|
|
7
|
-
*
|
|
7
|
+
* Partiziona un disco per sistemi BIOS, gestendo dinamicamente ext4 (con swap) e btrfs (senza swap).
|
|
8
8
|
*/
|
|
9
9
|
import Sequence from '../../sequence.js';
|
|
10
10
|
/**
|
|
11
|
-
*
|
|
12
|
-
* @param this
|
|
11
|
+
* * @param this
|
|
13
12
|
* @param installDevice
|
|
14
13
|
* @param p
|
|
15
14
|
* @returns
|
|
@@ -1,34 +1,49 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* ./src/krill/modules/partition.d/bios-standard.ts
|
|
2
|
+
* ./src/krill/modules/partition.d/bios-standard.ts (versione unificata)
|
|
3
3
|
* penguins-eggs v.10.0.0 / ecmascript 2020
|
|
4
4
|
* author: Piero Proietti
|
|
5
5
|
* email: piero.proietti@gmail.com
|
|
6
6
|
* license: MIT
|
|
7
|
-
*
|
|
7
|
+
* Partiziona un disco per sistemi BIOS, gestendo dinamicamente ext4 (con swap) e btrfs (senza swap).
|
|
8
8
|
*/
|
|
9
9
|
import { exec } from '../../../../lib/utils.js';
|
|
10
10
|
/**
|
|
11
|
-
*
|
|
12
|
-
* @param this
|
|
11
|
+
* * @param this
|
|
13
12
|
* @param installDevice
|
|
14
13
|
* @param p
|
|
15
14
|
* @returns
|
|
16
15
|
*/
|
|
17
16
|
export default async function biosStandard(installDevice = "", p = "") {
|
|
17
|
+
const fsType = this.partitions.filesystemType;
|
|
18
|
+
// 1. Creazione della tabella delle partizioni (comune a entrambi)
|
|
18
19
|
await exec(`parted --script ${installDevice} mklabel msdos`, this.echo);
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
20
|
+
// 2. Logica di partizionamento condizionale
|
|
21
|
+
if (fsType === 'btrfs') {
|
|
22
|
+
// --- CASO BTRFS: NESSUNA PARTIZIONE DI SWAP ---
|
|
23
|
+
// Creiamo un'unica partizione che occupa tutto il disco.
|
|
24
|
+
// Lo swap verrà gestito con uno swapfile direttamente su Btrfs.
|
|
25
|
+
await exec(`parted --script --align optimal ${installDevice} mkpart primary "" 1MiB 100%`, this.echo); // Partizione 1: root
|
|
26
|
+
await exec(`parted ${installDevice} set 1 boot on`, this.echo);
|
|
27
|
+
// Imposta i dispositivi per Btrfs
|
|
28
|
+
this.devices.root.name = `${installDevice}${p}1`;
|
|
29
|
+
this.devices.swap.name = 'none'; // Nessuna partizione di swap
|
|
30
|
+
}
|
|
31
|
+
else {
|
|
32
|
+
// --- CASO EXT4 (o default): CON PARTIZIONE DI SWAP ---
|
|
33
|
+
// Comportamento standard con partizione di swap.
|
|
34
|
+
await exec(`parted --script --align optimal ${installDevice} mkpart primary linux-swap 1MiB ${this.swapSize + 1}MiB`, this.echo); // Partizione 1: swap
|
|
35
|
+
await exec(`parted --script --align optimal ${installDevice} mkpart primary "" ${this.swapSize + 1}MiB 100%`, this.echo); // Partizione 2: root
|
|
36
|
+
await exec(`parted ${installDevice} set 2 boot on`, this.echo);
|
|
37
|
+
// Imposta i dispositivi per ext4
|
|
38
|
+
this.devices.swap.name = `${installDevice}${p}1`;
|
|
39
|
+
this.devices.swap.fsType = 'swap';
|
|
40
|
+
this.devices.swap.mountPoint = 'none';
|
|
41
|
+
this.devices.root.name = `${installDevice}${p}2`;
|
|
42
|
+
}
|
|
43
|
+
// 3. Impostazioni finali comuni
|
|
44
|
+
this.devices.root.fsType = fsType;
|
|
30
45
|
this.devices.root.mountPoint = '/';
|
|
31
|
-
// BOOT/DATA/EFI
|
|
46
|
+
// BOOT/DATA/EFI non sono usati in questo schema
|
|
32
47
|
this.devices.boot.name = 'none';
|
|
33
48
|
this.devices.data.name = 'none';
|
|
34
49
|
this.devices.efi.name = 'none';
|
|
@@ -18,7 +18,8 @@ export default async function selectFileSystemType() {
|
|
|
18
18
|
partitions.defaultFileSystemType = 'ext4';
|
|
19
19
|
}
|
|
20
20
|
const choices = ['ext4'];
|
|
21
|
-
if (Pacman.packageIsInstalled('btrfs-progs')
|
|
21
|
+
if (Pacman.packageIsInstalled('btrfs-progs') ||
|
|
22
|
+
Pacman.packageIsInstalled('btrfsprogs')) {
|
|
22
23
|
choices.push('btrfs');
|
|
23
24
|
}
|
|
24
25
|
partitions.defaultFileSystemType = 'ext4';
|
package/dist/lib/utils.d.ts
CHANGED
|
@@ -12,31 +12,8 @@ import { IExec } from '../interfaces/index.js';
|
|
|
12
12
|
* @param param1
|
|
13
13
|
* @returns
|
|
14
14
|
*/
|
|
15
|
-
export declare function exec(command: string, {
|
|
16
|
-
capture?: boolean | undefined;
|
|
15
|
+
export declare function exec(command: string, { echo, ignore, capture }?: {
|
|
17
16
|
echo?: boolean | undefined;
|
|
18
17
|
ignore?: boolean | undefined;
|
|
18
|
+
capture?: boolean | undefined;
|
|
19
19
|
}): Promise<IExec>;
|
|
20
|
-
/**
|
|
21
|
-
* Compare two instances in order to determinate if they have save property values
|
|
22
|
-
*
|
|
23
|
-
* @param instance1 T
|
|
24
|
-
* @param instance2 T
|
|
25
|
-
* @returns boolean
|
|
26
|
-
*/
|
|
27
|
-
export declare function compareInstances<T>(instance1: T, instance2: T): boolean;
|
|
28
|
-
/**
|
|
29
|
-
* Il problema è in questa funzione: core/cli-ux/indesx.ts
|
|
30
|
-
* qui riportata solo come esempio
|
|
31
|
-
*
|
|
32
|
-
function timeout(p: Promise<any>, ms: number) {
|
|
33
|
-
function wait(ms: number, unref = false) {
|
|
34
|
-
return new Promise(resolve => {
|
|
35
|
-
const t: any = setTimeout(() => resolve(null), ms)
|
|
36
|
-
if (unref) t.unref()
|
|
37
|
-
})
|
|
38
|
-
}
|
|
39
|
-
|
|
40
|
-
return Promise.race([p, wait(ms, true).then(() => ux.error('timed out'))])
|
|
41
|
-
}
|
|
42
|
-
*/
|
package/dist/lib/utils.js
CHANGED
|
@@ -9,9 +9,9 @@
|
|
|
9
9
|
* Executes shell command as it would happen in BASH script
|
|
10
10
|
* @param {string} command
|
|
11
11
|
* @param {Object} [options] Object with options.
|
|
12
|
-
*
|
|
13
|
-
*
|
|
14
|
-
*
|
|
12
|
+
* echo: true, to echo command passed.
|
|
13
|
+
* ignore: true to ignore stdout
|
|
14
|
+
* capture: true, to capture and return stdout.
|
|
15
15
|
*
|
|
16
16
|
* @returns {Promise<{code: number, data: string | undefined, error: Object}>}
|
|
17
17
|
*
|
|
@@ -28,7 +28,7 @@ import { spawn } from 'node:child_process';
|
|
|
28
28
|
* @param param1
|
|
29
29
|
* @returns
|
|
30
30
|
*/
|
|
31
|
-
export async function exec(command, {
|
|
31
|
+
export async function exec(command, { echo = false, ignore = false, capture = false } = {}) {
|
|
32
32
|
/**
|
|
33
33
|
* You could wrap spawn in a promise,
|
|
34
34
|
* listen to exit event,
|
|
@@ -62,26 +62,3 @@ export async function exec(command, { capture = false, echo = false, ignore = fa
|
|
|
62
62
|
// end promise
|
|
63
63
|
});
|
|
64
64
|
}
|
|
65
|
-
/**
|
|
66
|
-
* Compare two instances in order to determinate if they have save property values
|
|
67
|
-
*
|
|
68
|
-
* @param instance1 T
|
|
69
|
-
* @param instance2 T
|
|
70
|
-
* @returns boolean
|
|
71
|
-
*/
|
|
72
|
-
export function compareInstances(instance1, instance2) { return JSON.stringify(instance1) === JSON.stringify(instance2); }
|
|
73
|
-
/**
|
|
74
|
-
* Il problema è in questa funzione: core/cli-ux/indesx.ts
|
|
75
|
-
* qui riportata solo come esempio
|
|
76
|
-
*
|
|
77
|
-
function timeout(p: Promise<any>, ms: number) {
|
|
78
|
-
function wait(ms: number, unref = false) {
|
|
79
|
-
return new Promise(resolve => {
|
|
80
|
-
const t: any = setTimeout(() => resolve(null), ms)
|
|
81
|
-
if (unref) t.unref()
|
|
82
|
-
})
|
|
83
|
-
}
|
|
84
|
-
|
|
85
|
-
return Promise.race([p, wait(ms, true).then(() => ux.error('timed out'))])
|
|
86
|
-
}
|
|
87
|
-
*/
|
|
Binary file
|
package/dracut/README.md
CHANGED
|
@@ -16,3 +16,17 @@ sudo zypper -y install \
|
|
|
16
16
|
dracut-tools
|
|
17
17
|
```
|
|
18
18
|
|
|
19
|
+
### pacchetti da installare/rimuovere per opensuse
|
|
20
|
+
sudo zypper rm multipath-tools
|
|
21
|
+
sudo zypper install libxkbcommon-tools util-linux kf6-qqc2-desktop-styl
|
|
22
|
+
|
|
23
|
+
|
|
24
|
+
# procedura per grub su btrfs
|
|
25
|
+
sudo mount -o subvol=@ /dev/sda2 /mnt
|
|
26
|
+
sudo mount -o subvol=@home /dev/sda2 /mnt/home
|
|
27
|
+
sudo mount /dev/sda1 /mnt/boot/efi
|
|
28
|
+
for i in /dev /proc /sys; do sudo mount --bind $i /mnt$i; done
|
|
29
|
+
sudo mount --bind /sys/firmware/efi/efivars /mnt/sys/firmware/efi/efivars
|
|
30
|
+
sudo chroot /mnt
|
|
31
|
+
grub2-install
|
|
32
|
+
grub2-mkconfig -o /boot/grub2/grub.cfg
|
package/dracut/dracut.conf
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
#
|
|
2
|
-
#
|
|
3
|
-
|
|
1
|
+
# PUT YOUR CONFIG IN separate files
|
|
2
|
+
# in /etc/dracut.conf.d named "<name>.conf"
|
|
3
|
+
# SEE man dracut.conf(5) for options
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
persistent_policy="by-label"
|
|
@@ -1,9 +1,10 @@
|
|
|
1
|
-
# dracut.conf.d/
|
|
1
|
+
# dracut.conf.d/50-live.conf
|
|
2
2
|
mdadmconf="no"
|
|
3
3
|
lvmconf="no"
|
|
4
|
-
|
|
4
|
+
use_fstab="no"
|
|
5
5
|
squash_compress="zstd"
|
|
6
6
|
compress="zstd"
|
|
7
7
|
add_dracutmodules+=" livenet dmsquash-live dmsquash-live-autooverlay convertfs pollcdrom qemu qemu-net "
|
|
8
8
|
hostonly="no"
|
|
9
9
|
early_microcode="no"
|
|
10
|
+
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
-
|
|
1
|
+
MODULES=(loop dm-snapshot btrfs)
|
|
2
|
+
HOOKS=(base udev microcode modconf kms memdisk archiso archiso_loop_mnt archiso_pxe_common archiso_pxe_nbd archiso_pxe_http archiso_pxe_nfs block filesystems keyboard keymap consolefont filesystems fsck)
|
|
2
3
|
COMPRESSION="xz"
|
|
3
|
-
COMPRESSION_OPTIONS=(-9e)
|
|
4
|
+
#COMPRESSION_OPTIONS=(-9e)
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
# come from buldconf on initramfs-x86_64.img from manjaro-xfce-24.1.0-241001-linux610.iso
|
|
2
|
-
MODULES=(loop dm-snapshot)
|
|
2
|
+
MODULES=(loop dm-snapshot btrfs)
|
|
3
3
|
HOOKS=(base udev miso_shutdown miso miso_loop_mnt miso_pxe_common miso_pxe_http miso_pxe_nbd miso_pxe_nfs miso_kms modconf block filesystems keyboard keymap)
|
|
4
4
|
COMPRESSION="xz"
|
package/mkinitfs/README.md
CHANGED
|
@@ -1,55 +1,16 @@
|
|
|
1
1
|
# AlpineLinux
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
Fare riferimento a [penguins-alpine](https://github.com/pieroproietti/penguins-alpine) per installare penguins-eggs su Alpine e sul funzionamento del sidecar.
|
|
4
4
|
|
|
5
|
-
|
|
5
|
+
## sidecar
|
|
6
6
|
|
|
7
|
-
|
|
8
|
-
# live conf
|
|
9
|
-
features="ata base ide scsi usb cdrom virtio blkid squashfs overlay ext4"
|
|
10
|
-
```
|
|
7
|
+
Il sidecar consiste in una patch a inittra,s-init che aggiunge le catatteristiche di permettere l'avvio da una ISO prodotta con penguins-eggs.
|
|
11
8
|
|
|
12
|
-
|
|
9
|
+
Il sidecar:
|
|
13
10
|
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
let initrdImg='initramfs-lts'
|
|
21
|
-
const pathConf = path.resolve(__dirname, `../../mkinitfs/live.conf`)
|
|
22
|
-
const sidecar = path.resolve(__dirname, `../../mkinitfs/sidecar.sh`)
|
|
23
|
-
await exec(`mkinitfs -c ${pathConf} -o ${this.settings.iso_work}live/${initrdImg}`, Utils.setEcho(true))
|
|
24
|
-
await exec(`cp ${sidecar} ${this.settings.iso_work}live/`)
|
|
25
|
-
}
|
|
26
|
-
```
|
|
27
|
-
|
|
28
|
-
Nella stessa funzione, lo script `sidecar.sh` viene creato e viene inserito all'interno della carlella `live` della ISO.
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
L'avvio del live è possibile solo da sistemi BIOS, il sistema viene avviato ma `initramfs-lts` va in emergency mode, non è previsto il mount con overlayfs.
|
|
32
|
-
|
|
33
|
-
A questo punto, basta montare la ISO, digitare exit per trovarisi in emergency shell e lanciare sidecar.sh:
|
|
34
|
-
|
|
35
|
-
```
|
|
36
|
-
mkdir /mnt/
|
|
37
|
-
mount /dev/sr0 /mnt
|
|
38
|
-
exit
|
|
39
|
-
/mnt/live/sidecar.sh
|
|
40
|
-
```
|
|
41
|
-
|
|
42
|
-
Le istruzioni di `sidecar.sh` utilizzano `/sysroot` come mountpoint per il mount RW del filesystem live e, digitanto ancora `exit` per tornare all'init, verrà correttamente eseguito lo `switch_root` ed il sistema verrà avviato.
|
|
43
|
-
|
|
44
|
-
Resta da vedere se è possibile includere questo in un vero init.
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
# overlaytmpfs=yes
|
|
49
|
-
When booting from a read-only filesystem, you can specify this flag to have
|
|
50
|
-
your changes written to an in-memory temporary overlayfs. The underlying
|
|
51
|
-
filesystem will always be mounted read-only, the overlay always writable.
|
|
52
|
-
|
|
53
|
-
# overlaytmpfsflags=lowerdir=/media/root-ro,upperdir=/media/root-rw/root,workdir=/media/root-rw/work
|
|
54
|
-
Optional comma-separated list of tmpfs(5) mount options when Boverlaytmpfs
|
|
55
|
-
is used. The default is mode=0755,rw, you cannot override.
|
|
11
|
+
Cerca un dispositivo con la label specificata
|
|
12
|
+
Monta il dispositivo live
|
|
13
|
+
Monta il filesystem.squashfs come layer read-only
|
|
14
|
+
Crea un overlay con tmpfs per le modifiche
|
|
15
|
+
Configura il sistema per il boot live
|
|
16
|
+
Attaccare il sidecar alla moto
|
package/mkinitfs/live.conf
CHANGED
package/package.json
CHANGED
|
@@ -2,64 +2,66 @@
|
|
|
2
2
|
"name": "penguins-eggs",
|
|
3
3
|
"shortName": "eggs",
|
|
4
4
|
"description": "A remaster system tool, compatible with Arch, Debian, Devuan, Ubuntu and others",
|
|
5
|
-
"version": "
|
|
5
|
+
"version": "25.7.10",
|
|
6
6
|
"author": "Piero Proietti",
|
|
7
7
|
"bin": {
|
|
8
8
|
"eggs": "./bin/run.js"
|
|
9
9
|
},
|
|
10
10
|
"bugs": "https://github.com/pieroproietti/penguins-eggs/issues",
|
|
11
11
|
"dependencies": {
|
|
12
|
-
"@oclif/core": "^4.
|
|
13
|
-
"@oclif/plugin-autocomplete": "^3.2.
|
|
14
|
-
"@oclif/plugin-help": "^6.2.
|
|
15
|
-
"@oclif/plugin-version": "^2.2.
|
|
16
|
-
"
|
|
12
|
+
"@oclif/core": "^4.5.0",
|
|
13
|
+
"@oclif/plugin-autocomplete": "^3.2.32",
|
|
14
|
+
"@oclif/plugin-help": "^6.2.30",
|
|
15
|
+
"@oclif/plugin-version": "^2.2.31",
|
|
16
|
+
"@types/express": "^5.0.3",
|
|
17
|
+
"ansis": "^4.1.0",
|
|
17
18
|
"axios": "^1.9.0",
|
|
18
19
|
"chalk": "^5.4.0",
|
|
19
20
|
"cli-cursor": "^5.0.0",
|
|
20
21
|
"debug": "^4.4.1",
|
|
21
|
-
"
|
|
22
|
+
"express": "^5.1.0",
|
|
23
|
+
"ink": "^5",
|
|
22
24
|
"ink-progress-bar": "^3.0.0",
|
|
23
25
|
"ink-spinner": "^5.0.0",
|
|
24
|
-
"inquirer": "^12.
|
|
26
|
+
"inquirer": "^12.7.0",
|
|
25
27
|
"js-yaml": "^4.1.0",
|
|
26
28
|
"mustache": "^4.2.0",
|
|
27
29
|
"netmask": "^2.0.2",
|
|
28
|
-
"node-proxy-dhcpd": "0.1.2",
|
|
29
|
-
"node-static": "^0.7.11",
|
|
30
30
|
"react": "^18.3.1",
|
|
31
31
|
"read": "^4.1.0",
|
|
32
32
|
"shelljs": "^0.10.0",
|
|
33
|
-
"systeminformation": "^5.
|
|
34
|
-
"tftp": "^0.1.2"
|
|
33
|
+
"systeminformation": "^5.27.7",
|
|
34
|
+
"tftp": "^0.1.2",
|
|
35
|
+
"ws": "^8.18.3"
|
|
35
36
|
},
|
|
36
37
|
"devDependencies": {
|
|
37
38
|
"@oclif/prettier-config": "^0.2.1",
|
|
38
39
|
"@oclif/test": "^4.1.13",
|
|
39
40
|
"@types/chai": "^5.2.2",
|
|
40
41
|
"@types/debug": "^4.1.12",
|
|
41
|
-
"@types/glob": "^
|
|
42
|
+
"@types/glob": "^9.0.0",
|
|
42
43
|
"@types/inquirer": "^9.0.8",
|
|
43
44
|
"@types/js-yaml": "^4.0.9",
|
|
44
45
|
"@types/mocha": "^10.0.8",
|
|
45
46
|
"@types/mustache": "^4.2.6",
|
|
46
47
|
"@types/netmask": "^2.0.5",
|
|
47
|
-
"@types/node": "^22.15.
|
|
48
|
-
"@types/
|
|
49
|
-
"@types/react": "18.3.18",
|
|
48
|
+
"@types/node": "^22.15.30",
|
|
49
|
+
"@types/react": "^18.3.1",
|
|
50
50
|
"@types/read": "^0.0.32",
|
|
51
|
-
"@types/shelljs": "^0.8.
|
|
52
|
-
"
|
|
53
|
-
"
|
|
54
|
-
"eslint
|
|
51
|
+
"@types/shelljs": "^0.8.17",
|
|
52
|
+
"@types/ws": "^8.18.1",
|
|
53
|
+
"chai": "^5.2.1",
|
|
54
|
+
"eslint": "^9.30.1",
|
|
55
|
+
"eslint-config-oclif": "^6.0.83",
|
|
55
56
|
"eslint-config-prettier": "^10.1.5",
|
|
56
|
-
"glob": "^11.0.
|
|
57
|
-
"mocha": "^11.
|
|
58
|
-
"oclif": "^4.
|
|
59
|
-
"perrisbrewery": "^10
|
|
60
|
-
"prettier": "^3.
|
|
57
|
+
"glob": "^11.0.3",
|
|
58
|
+
"mocha": "^11.7.0",
|
|
59
|
+
"oclif": "^4.20.5",
|
|
60
|
+
"perrisbrewery": "^10",
|
|
61
|
+
"prettier": "^3.6.2",
|
|
61
62
|
"shx": "^0.4.0",
|
|
62
63
|
"ts-node": "10.9.2",
|
|
64
|
+
"ts-prune": "^0.10.3",
|
|
63
65
|
"typescript": "^5.7.3"
|
|
64
66
|
},
|
|
65
67
|
"engines": {
|
|
@@ -70,19 +72,18 @@
|
|
|
70
72
|
"/addons",
|
|
71
73
|
"/assets",
|
|
72
74
|
"/bin",
|
|
75
|
+
"/bootloaders",
|
|
73
76
|
"/conf",
|
|
74
77
|
"/dist",
|
|
75
78
|
"/dracut",
|
|
76
79
|
"/eui",
|
|
77
|
-
"/ipxe",
|
|
78
80
|
"/maker",
|
|
79
81
|
"/manpages",
|
|
80
82
|
"/mkinitcpio",
|
|
81
83
|
"/mkinitfs",
|
|
82
84
|
"/perrisbrewery",
|
|
83
85
|
"/pods",
|
|
84
|
-
"/scripts"
|
|
85
|
-
"/syslinux"
|
|
86
|
+
"/scripts"
|
|
86
87
|
],
|
|
87
88
|
"homepage": "https://penguins-eggs.net",
|
|
88
89
|
"keywords": [
|
|
@@ -122,6 +123,7 @@
|
|
|
122
123
|
"posttest": "pnpm run lint",
|
|
123
124
|
"tarballs": "shx rm -rf dist && tsc -p . && oclif manifest && oclif pack tarballs -t linux-x64 --no-xz -r . && pb tarballs --release $(cat ./release)",
|
|
124
125
|
"test": "mocha --forbid-only \"test/**/*.test.ts\"",
|
|
126
|
+
"unused": "ts-prune",
|
|
125
127
|
"version": "oclif readme && git add README.md"
|
|
126
128
|
}
|
|
127
129
|
}
|
package/scripts/99clean
ADDED
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
#!/bin/bash
|
|
2
|
+
|
|
3
|
+
# Uscita immediata in caso di errore
|
|
4
|
+
set -e
|
|
5
|
+
|
|
6
|
+
# Percorso del file initrd appena creato da dracut
|
|
7
|
+
# Adatta questo percorso a quello usato dal tuo script
|
|
8
|
+
INITRD_FILE="/home/eggs/.mnt/iso/live/initrd-$1"
|
|
9
|
+
|
|
10
|
+
# Controlla se il file esiste prima di procedere
|
|
11
|
+
if [ ! -f "$INITRD_FILE" ]; then
|
|
12
|
+
echo "Errore: il file initrd $INITRD_FILE non è stato trovato!"
|
|
13
|
+
exit 1
|
|
14
|
+
fi
|
|
15
|
+
|
|
16
|
+
# Crea una directory temporanea sicura
|
|
17
|
+
TMP_DIR=$(mktemp -d)
|
|
18
|
+
|
|
19
|
+
echo ">>> Pulizia dell'initrd: ${INITRD_FILE}"
|
|
20
|
+
echo ">>> Directory temporanea: ${TMP_DIR}"
|
|
21
|
+
|
|
22
|
+
# Entra nella directory temporanea e scompatta l'archivio
|
|
23
|
+
cd "${TMP_DIR}"
|
|
24
|
+
# La compressione è zstd, come da tua configurazione dracut
|
|
25
|
+
zstd -d < "${INITRD_FILE}" | cpio -idm
|
|
26
|
+
|
|
27
|
+
echo ">>> Rimozione degli hook UUID specifici dell'host..."
|
|
28
|
+
# Usiamo -f per non dare errore se i file non esistono
|
|
29
|
+
rm -f ./var/lib/dracut/hooks/emergency/80-*
|
|
30
|
+
rm -f ./var/lib/dracut/hooks/initqueue/finished/devexists-*
|
|
31
|
+
|
|
32
|
+
echo ">>> Ricompressione dell'initrd pulito..."
|
|
33
|
+
# Ricreiamo l'archivio cpio e lo ricomprimiamo con zstd
|
|
34
|
+
find . | cpio -o -H newc | zstd -T0 > "${INITRD_FILE}.clean"
|
|
35
|
+
|
|
36
|
+
echo ">>> Sostituzione del file originale con la versione pulita."
|
|
37
|
+
mv "${INITRD_FILE}.clean" "${INITRD_FILE}"
|
|
38
|
+
|
|
39
|
+
echo ">>> Pulizia della directory temporanea."
|
|
40
|
+
rm -rf "${TMP_DIR}"
|
|
41
|
+
|
|
42
|
+
echo ">>> FATTO! L'initrd è stato pulito con successo."
|
|
@@ -1,85 +0,0 @@
|
|
|
1
|
-
# SPDX-FileCopyrightText: no
|
|
2
|
-
# SPDX-License-Identifier: CC0-1.0
|
|
3
|
-
#
|
|
4
|
-
# Bootloader configuration. The bootloader is installed to allow
|
|
5
|
-
# the system to start (and pick one of the installed operating
|
|
6
|
-
# systems to run).
|
|
7
|
-
#
|
|
8
|
-
# Take note that Debian-derivatives that use unmodified GRUB EFI packages
|
|
9
|
-
# should specifically set *efiBootloaderId* to "debian" because that is
|
|
10
|
-
# hard-coded in `grubx64.efi`.
|
|
11
|
-
---
|
|
12
|
-
# A variable from global storage which overrides the value of efiBootLoader
|
|
13
|
-
#efiBootLoaderVar: "packagechooser_bootloader"
|
|
14
|
-
|
|
15
|
-
# Define which bootloader you want to use for EFI installations
|
|
16
|
-
# Possible options are 'grub', 'sb-shim', 'refind` and 'systemd-boot'.
|
|
17
|
-
efiBootLoader: "sb-shim"
|
|
18
|
-
|
|
19
|
-
# systemd-boot configuration files settings
|
|
20
|
-
|
|
21
|
-
# kernelSearchPath is the path relative to the root of the install to search for kernels
|
|
22
|
-
# A kernel is identified by finding files which match regular expression, kernelPattern
|
|
23
|
-
kernelSearchPath: "/usr/lib/modules"
|
|
24
|
-
kernelPattern: "^vmlinuz.*"
|
|
25
|
-
|
|
26
|
-
# loaderEntries is an array of options to add to loader.conf for systemd-boot
|
|
27
|
-
# please note that the "default" option is added programmatically
|
|
28
|
-
loaderEntries:
|
|
29
|
-
- "timeout 5"
|
|
30
|
-
- "console-mode keep"
|
|
31
|
-
|
|
32
|
-
# systemd-boot and refind support custom kernel params
|
|
33
|
-
kernelParams: [ "quiet" ]
|
|
34
|
-
|
|
35
|
-
# A list of kernel names that refind should accept as kernels
|
|
36
|
-
#refindKernelList: [ "linux","linux-lts","linux-zen","linux-hardened" ]
|
|
37
|
-
|
|
38
|
-
# GRUB 2 binary names and boot directory
|
|
39
|
-
# Some distributions (e.g. Fedora) use grub2-* (resp. /boot/grub2/) names.
|
|
40
|
-
# These names are also used when using sb-shim, since that needs some
|
|
41
|
-
# GRUB functionality (notably grub-probe) to work. As needed, you may use
|
|
42
|
-
# complete paths like `/usr/bin/efibootmgr` for the executables.
|
|
43
|
-
#
|
|
44
|
-
grubInstall: "grub2-install"
|
|
45
|
-
grubMkconfig: "grub2-mkconfig"
|
|
46
|
-
grubCfg: "/boot/grub2/grub.cfg"
|
|
47
|
-
grubProbe: "grub2-probe"
|
|
48
|
-
efiBootMgr: "efibootmgr"
|
|
49
|
-
|
|
50
|
-
# Optionally set the bootloader ID to use for EFI. This is passed to
|
|
51
|
-
# grub-install --bootloader-id.
|
|
52
|
-
#
|
|
53
|
-
# If not set here, the value from bootloaderEntryName from branding.desc
|
|
54
|
-
# is used, with problematic characters (space and slash) replaced.
|
|
55
|
-
#
|
|
56
|
-
# The ID is also used as a directory name within the EFI environment,
|
|
57
|
-
# and the bootloader is copied from /boot/efi/EFI/<dirname>/ . When
|
|
58
|
-
# setting the option here, keep in mind that the name is sanitized
|
|
59
|
-
# (problematic characters, see above, are replaced).
|
|
60
|
-
#
|
|
61
|
-
# There are some special words possible at the end of *efiBootloaderId*:
|
|
62
|
-
# ${SERIAL} can be used to obtain a uniquely-numbered suffix
|
|
63
|
-
# that is added to the Id (yielding, e.g., `dirname1` or `dirname72`)
|
|
64
|
-
# ${RANDOM} can be used to obtain a unique 4-digit hex suffix
|
|
65
|
-
# ${PHRASE} can be used to obtain a unique 1-to-3-word suffix
|
|
66
|
-
# from a dictionary of space-themed words
|
|
67
|
-
# These words must be at the **end** of the *efiBootloaderId* value.
|
|
68
|
-
# There must also be at most one of them. If there is none, no suffix-
|
|
69
|
-
# processing is done and the *efiBootloaderId* is used unchanged.
|
|
70
|
-
#
|
|
71
|
-
# NOTE: Debian derivatives that use the unmodified Debian GRUB EFI
|
|
72
|
-
# packages may need to set this to "debian" because that is
|
|
73
|
-
# hard-coded in `grubx64.efi`.
|
|
74
|
-
#
|
|
75
|
-
# PACKAGER NOTE: If you really want to change this value, you will also have to
|
|
76
|
-
# change the hardcoded directory name in the grub2(-efi) package.
|
|
77
|
-
efiBootloaderId: "fedora"
|
|
78
|
-
|
|
79
|
-
# Optionally install a copy of the GRUB EFI bootloader as the EFI
|
|
80
|
-
# fallback loader (either bootia32.efi or bootx64.efi depending on
|
|
81
|
-
# the system). This may be needed on certain systems (Intel DH87MC
|
|
82
|
-
# seems to be the only one). If you set this to false, take care
|
|
83
|
-
# to add another module to optionally install the fallback on those
|
|
84
|
-
# boards that need it.
|
|
85
|
-
installEFIFallback: true
|
|
@@ -1,22 +0,0 @@
|
|
|
1
|
-
# Fedora
|
|
2
|
-
# Configure one or more display managers (e.g. SDDM)
|
|
3
|
-
# with a "best effort" approach.
|
|
4
|
-
---
|
|
5
|
-
#The DM module attempts to set up all the DMs found in this list, in that precise order.
|
|
6
|
-
#It also sets up autologin, if the feature is enabled in globalstorage.
|
|
7
|
-
#The displaymanagers list can also be set in globalstorage, and in that case it overrides anything set up here.
|
|
8
|
-
displaymanagers: none
|
|
9
|
-
|
|
10
|
-
#Enable the following settings to force a desktop environment in your displaymanager configuration file:
|
|
11
|
-
#defaultDesktopEnvironment:
|
|
12
|
-
# executable: "startkde"
|
|
13
|
-
# desktopFile: "plasma"
|
|
14
|
-
|
|
15
|
-
#If true, try to ensure that the user, group, /var directory etc. for the
|
|
16
|
-
#display manager are set up correctly. This is normally done by the distribution
|
|
17
|
-
#packages, and best left to them. Therefore, it is disabled by default.
|
|
18
|
-
basicSetup: false
|
|
19
|
-
|
|
20
|
-
#If true, setup autologin for openSUSE. This only makes sense on openSUSE
|
|
21
|
-
#derivatives or other systems where /etc/sysconfig/displaymanager exists.
|
|
22
|
-
sysconfigSetup: false
|