penguins-eggs 25.8.6 → 25.8.28
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.oclif.manifest.json +8 -1
- package/README.md +31 -30
- package/addons/eggs/theme/calamares/modules/users.yml +3 -3
- package/addons/eggs/theme/livecd/{grub.main.simple.cfg → grub.main.cfg} +2 -22
- package/assets/calamares/install-system.sh +2 -2
- package/conf/derivatives.yaml +7 -0
- package/conf/distros/buster/calamares/modules/bootloader.yml +45 -16
- package/conf/distros/buster/calamares/modules/mount.yml +103 -28
- package/dist/classes/distro.js +14 -6
- package/dist/classes/diversions.d.ts +1 -0
- package/dist/classes/diversions.js +7 -0
- package/dist/classes/incubation/incubator.d.ts +4 -0
- package/dist/classes/incubation/incubator.js +14 -0
- package/dist/classes/ovary.d/bind-live-fs.js +2 -2
- package/dist/classes/ovary.d/live-create-structure.js +1 -1
- package/dist/classes/ovary.d/make-dot-disk.js +16 -4
- package/dist/classes/ovary.d/make-efi.d.ts +0 -2
- package/dist/classes/ovary.d/make-efi.js +131 -70
- package/dist/classes/ovary.d/make-iso.js +1 -1
- package/dist/classes/ovary.d/produce.js +5 -1
- package/dist/classes/ovary.d/syslinux.js +12 -10
- package/dist/classes/ovary.d/xorriso-command.js +51 -47
- package/dist/classes/pacman.js +7 -0
- package/dist/classes/pxe.d.ts +1 -2
- package/dist/classes/pxe.js +35 -21
- package/dist/classes/utils.d/kernel.d.ts +6 -56
- package/dist/classes/utils.d/kernel.js +49 -280
- package/dist/classes/utils.js +11 -5
- package/dist/commands/cuckoo.d.ts +1 -0
- package/dist/commands/cuckoo.js +3 -2
- package/dist/lib/utils.js +1 -0
- package/dist/penguins-eggs_25.8.28-1_amd64.deb +0 -0
- package/dist/penguins-eggs_25.8.28-1_amd64.deb.sha256 +1 -0
- package/dist/{penguins-eggs_25.8.6-bionic-1_amd64.deb → penguins-eggs_25.8.28-1_arm64.deb} +0 -0
- package/dist/penguins-eggs_25.8.28-1_arm64.deb.sha256 +1 -0
- package/dist/penguins-eggs_25.8.28-1_i386.deb +0 -0
- package/dist/penguins-eggs_25.8.28-1_i386.deb.sha256 +1 -0
- package/manpages/doc/man/eggs.1.gz +0 -0
- package/manpages/doc/man/eggs.html +46 -18
- package/package.json +8 -9
- package/perrisbrewery/template/dependencies-bionic.yaml +1 -0
- package/perrisbrewery/template/dependencies.yaml +21 -4
- package/scripts/_eggs +7 -6
- package/scripts/eggs.bash +2 -2
- package/addons/eggs/theme/livecd/grub.main.full.cfg +0 -43
- package/bootloaders/README.md +0 -22
- 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 +0 -194
- package/bootloaders/grub/x86_64-efi/config.h +0 -69
- 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 +0 -45
- 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 +0 -37
- 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 +0 -267
- package/bootloaders/grub/x86_64-efi/modinfo.sh +0 -40
- 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 +0 -11
- package/bootloaders/grub/x86_64-efi/parttool.lst +0 -1
- 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 +0 -9
- 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 +0 -4
- 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/syslinux/README.md +0 -3
- package/bootloaders/syslinux/chain.c32 +0 -0
- package/bootloaders/syslinux/isohdpfx.bin +0 -0
- package/bootloaders/syslinux/isolinux.bin +0 -0
- package/bootloaders/syslinux/ldlinux.c32 +0 -0
- package/bootloaders/syslinux/libcom32.c32 +0 -0
- package/bootloaders/syslinux/libutil.c32 +0 -0
- package/bootloaders/syslinux/lpxelinux.0 +0 -0
- package/bootloaders/syslinux/memdisk +0 -0
- package/bootloaders/syslinux/pxelinux.0 +0 -0
- package/bootloaders/syslinux/vesamenu.c32 +0 -0
- package/bootloaders/undionly.kpxe +0 -0
- package/dist/penguins-eggs_25.8.6-bionic-1_amd64.deb.sha256 +0 -1
|
@@ -123,4 +123,11 @@ export default class Diversions {
|
|
|
123
123
|
}
|
|
124
124
|
return found;
|
|
125
125
|
}
|
|
126
|
+
static bootloaders(familyId) {
|
|
127
|
+
let bootloaders = '/usr/lib/';
|
|
128
|
+
if (familyId !== 'debian') {
|
|
129
|
+
bootloaders = '/usr/lib/penguins-eggs/bootloaders/';
|
|
130
|
+
}
|
|
131
|
+
return bootloaders;
|
|
132
|
+
}
|
|
126
133
|
}
|
|
@@ -69,6 +69,7 @@ export default class Incubator {
|
|
|
69
69
|
Utils.warning(`creating ${installer().name} configuration files on ${installer().configRoot}`);
|
|
70
70
|
this.createInstallerDirs();
|
|
71
71
|
this.createBranding();
|
|
72
|
+
this.sudoers();
|
|
72
73
|
const codenameLikeId = this.distro.codenameLikeId;
|
|
73
74
|
try {
|
|
74
75
|
/**
|
|
@@ -111,6 +112,10 @@ export default class Incubator {
|
|
|
111
112
|
else if (codenameLikeId === 'trixie') {
|
|
112
113
|
const trixie = new Buster(this.installer, this.remix, this.distro, this.user_opt, release, this.theme, this.isClone, this.verbose);
|
|
113
114
|
await trixie.create();
|
|
115
|
+
}
|
|
116
|
+
else if (codenameLikeId === 'forky') {
|
|
117
|
+
const forky = new Buster(this.installer, this.remix, this.distro, this.user_opt, release, this.theme, this.isClone, this.verbose);
|
|
118
|
+
await forky.create();
|
|
114
119
|
/**
|
|
115
120
|
* Devuan
|
|
116
121
|
*/
|
|
@@ -349,6 +354,15 @@ export default class Incubator {
|
|
|
349
354
|
shx.cp(path.resolve(__dirname, '../../../assets/calamares/install-system.sh'), '/usr/sbin/install-system.sh');
|
|
350
355
|
shx.chmod('+x', '/usr/sbin/install-system.sh');
|
|
351
356
|
}
|
|
357
|
+
/**
|
|
358
|
+
* soluzione tampone from Glenn
|
|
359
|
+
*/
|
|
360
|
+
sudoers() {
|
|
361
|
+
let live = 'live';
|
|
362
|
+
let content = `${live} ALL=(ALL) NOPASSWD: /usr/bin/calamares`;
|
|
363
|
+
let fname = '/etc/sudoers.d/calamares';
|
|
364
|
+
fs.writeFileSync(fname, content, 'utf-8');
|
|
365
|
+
}
|
|
352
366
|
}
|
|
353
367
|
/**
|
|
354
368
|
*
|
|
@@ -64,7 +64,7 @@ export async function bindLiveFs() {
|
|
|
64
64
|
cmds.push(`# /${dir} is copied if not exists on filesystem.squashfs`);
|
|
65
65
|
let chkDir = path.join(this.settings.config.snapshot_mnt, 'filesystem.squashfs', dir);
|
|
66
66
|
cmds.push(`if ! [ -d "${chkDir}" ]; then`);
|
|
67
|
-
cmds.push(await rexec(` cp -
|
|
67
|
+
cmds.push(await rexec(` cp -a /${dir} ${this.settings.config.snapshot_mnt}filesystem.squashfs`, this.verbose));
|
|
68
68
|
cmds.push(`fi`);
|
|
69
69
|
continue;
|
|
70
70
|
}
|
|
@@ -99,7 +99,7 @@ export async function bindLiveFs() {
|
|
|
99
99
|
cmds.push('# file exist... skip');
|
|
100
100
|
}
|
|
101
101
|
else {
|
|
102
|
-
cmds.push(await rexec(`cp /${dir} ${this.settings.work_dir.merged}`, this.verbose));
|
|
102
|
+
cmds.push(await rexec(`cp -p /${dir} ${this.settings.work_dir.merged}`, this.verbose));
|
|
103
103
|
}
|
|
104
104
|
}
|
|
105
105
|
cmds.push(endLine);
|
|
@@ -29,7 +29,7 @@ export async function liveCreateStructure() {
|
|
|
29
29
|
tryCatch(cmd, this.verbose);
|
|
30
30
|
}
|
|
31
31
|
if (!fs.existsSync(this.settings.config.snapshot_dir + '/README.md')) {
|
|
32
|
-
cmd = `cp ${path.resolve(__dirname, '
|
|
32
|
+
cmd = `cp ${path.resolve(__dirname, '../../../conf/README.md')} ${this.settings.config.snapshot_dir}README.md`;
|
|
33
33
|
tryCatch(cmd, this.verbose);
|
|
34
34
|
}
|
|
35
35
|
// Ovarium
|
|
@@ -24,12 +24,24 @@ export function makeDotDisk(info = '', mksquashfs = '', mkisofs = '') {
|
|
|
24
24
|
shx.rm('-rf', dotDisk);
|
|
25
25
|
}
|
|
26
26
|
shx.mkdir('-p', dotDisk);
|
|
27
|
-
let text = `# Created at: ${Utils.formatDate(new Date())}\n`;
|
|
28
|
-
text += `# penguins_eggs v. ${Utils.getPackageVersion()}\n`;
|
|
29
27
|
/**
|
|
30
|
-
* write
|
|
28
|
+
* write volid .disk/info
|
|
29
|
+
* Required
|
|
31
30
|
*/
|
|
32
|
-
|
|
31
|
+
let volidContent = this.settings.isoFilename;
|
|
32
|
+
fs.writeFileSync(path.join(dotDisk, 'info'), volidContent, 'utf-8');
|
|
33
|
+
/**
|
|
34
|
+
* A readme now replace the old .disk/info
|
|
35
|
+
*/
|
|
36
|
+
let readme = ``;
|
|
37
|
+
readme += `# penguins_eggs\n`;
|
|
38
|
+
readme += `\n`;
|
|
39
|
+
readme += `Volinfo: ${this.volid}\n`;
|
|
40
|
+
readme += `Image created at: ${Utils.formatDate(new Date())} using penguins_eggs v. ${Utils.getPackageVersion()})\n`;
|
|
41
|
+
readme += `repo: [penguins-eggs](https://github.com/penguins-eggs)\n`;
|
|
42
|
+
readme += `blog: [penguins-eggs.net](https://penguins-eggs.net)\n`;
|
|
43
|
+
readme += `author: [Piero Proietti](mailto://piero.proietti@gmail.com)\n`;
|
|
44
|
+
fs.writeFileSync(path.join(dotDisk, 'README.md'), readme, 'utf-8');
|
|
33
45
|
/**
|
|
34
46
|
* write mksquashfs as .disk/mksquashfs
|
|
35
47
|
*/
|
|
@@ -10,7 +10,5 @@ import Ovary from '../ovary.js';
|
|
|
10
10
|
*
|
|
11
11
|
* @param this
|
|
12
12
|
* @param theme
|
|
13
|
-
* cp /usr/lib/grub/x86_64-efi-signed/grubx64.efi.signed ./bootloaders/
|
|
14
|
-
* cp /usr/lib/shim/shimx64.efi.signed ./bootloaders/
|
|
15
13
|
*/
|
|
16
14
|
export declare function makeEfi(this: Ovary, theme?: string): Promise<void>;
|
|
@@ -19,54 +19,117 @@ const __dirname = path.dirname(new URL(import.meta.url).pathname);
|
|
|
19
19
|
*
|
|
20
20
|
* @param this
|
|
21
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/
|
|
24
22
|
*/
|
|
25
23
|
export async function makeEfi(theme = 'eggs') {
|
|
26
|
-
const bootloaders =
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
24
|
+
const bootloaders = Diversions.bootloaders(this.familyId);
|
|
25
|
+
/**
|
|
26
|
+
* except Debian/Devuan/Ubuntu all distros will use: not signed
|
|
27
|
+
* paths here for Ubuntu and Debian are the same, here checked!
|
|
28
|
+
*/
|
|
29
|
+
let signed = false;
|
|
30
|
+
let grubEfi = path.resolve(bootloaders, `grub/x86_64-efi/monolithic/grubx64.efi`);
|
|
31
|
+
let shimEfi = path.resolve(bootloaders, `shim/shimx64.efi`);
|
|
32
|
+
if (this.familyId === "debian") {
|
|
33
|
+
signed = true;
|
|
34
|
+
if (process.arch === 'x64') {
|
|
35
|
+
grubEfi = path.resolve(bootloaders, `grub/x86_64-efi-signed/grubx64.efi.signed`);
|
|
36
|
+
shimEfi = path.resolve(bootloaders, `shim/shimx64.efi.signed`);
|
|
37
|
+
}
|
|
38
|
+
else if (process.arch === 'ia32') {
|
|
39
|
+
grubEfi = path.resolve(bootloaders, `grub/i386-efi-signed/grubia32.efi.signed`);
|
|
40
|
+
shimEfi = path.resolve(bootloaders, `shim/shimia32.efi.signed`);
|
|
41
|
+
}
|
|
42
|
+
else if (process.arch === 'arm64') {
|
|
43
|
+
grubEfi = path.resolve(bootloaders, `grub/arm64-efi-signed/grubaa64.efi.signed`);
|
|
44
|
+
shimEfi = path.resolve(bootloaders, `shim/shimaa64.efi.signed`);
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
if (signed) {
|
|
48
|
+
Utils.warning(`Your live system ${this.distroId}/${process.arch} can boot with Secure Boot enabled`);
|
|
49
|
+
}
|
|
50
|
+
else {
|
|
51
|
+
Utils.warning(`You must disable Secure Boot to boot live system ${this.distroId}/${process.arch}`);
|
|
33
52
|
}
|
|
53
|
+
// 2 secondi per leggere...
|
|
54
|
+
await new Promise(resolve => setTimeout(resolve, 2000));
|
|
34
55
|
const efiPath = path.join(this.settings.config.snapshot_mnt, '/efi/');
|
|
35
56
|
const efiWorkDir = path.join(efiPath, '/work/');
|
|
36
57
|
const efiMemdiskDir = path.join(efiPath, '/memdisk/');
|
|
37
|
-
const
|
|
58
|
+
const efiImgMnt = path.join(efiPath, 'mnt');
|
|
38
59
|
const isoDir = this.settings.iso_work;
|
|
39
|
-
//
|
|
40
|
-
await exec(`mkdir ${isoDir}/boot/grub
|
|
41
|
-
|
|
60
|
+
// create (iso)/boot/grub
|
|
61
|
+
await exec(`mkdir ${isoDir}/boot/grub/${Utils.uefiFormat()} -p`, this.echo);
|
|
62
|
+
// create (iso)/EFI
|
|
42
63
|
await exec(`mkdir ${isoDir}/EFI/boot -p`, this.echo);
|
|
43
|
-
await exec(`cp ${shimEfi}
|
|
44
|
-
await exec(`cp ${grubEfi}
|
|
64
|
+
await exec(`cp ${shimEfi} ${isoDir}/EFI/boot/${bootEfiName()}`, this.echo);
|
|
65
|
+
await exec(`cp ${grubEfi} ${isoDir}/EFI/boot/${grubEfiName()}`, this.echo);
|
|
45
66
|
// clean/create all in efiPath
|
|
46
67
|
if (fs.existsSync(efiPath)) {
|
|
47
68
|
await exec(`rm -rf ${efiPath}`);
|
|
48
69
|
}
|
|
49
70
|
await exec(`mkdir ${efiPath}`, this.echo);
|
|
50
71
|
await exec(`mkdir ${efiMemdiskDir}`, this.echo);
|
|
51
|
-
await exec(`mkdir ${
|
|
72
|
+
await exec(`mkdir ${efiImgMnt}`, this.echo);
|
|
52
73
|
await exec(`mkdir ${efiWorkDir}`, this.echo);
|
|
53
74
|
/**
|
|
54
75
|
* create efi.img
|
|
55
76
|
*/
|
|
56
|
-
|
|
77
|
+
let seeker = '';
|
|
78
|
+
seeker += `search --file --set=root /.disk/id/${this.uuid}\n`;
|
|
79
|
+
seeker += "set prefix=($root)/boot/grub\n";
|
|
80
|
+
seeker += "source $prefix/${grub_cpu}-efi/grub.cfg\n";
|
|
81
|
+
/**
|
|
82
|
+
* creating grub.cfg (1) seeker for usb on (efi.img)/boot/grub/grub.cfg
|
|
83
|
+
*/
|
|
84
|
+
Utils.warning("creating grub.cfg seeker USB on (efi.img)/boot/grub");
|
|
57
85
|
await exec(`mkdir ${path.join(efiMemdiskDir, "/boot/grub -p")}`, this.echo);
|
|
58
|
-
const
|
|
59
|
-
let
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
86
|
+
const cfgSeekerUsb = `${efiMemdiskDir}/boot/grub/grub.cfg`;
|
|
87
|
+
let cfgSeekerUsbText = '';
|
|
88
|
+
cfgSeekerUsbText += `# grub.cfg seeker\n`;
|
|
89
|
+
cfgSeekerUsbText += `# created on ${efiMemdiskDir}, path ${cfgSeekerUsb}\n`;
|
|
90
|
+
cfgSeekerUsbText += `\n`;
|
|
91
|
+
cfgSeekerUsbText += seeker;
|
|
92
|
+
Utils.write(cfgSeekerUsb, cfgSeekerUsbText);
|
|
93
|
+
/**
|
|
94
|
+
* create grub.cfg (bridge) on (iso)/boot/grub/x86_64-efi/grub.cfg
|
|
95
|
+
*/
|
|
96
|
+
Utils.warning(`creating grub.cfg bridge to main. (iso)/boot/grub/${Utils.uefiFormat()}`);
|
|
97
|
+
let cfgBridge = `${isoDir}/boot/grub/${Utils.uefiFormat()}/grub.cfg`;
|
|
98
|
+
let cfgBridgeText = `# grub.cfg bridge\n`;
|
|
99
|
+
cfgBridgeText += `# created on ${cfgBridge}\n`;
|
|
100
|
+
cfgBridgeText += `\n`;
|
|
101
|
+
cfgBridgeText += `source /boot/grub/grub.cfg\n`;
|
|
102
|
+
fs.writeFileSync(cfgBridge, cfgBridgeText);
|
|
103
|
+
/**
|
|
104
|
+
* grub bait: si applica a tutte le distro:
|
|
105
|
+
* /EFI/debian per tutti, tranne ubuntu
|
|
106
|
+
*/
|
|
107
|
+
let pathBait = path.join(isoDir, '/EFI/debian');
|
|
108
|
+
if (this.distroLike === 'Ubuntu') {
|
|
109
|
+
pathBait = path.join(isoDir, '/EFI/ubuntu');
|
|
110
|
+
}
|
|
111
|
+
await exec(`mkdir ${pathBait} -p`, this.echo);
|
|
112
|
+
Utils.warning(`creating grub.cfg seeker ISO/DVD on (iso)/${pathBait}}`);
|
|
113
|
+
let cfgBait = path.join(pathBait, '/grub.cfg');
|
|
114
|
+
let cfgBaitText = '';
|
|
115
|
+
cfgBaitText += `\n`;
|
|
116
|
+
cfgBaitText += seeker;
|
|
117
|
+
Utils.write(cfgBait, cfgBaitText);
|
|
118
|
+
/**
|
|
119
|
+
* README.md, per tutti tranne distrolike Debian ed Ubuntu
|
|
120
|
+
*/
|
|
121
|
+
let baitReadme = path.join(pathBait, '/README.md');
|
|
122
|
+
let baitReadmeText = ``;
|
|
123
|
+
if (this.distroLike !== 'Debian' && this.distroLike !== 'Ubuntu') {
|
|
124
|
+
baitReadmeText += `# penguins-eggs\n`;
|
|
125
|
+
baitReadmeText += '\n';
|
|
126
|
+
baitReadmeText += `This is just an hack, to let ${this.distroId} boot using Debian trixie bootloaders\n`;
|
|
127
|
+
fs.writeFileSync(baitReadme, baitReadmeText);
|
|
128
|
+
}
|
|
66
129
|
/**
|
|
67
130
|
* creating structure efiWordDir
|
|
68
131
|
*/
|
|
69
|
-
await exec(`mkdir -p ${efiWorkDir}/boot/grub`, this.echo);
|
|
132
|
+
await exec(`mkdir -p ${efiWorkDir}/boot/grub`, this.echo); // qua va grub.cfg 2
|
|
70
133
|
await exec(`mkdir -p ${efiWorkDir}/EFI/boot`);
|
|
71
134
|
/**
|
|
72
135
|
* create tarred efiMemdiskDir
|
|
@@ -78,31 +141,37 @@ export async function makeEfi(theme = 'eggs') {
|
|
|
78
141
|
/**
|
|
79
142
|
* Create boot image "boot/grub/efi.img"
|
|
80
143
|
*/
|
|
81
|
-
const efiImg =
|
|
144
|
+
const efiImg = path.join(efiWorkDir, `boot/grub/efi.img`);
|
|
82
145
|
await exec(`dd if=/dev/zero of=${efiImg} bs=1M count=16`, this.echo);
|
|
83
146
|
await exec(`/sbin/mkdosfs -F 12 ${efiImg}`, this.echo);
|
|
84
|
-
|
|
147
|
+
await new Promise(resolve => setTimeout(resolve, 500));
|
|
85
148
|
// mount efi.img on mountpoint mnt-img
|
|
86
|
-
await exec(`mount --make-shared -o loop ${efiImg} ${
|
|
87
|
-
|
|
149
|
+
await exec(`mount --make-shared -o loop ${efiImg} ${efiImgMnt}`, this.echo);
|
|
150
|
+
await new Promise(resolve => setTimeout(resolve, 1000));
|
|
88
151
|
// create structure inside (efi.img)
|
|
89
|
-
await exec(`mkdir -p ${
|
|
90
|
-
await exec(`mkdir -p ${
|
|
152
|
+
await exec(`mkdir -p ${efiImgMnt}/boot`, this.echo);
|
|
153
|
+
await exec(`mkdir -p ${efiImgMnt}/EFI/boot`, this.echo);
|
|
91
154
|
/**
|
|
92
155
|
* copy grubCfg1 (grub.cfg) to (efi.img)/boot/grub
|
|
93
156
|
*/
|
|
94
|
-
await exec(`cp ${
|
|
95
|
-
await exec(`cp ${shimEfi}
|
|
96
|
-
await exec(`cp ${grubEfi}
|
|
97
|
-
|
|
98
|
-
|
|
157
|
+
await exec(`cp ${cfgSeekerUsb} ${efiImgMnt}/boot/grub.cfg`, this.echo);
|
|
158
|
+
await exec(`cp ${shimEfi} ${efiImgMnt}/EFI/boot/${bootEfiName()}`, this.echo);
|
|
159
|
+
await exec(`cp ${grubEfi} ${efiImgMnt}/EFI/boot/${grubEfiName()}`, this.echo);
|
|
160
|
+
await new Promise(resolve => setTimeout(resolve, 1000));
|
|
161
|
+
if (!fs.existsSync(`${efiImgMnt}/boot/grub.cfg`)) {
|
|
162
|
+
console.log(`error copyng ${cfgSeekerUsb} seeker for USB on (efi.img)/boot/grub.cfg`);
|
|
163
|
+
process.exit(1);
|
|
164
|
+
}
|
|
165
|
+
await new Promise(resolve => setTimeout(resolve, 500));
|
|
166
|
+
await exec(`umount ${efiImgMnt}`, this.echo);
|
|
167
|
+
await new Promise(resolve => setTimeout(resolve, 500));
|
|
99
168
|
// Copy isoImg in ${${isoDir}/boot/grub
|
|
100
169
|
Utils.warning("copyng efi.img on (iso)/boot/grub");
|
|
101
170
|
await exec(`cp ${efiImg} ${isoDir}/boot/grub`, this.echo);
|
|
102
171
|
/**
|
|
103
|
-
* creating grub.cfg (
|
|
172
|
+
* creating grub.cfg (4) on (iso)/boot/grub
|
|
104
173
|
*/
|
|
105
|
-
Utils.warning("creating grub.cfg
|
|
174
|
+
Utils.warning("creating grub.cfg main on (iso)/boot/grub");
|
|
106
175
|
// copy splash to efiWorkDir
|
|
107
176
|
const splashDest = `${efiWorkDir}/boot/grub/splash.png`;
|
|
108
177
|
let splashSrc = path.resolve(__dirname, `../../../addons/${theme}/theme/livecd/splash.png`);
|
|
@@ -150,7 +219,7 @@ export async function makeEfi(theme = 'eggs') {
|
|
|
150
219
|
process.exit(1);
|
|
151
220
|
}
|
|
152
221
|
const kernel_parameters = Diversions.kernelParameters(this.familyId, this.volid); // this.kernelParameters()
|
|
153
|
-
const
|
|
222
|
+
const cfgMain = path.join(isoDir, '/boot/grub/grub.cfg');
|
|
154
223
|
const template = fs.readFileSync(grubTemplate, 'utf8');
|
|
155
224
|
const view = {
|
|
156
225
|
fullname: this.settings.remix.fullname.toUpperCase(),
|
|
@@ -159,23 +228,12 @@ export async function makeEfi(theme = 'eggs') {
|
|
|
159
228
|
kernel_parameters,
|
|
160
229
|
vmlinuz: `/live/${path.basename(this.vmlinuz)}`
|
|
161
230
|
};
|
|
162
|
-
let
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
* create loopback.cfg
|
|
169
|
-
*/
|
|
170
|
-
fs.writeFileSync(`${isoDir}/boot/grub/loopback.cfg`, 'source /boot/grub/grub.cfg\n');
|
|
171
|
-
/**
|
|
172
|
-
* create (iso)/boot/grub/x86_64-efi/grub.cfg
|
|
173
|
-
*/
|
|
174
|
-
fs.writeFileSync(`${isoDir}/boot/grub/${Utils.uefiFormat()}/grub.cfg`, 'source /boot/grub/grub.cfg\n');
|
|
175
|
-
/**
|
|
176
|
-
* config.cfg
|
|
177
|
-
*/
|
|
178
|
-
await exec(`cp ${path.resolve(__dirname, `../../../assets/config.cfg`)} ${isoDir}/boot/grub`);
|
|
231
|
+
let cfgMainText = '';
|
|
232
|
+
cfgMainText += `# grub.cfg (4) main\n`;
|
|
233
|
+
cfgMainText += `# created on ${cfgMain}`;
|
|
234
|
+
cfgMainText += `\n`;
|
|
235
|
+
cfgMainText += mustache.render(template, view);
|
|
236
|
+
fs.writeFileSync(cfgMain, cfgMainText);
|
|
179
237
|
}
|
|
180
238
|
/**
|
|
181
239
|
* FUNCTIONS
|
|
@@ -184,30 +242,33 @@ export async function makeEfi(theme = 'eggs') {
|
|
|
184
242
|
*
|
|
185
243
|
* @returns
|
|
186
244
|
*/
|
|
187
|
-
function
|
|
188
|
-
let
|
|
245
|
+
function bootEfiName() {
|
|
246
|
+
let ben = '';
|
|
189
247
|
if (process.arch === 'x64') {
|
|
190
|
-
|
|
248
|
+
ben = 'bootx64.efi';
|
|
249
|
+
}
|
|
250
|
+
else if (process.arch === 'ia32') {
|
|
251
|
+
ben = 'bootia32.efi';
|
|
191
252
|
}
|
|
192
253
|
else if (process.arch === 'arm64') {
|
|
193
|
-
|
|
254
|
+
ben = 'bootaa64.efi';
|
|
194
255
|
}
|
|
195
|
-
return
|
|
256
|
+
return ben;
|
|
196
257
|
}
|
|
197
258
|
/**
|
|
198
259
|
*
|
|
199
260
|
* @returns
|
|
200
261
|
*/
|
|
201
|
-
function
|
|
202
|
-
let
|
|
262
|
+
function grubEfiName() {
|
|
263
|
+
let gen = '';
|
|
203
264
|
if (process.arch === 'x64') {
|
|
204
|
-
|
|
265
|
+
gen = 'grubx64.efi';
|
|
266
|
+
}
|
|
267
|
+
else if (process.arch === 'ia32') {
|
|
268
|
+
gen = 'grub ia32.efi';
|
|
205
269
|
}
|
|
206
270
|
else if (process.arch === 'arm64') {
|
|
207
|
-
|
|
271
|
+
gen = 'grubaa64.efi';
|
|
208
272
|
}
|
|
209
|
-
return
|
|
210
|
-
}
|
|
211
|
-
function moduleEFI() {
|
|
212
|
-
return `x86_64-efi`;
|
|
273
|
+
return gen;
|
|
213
274
|
}
|
|
@@ -22,7 +22,7 @@ export async function makeIso(cmd, scriptOnly = false) {
|
|
|
22
22
|
console.log('Ovary: makeIso');
|
|
23
23
|
}
|
|
24
24
|
Utils.writeX(`${this.settings.work_dir.ovarium}mkisofs`, cmd);
|
|
25
|
-
// Create link to iso
|
|
25
|
+
// Create link to iso ALLWAYS
|
|
26
26
|
const src = this.settings.config.snapshot_mnt + this.settings.isoFilename;
|
|
27
27
|
const dest = this.settings.config.snapshot_dir + this.settings.isoFilename;
|
|
28
28
|
await exec(`ln -s ${src} ${dest}`);
|
|
@@ -187,7 +187,11 @@ export async function produce(kernel = '', clone = false, cryptedclone = false,
|
|
|
187
187
|
*/
|
|
188
188
|
this.incubator = new Incubator(this.settings.remix, this.settings.distro, this.settings.config.user_opt, this.theme, this.clone, verbose);
|
|
189
189
|
await this.incubator.config(release);
|
|
190
|
-
|
|
190
|
+
// need syslinux?
|
|
191
|
+
const arch = process.arch;
|
|
192
|
+
if (arch === 'ia32' || arch === 'x64') {
|
|
193
|
+
await this.syslinux(this.theme);
|
|
194
|
+
}
|
|
191
195
|
await this.kernelCopy();
|
|
192
196
|
/**
|
|
193
197
|
* spostare alla fine per dracut
|
|
@@ -17,20 +17,22 @@ 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
|
-
|
|
20
|
+
let bootloaders = '/usr/lib/';
|
|
21
21
|
/**
|
|
22
22
|
* syslinux: da syspath
|
|
23
23
|
*/
|
|
24
24
|
export async function syslinux(theme = 'eggs') {
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
await exec(`cp ${
|
|
30
|
-
|
|
31
|
-
await exec(`cp ${
|
|
32
|
-
await exec(`cp ${
|
|
33
|
-
await exec(`cp ${
|
|
25
|
+
const bootloaders = Diversions.bootloaders(this.familyId);
|
|
26
|
+
let sysPath = path.join(bootloaders, 'syslinux/modules/bios');
|
|
27
|
+
let isoPath = path.join(bootloaders, 'ISOLINUX');
|
|
28
|
+
await exec(`cp ${sysPath}/chain.c32 ${this.settings.iso_work}/isolinux/`, this.echo);
|
|
29
|
+
await exec(`cp ${isoPath}/isohdpfx.bin ${this.settings.iso_work}/isolinux/`, this.echo);
|
|
30
|
+
// just for x64 arch
|
|
31
|
+
await exec(`cp ${isoPath}/isolinux.bin ${this.settings.iso_work}/isolinux/`, this.echo);
|
|
32
|
+
await exec(`cp ${sysPath}/ldlinux.c32 ${this.settings.iso_work}/isolinux/`, this.echo);
|
|
33
|
+
await exec(`cp ${sysPath}/libcom32.c32 ${this.settings.iso_work}/isolinux/`, this.echo);
|
|
34
|
+
await exec(`cp ${sysPath}/libutil.c32 ${this.settings.iso_work}/isolinux/`, this.echo);
|
|
35
|
+
await exec(`cp ${sysPath}/vesamenu.c32 ${this.settings.iso_work}/isolinux/`, this.echo);
|
|
34
36
|
const isolinuxThemeDest = this.settings.iso_work + 'isolinux/isolinux.theme.cfg';
|
|
35
37
|
let isolinuxThemeSrc = path.resolve(__dirname, `../../../addons/${theme}/theme/livecd/isolinux.theme.cfg`);
|
|
36
38
|
if (this.theme.includes('/')) {
|
|
@@ -10,6 +10,7 @@ import fs from 'node:fs';
|
|
|
10
10
|
import path from 'node:path';
|
|
11
11
|
import Pacman from '../pacman.js';
|
|
12
12
|
import Utils from '../utils.js';
|
|
13
|
+
import Diversions from '../diversions.js';
|
|
13
14
|
// _dirname
|
|
14
15
|
const __dirname = path.dirname(new URL(import.meta.url).pathname);
|
|
15
16
|
/**
|
|
@@ -45,15 +46,60 @@ export async function xorrisoCommand(clone = false, cryptedclone = false) {
|
|
|
45
46
|
// const preparer = '-preparer "prepared by eggs <https://penguins-eggs.net>" '
|
|
46
47
|
let isoHybridMbr = '';
|
|
47
48
|
if (this.settings.config.make_isohybrid) {
|
|
48
|
-
const
|
|
49
|
-
|
|
50
|
-
|
|
49
|
+
const bootloaders = Diversions.bootloaders(this.familyId);
|
|
50
|
+
const isohybridFile = path.resolve(bootloaders, `ISOLINUX/isohdpfx.bin`);
|
|
51
|
+
if (fs.existsSync(isohybridFile)) {
|
|
52
|
+
isoHybridMbr = `-isohybrid-mbr ${isohybridFile}`;
|
|
51
53
|
}
|
|
52
54
|
else {
|
|
53
|
-
Utils.warning(`Can't create isohybrid image
|
|
55
|
+
Utils.warning(`Can't create isohybrid image, file: ${isohybridFile} not found!`);
|
|
56
|
+
process.exit();
|
|
54
57
|
}
|
|
55
58
|
}
|
|
56
|
-
|
|
59
|
+
// su arm no isolinux
|
|
60
|
+
let isolinuxBin = '';
|
|
61
|
+
let isolinuxCat = '';
|
|
62
|
+
let noemulboot = '';
|
|
63
|
+
let bootloadsize = '';
|
|
64
|
+
let bootinfotable = '';
|
|
65
|
+
if (process.arch !== 'arm64') {
|
|
66
|
+
isolinuxBin = `-b isolinux/isolinux.bin`;
|
|
67
|
+
isolinuxCat = `-c isolinux/boot.cat`;
|
|
68
|
+
noemulboot = '-no-emul-boot';
|
|
69
|
+
bootloadsize = '-boot-load-size 4';
|
|
70
|
+
bootinfotable = '-boot-info-table';
|
|
71
|
+
}
|
|
72
|
+
if (Pacman.packageIsInstalled('xorriso')) {
|
|
73
|
+
let uefi_elToritoAltBoot = '';
|
|
74
|
+
let uefi_e = '';
|
|
75
|
+
let uefi_isohybridGptBasdat = '';
|
|
76
|
+
let uefi_noEmulBoot = '';
|
|
77
|
+
if (this.settings.config.make_efi) {
|
|
78
|
+
uefi_elToritoAltBoot = '-eltorito-alt-boot';
|
|
79
|
+
uefi_e = '-e boot/grub/efi.img';
|
|
80
|
+
uefi_isohybridGptBasdat = '-isohybrid-gpt-basdat';
|
|
81
|
+
uefi_noEmulBoot = '-no-emul-boot';
|
|
82
|
+
}
|
|
83
|
+
command = `xorriso -as mkisofs \
|
|
84
|
+
-J \
|
|
85
|
+
-joliet-long \
|
|
86
|
+
-l \
|
|
87
|
+
-iso-level 3 \
|
|
88
|
+
${isoHybridMbr} \
|
|
89
|
+
-partition_offset 16 \
|
|
90
|
+
-V ${this.volid} \
|
|
91
|
+
${isolinuxBin} \
|
|
92
|
+
${isolinuxCat} \
|
|
93
|
+
-no-emul-boot \
|
|
94
|
+
-boot-load-size 4 \
|
|
95
|
+
-boot-info-table \
|
|
96
|
+
${uefi_elToritoAltBoot} \
|
|
97
|
+
${uefi_e} \
|
|
98
|
+
${uefi_isohybridGptBasdat} \
|
|
99
|
+
${uefi_noEmulBoot} \
|
|
100
|
+
-o ${output} ${this.settings.iso_work}`;
|
|
101
|
+
}
|
|
102
|
+
else {
|
|
57
103
|
this.genisoimage = true;
|
|
58
104
|
command = `genisoimage \
|
|
59
105
|
-iso-level 3 \
|
|
@@ -71,49 +117,7 @@ export async function xorrisoCommand(clone = false, cryptedclone = false) {
|
|
|
71
117
|
-boot-info-table \
|
|
72
118
|
-eltorito-alt-boot \
|
|
73
119
|
-e boot/grub/efi.img \
|
|
74
|
-
-no-emul-boot \
|
|
75
120
|
-o ${output} ${this.settings.iso_work}`;
|
|
76
|
-
return command;
|
|
77
|
-
}
|
|
78
|
-
/**
|
|
79
|
-
* xorriso
|
|
80
|
-
*/
|
|
81
|
-
// uefi_opt="-uefi_elToritoAltBoot-alt-boot -e boot/grub/efi.img -isohybrid-gpt-basdat -no-emul-boot"
|
|
82
|
-
let uefi_elToritoAltBoot = '';
|
|
83
|
-
let uefi_e = '';
|
|
84
|
-
let uefi_isohybridGptBasdat = '';
|
|
85
|
-
let uefi_noEmulBoot = '';
|
|
86
|
-
if (this.settings.config.make_efi) {
|
|
87
|
-
uefi_elToritoAltBoot = '-eltorito-alt-boot';
|
|
88
|
-
uefi_e = '-e boot/grub/efi.img';
|
|
89
|
-
uefi_isohybridGptBasdat = '-isohybrid-gpt-basdat';
|
|
90
|
-
uefi_noEmulBoot = '-no-emul-boot';
|
|
91
121
|
}
|
|
92
|
-
/**
|
|
93
|
-
* L'immagine efi è efi.img ed è
|
|
94
|
-
* presente in boot/grub/efi.img
|
|
95
|
-
* per cui:
|
|
96
|
-
* -append_partition 2 0xef efi.img
|
|
97
|
-
* --efi-boot efi.img
|
|
98
|
-
* non sono necessari
|
|
99
|
-
*/
|
|
100
|
-
command = `xorriso -as mkisofs \
|
|
101
|
-
-J \
|
|
102
|
-
-joliet-long \
|
|
103
|
-
-l \
|
|
104
|
-
-iso-level 3 \
|
|
105
|
-
${isoHybridMbr} \
|
|
106
|
-
-partition_offset 16 \
|
|
107
|
-
-V ${this.volid} \
|
|
108
|
-
-b isolinux/isolinux.bin \
|
|
109
|
-
-c isolinux/boot.cat \
|
|
110
|
-
-no-emul-boot \
|
|
111
|
-
-boot-load-size 4 \
|
|
112
|
-
-boot-info-table \
|
|
113
|
-
${uefi_elToritoAltBoot} \
|
|
114
|
-
${uefi_e} \
|
|
115
|
-
${uefi_isohybridGptBasdat} \
|
|
116
|
-
${uefi_noEmulBoot} \
|
|
117
|
-
-o ${output} ${this.settings.iso_work}`;
|
|
118
122
|
return command;
|
|
119
123
|
}
|
package/dist/classes/pacman.js
CHANGED
|
@@ -380,6 +380,13 @@ export default class Pacman {
|
|
|
380
380
|
else if (codenameLikeId === 'trixie') {
|
|
381
381
|
const dest = '/etc/penguins-eggs.d/distros/trixie';
|
|
382
382
|
await exec(`cp -r ${buster}/calamares ${dest}/calamares`, echo);
|
|
383
|
+
/**
|
|
384
|
+
* Debian 14 forky eredita tutto da buster
|
|
385
|
+
*/
|
|
386
|
+
}
|
|
387
|
+
else if (codenameLikeId === 'forky') {
|
|
388
|
+
const dest = '/etc/penguins-eggs.d/distros/forky';
|
|
389
|
+
await exec(`cp -r ${buster}/calamares ${dest}/calamares`, echo);
|
|
383
390
|
/***********************************************************************************
|
|
384
391
|
* Devuan
|
|
385
392
|
**********************************************************************************/
|
package/dist/classes/pxe.d.ts
CHANGED
|
@@ -21,14 +21,13 @@ export default class Pxe {
|
|
|
21
21
|
pxeRoot: string;
|
|
22
22
|
distro: Distro;
|
|
23
23
|
settings: Settings;
|
|
24
|
-
verbose: boolean;
|
|
25
24
|
vmlinuz: string;
|
|
26
25
|
/**
|
|
27
26
|
* constructor
|
|
28
27
|
* @param nest
|
|
29
28
|
* @param pxeRoot
|
|
30
29
|
*/
|
|
31
|
-
constructor(nest?: string, pxeRoot?: string);
|
|
30
|
+
constructor(nest?: string, pxeRoot?: string, verbose?: boolean);
|
|
32
31
|
/**
|
|
33
32
|
* fertilization()
|
|
34
33
|
*
|