penguins-eggs 25.8.6 → 25.9.2
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 +37 -33
- package/README.pdf +2720 -2021
- 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/initrd.js +4 -4
- package/dist/classes/ovary.d/kernel-copy.js +1 -1
- 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 +132 -71
- package/dist/classes/ovary.d/make-iso.js +1 -1
- package/dist/classes/ovary.d/make-squashfs.js +1 -1
- package/dist/classes/ovary.d/produce.js +7 -3
- 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 +36 -30
- package/dist/classes/utils.d/kernel.d.ts +6 -56
- package/dist/classes/utils.d/kernel.js +51 -281
- package/dist/classes/utils.js +16 -8
- package/dist/commands/cuckoo.d.ts +1 -0
- package/dist/commands/cuckoo.js +3 -2
- package/dist/commands/export/pkg.js +1 -1
- package/dist/krill/classes/sequence.d/add_user.js +6 -0
- package/dist/krill/classes/sequence.d/bootloader.js +9 -1
- package/dist/krill/classes/sequence.js +1 -1
- package/dist/lib/utils.js +1 -0
- package/manpages/doc/man/eggs.1.gz +0 -0
- package/manpages/doc/man/eggs.html +46 -18
- package/package.json +9 -10
- package/perrisbrewery/template/dependencies-bionic.yaml +25 -4
- 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 +0 -0
- package/dist/penguins-eggs_25.8.6-bionic-1_amd64.deb.sha256 +0 -1
|
@@ -25,63 +25,13 @@ export default class Kernel {
|
|
|
25
25
|
* ALL PRIVATE
|
|
26
26
|
*/
|
|
27
27
|
/**
|
|
28
|
-
*
|
|
29
|
-
*
|
|
30
|
-
* se non è presente - come nel caso di Franco Conidi - lo ricostruisce da initrd
|
|
31
|
-
*/
|
|
32
|
-
private static vmlinuxFromCmdline;
|
|
33
|
-
/**
|
|
34
|
-
*
|
|
35
|
-
* @param kernel
|
|
36
|
-
* @returns
|
|
37
|
-
*/
|
|
38
|
-
private static vmLinuxFromFiles;
|
|
39
|
-
/**
|
|
40
|
-
* Rileva automaticamente il kernel dai moduli disponibili
|
|
41
|
-
*/
|
|
42
|
-
private static detectKernelFromModules;
|
|
43
|
-
/**
|
|
44
|
-
* Ottiene il path per un kernel specifico
|
|
28
|
+
* most of the distros:
|
|
29
|
+
* debian, fedora, opensuse, rasberry
|
|
45
30
|
*/
|
|
46
|
-
private static
|
|
31
|
+
private static vmlinuxFromUname;
|
|
47
32
|
/**
|
|
48
|
-
*
|
|
49
|
-
|
|
50
|
-
private static getKernelModulesPath;
|
|
51
|
-
/**
|
|
52
|
-
* Ottiene la lista dei kernel disponibili, ordinati
|
|
53
|
-
*/
|
|
54
|
-
private static getAvailableKernels;
|
|
55
|
-
/**
|
|
56
|
-
* Gestisce il rilevamento del kernel per Arch Linux
|
|
57
|
-
*/
|
|
58
|
-
private static getArchLinuxKernelPath;
|
|
59
|
-
/**
|
|
60
|
-
* Gestisce il path del kernel per Manjaro
|
|
61
|
-
*/
|
|
62
|
-
private static getManjaroKernelPath;
|
|
63
|
-
/**
|
|
64
|
-
* Gestisce il path del kernel standard per Arch Linux
|
|
65
|
-
*/
|
|
66
|
-
private static getStandardArchKernelPath;
|
|
67
|
-
/**
|
|
68
|
-
* Gestisce il kernel specifico per Arch Linux
|
|
69
|
-
*/
|
|
70
|
-
private static getArchLinuxSpecificKernel;
|
|
71
|
-
/**
|
|
72
|
-
* Gestisce initramfs per Arch Linux
|
|
73
|
-
*/
|
|
74
|
-
private static getArchInitramfs;
|
|
75
|
-
/**
|
|
76
|
-
* Lista i kernel disponibili in /boot per debugging
|
|
77
|
-
*/
|
|
78
|
-
private static listAvailableKernels;
|
|
79
|
-
/**
|
|
80
|
-
* Lista gli initramfs disponibili in /boot per debugging
|
|
81
|
-
*/
|
|
82
|
-
private static listAvailableInitramfs;
|
|
83
|
-
/**
|
|
84
|
-
* Ottiene informazioni sul kernel corrente
|
|
33
|
+
* vmlinuxFromCmdline
|
|
34
|
+
* raspbery /proc/cmdline dont contain it
|
|
85
35
|
*/
|
|
86
|
-
private static
|
|
36
|
+
private static vmlinuxFromCmdline;
|
|
87
37
|
}
|
|
@@ -7,9 +7,9 @@
|
|
|
7
7
|
import fs from 'node:fs';
|
|
8
8
|
import path from 'path';
|
|
9
9
|
import Distro from '../distro.js';
|
|
10
|
-
import Diversions from '../diversions.js';
|
|
11
10
|
import Utils from '../utils.js';
|
|
12
11
|
import { execSync } from 'node:child_process';
|
|
12
|
+
import Diversions from '../diversions.js';
|
|
13
13
|
/**
|
|
14
14
|
* Kernel utilities for managing vmlinuz and initramfs paths
|
|
15
15
|
*/
|
|
@@ -21,18 +21,23 @@ export default class Kernel {
|
|
|
21
21
|
*/
|
|
22
22
|
static vmlinuz(kernel = '') {
|
|
23
23
|
let vmlinuz = '';
|
|
24
|
-
/**
|
|
25
|
-
* metodo /proc/cmdline
|
|
26
|
-
*/
|
|
27
24
|
if (!Utils.isContainer()) {
|
|
28
|
-
vmlinuz = this.
|
|
25
|
+
vmlinuz = this.vmlinuxFromUname();
|
|
26
|
+
if (vmlinuz === '') {
|
|
27
|
+
vmlinuz = this.vmlinuxFromCmdline();
|
|
28
|
+
if (vmlinuz === '') {
|
|
29
|
+
console.log('vmlinuz not found');
|
|
30
|
+
process.exit(1);
|
|
31
|
+
}
|
|
32
|
+
}
|
|
29
33
|
}
|
|
30
34
|
else {
|
|
31
|
-
|
|
35
|
+
Utils.warning("cannot work on containers actually!");
|
|
36
|
+
process.exit(1);
|
|
32
37
|
}
|
|
33
38
|
if (!fs.existsSync(vmlinuz)) {
|
|
34
39
|
console.log(`file ${vmlinuz} does not exist!`);
|
|
35
|
-
process.exit();
|
|
40
|
+
process.exit(1);
|
|
36
41
|
}
|
|
37
42
|
return vmlinuz;
|
|
38
43
|
}
|
|
@@ -50,36 +55,41 @@ export default class Kernel {
|
|
|
50
55
|
kernel = execSync('uname -r').toString().trim();
|
|
51
56
|
}
|
|
52
57
|
else {
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
const latestKernel = kernels[kernels.length - 1];
|
|
56
|
-
kernel = latestKernel;
|
|
58
|
+
Utils.warning("cannot work on containers actually!");
|
|
59
|
+
process.exit(1);
|
|
57
60
|
}
|
|
58
61
|
}
|
|
59
|
-
|
|
60
|
-
|
|
62
|
+
// rolling...
|
|
63
|
+
if (distro.familyId === "alpine") {
|
|
64
|
+
let suffix = kernel.substring(kernel.lastIndexOf('-'));
|
|
65
|
+
initramfs = `/boot/initramfs${suffix}`;
|
|
66
|
+
}
|
|
67
|
+
else if (distro.familyId === "archlinux" && (!Diversions.isManjaroBased(distro.distroId))) {
|
|
68
|
+
let suffix = kernel.substring(kernel.lastIndexOf('-'));
|
|
69
|
+
initramfs = `/boot/initramfs-linux${suffix}.img`;
|
|
61
70
|
}
|
|
62
|
-
else if (distro.familyId === "
|
|
63
|
-
|
|
71
|
+
else if (distro.familyId === "archlinux" && (Diversions.isManjaroBased(distro.distroId))) {
|
|
72
|
+
let version = kernel.split('.').slice(0, 2).join('.');
|
|
73
|
+
initramfs = `/boot/initramfs-${version}-x86_64.img`;
|
|
64
74
|
}
|
|
65
75
|
else {
|
|
66
|
-
// Gestione generica per le altre distro (Debian, Fedora, SUSE,
|
|
67
|
-
const
|
|
68
|
-
`/boot/initrd.img-${kernel}`, // Debian, Ubuntu
|
|
69
|
-
`/boot/initramfs-${kernel}.img`, // Fedora, RHEL
|
|
76
|
+
// Gestione generica per le altre distro (Debian, Fedora, SUSE, OpenMamba, cc.)
|
|
77
|
+
const candidates = [
|
|
78
|
+
`/boot/initrd.img-${kernel}`, // Debian, Ubuntu
|
|
79
|
+
`/boot/initramfs-${kernel}.img`, // Fedora, RHEL
|
|
80
|
+
`/boot/initramfs-${kernel}-1mamba-x86_64.img`, // Openmamba
|
|
70
81
|
`/boot/initrd-${kernel}`, // openSUSE
|
|
71
|
-
`/boot/initramfs-${kernel}
|
|
82
|
+
`/boot/initramfs-${kernel}`, // fallbacks
|
|
72
83
|
];
|
|
73
|
-
for (const
|
|
74
|
-
if (fs.existsSync(
|
|
75
|
-
initramfs =
|
|
84
|
+
for (const candidate of candidates) {
|
|
85
|
+
if (fs.existsSync(candidate)) {
|
|
86
|
+
initramfs = candidate;
|
|
76
87
|
break;
|
|
77
88
|
}
|
|
78
89
|
}
|
|
79
90
|
}
|
|
80
91
|
if (!fs.existsSync(initramfs)) {
|
|
81
92
|
console.error(`ERROR: initramfs file ${initramfs} does not exist!`);
|
|
82
|
-
this.listAvailableInitramfs();
|
|
83
93
|
process.exit(1);
|
|
84
94
|
}
|
|
85
95
|
return initramfs;
|
|
@@ -87,10 +97,23 @@ export default class Kernel {
|
|
|
87
97
|
/**
|
|
88
98
|
* ALL PRIVATE
|
|
89
99
|
*/
|
|
100
|
+
/**
|
|
101
|
+
* most of the distros:
|
|
102
|
+
* debian, fedora, opensuse, rasberry
|
|
103
|
+
*/
|
|
104
|
+
static vmlinuxFromUname() {
|
|
105
|
+
const kernelVersion = execSync('uname -r').toString().trim();
|
|
106
|
+
let kernelPath = `/boot/vmlinuz-${kernelVersion}`;
|
|
107
|
+
if (fs.existsSync(kernelPath)) {
|
|
108
|
+
return kernelPath;
|
|
109
|
+
}
|
|
110
|
+
else {
|
|
111
|
+
return '';
|
|
112
|
+
}
|
|
113
|
+
}
|
|
90
114
|
/**
|
|
91
115
|
* vmlinuxFromCmdline
|
|
92
|
-
*
|
|
93
|
-
* se non è presente - come nel caso di Franco Conidi - lo ricostruisce da initrd
|
|
116
|
+
* raspbery /proc/cmdline dont contain it
|
|
94
117
|
*/
|
|
95
118
|
static vmlinuxFromCmdline() {
|
|
96
119
|
let distro = new Distro();
|
|
@@ -112,7 +135,8 @@ export default class Kernel {
|
|
|
112
135
|
}
|
|
113
136
|
});
|
|
114
137
|
// btrfs: eg: /@root/boot/vmlinuz
|
|
115
|
-
if (vmlinuz.indexOf('@')) {
|
|
138
|
+
//if (vmlinuz.indexOf('@')) {
|
|
139
|
+
if (vmlinuz.includes('@')) {
|
|
116
140
|
let subvolumeEnd = vmlinuz.indexOf('/', vmlinuz.indexOf('@'));
|
|
117
141
|
vmlinuz = vmlinuz.substring(subvolumeEnd);
|
|
118
142
|
}
|
|
@@ -124,260 +148,6 @@ export default class Kernel {
|
|
|
124
148
|
vmlinuz = `/boot${vmlinuz}`;
|
|
125
149
|
}
|
|
126
150
|
}
|
|
127
|
-
/**
|
|
128
|
-
* If vmlinuz not found
|
|
129
|
-
*/
|
|
130
|
-
if (vmlinuz === '') {
|
|
131
|
-
let version = 'linux';
|
|
132
|
-
if (distro.familyId === 'debian') {
|
|
133
|
-
cmdline.forEach(cmd => {
|
|
134
|
-
if (cmd.includes('initrd.img')) {
|
|
135
|
-
version = cmd.substring(cmd.indexOf('initrd.img') + 10);
|
|
136
|
-
}
|
|
137
|
-
});
|
|
138
|
-
}
|
|
139
|
-
else if (distro.distroId === 'Manjaro') {
|
|
140
|
-
cmdline.forEach(cmd => {
|
|
141
|
-
if (cmd.includes('initrd.img')) {
|
|
142
|
-
version = cmd.substring(cmd.indexOf('initrd.img') + 10);
|
|
143
|
-
}
|
|
144
|
-
});
|
|
145
|
-
}
|
|
146
|
-
vmlinuz = '/boot/vmlinuz-' + version;
|
|
147
|
-
}
|
|
148
151
|
return vmlinuz;
|
|
149
152
|
}
|
|
150
|
-
/**
|
|
151
|
-
*
|
|
152
|
-
* @param kernel
|
|
153
|
-
* @returns
|
|
154
|
-
*/
|
|
155
|
-
static vmLinuxFromFiles(kernel = '') {
|
|
156
|
-
const distro = new Distro();
|
|
157
|
-
let vmlinuz = '';
|
|
158
|
-
if (kernel === '') {
|
|
159
|
-
// Auto-detection del kernel dai moduli disponibili
|
|
160
|
-
vmlinuz = this.detectKernelFromModules(distro);
|
|
161
|
-
}
|
|
162
|
-
else {
|
|
163
|
-
// Kernel specificato manualmente
|
|
164
|
-
vmlinuz = this.getSpecificKernelPath(kernel, distro);
|
|
165
|
-
}
|
|
166
|
-
// Validazione finale
|
|
167
|
-
if (!fs.existsSync(vmlinuz)) {
|
|
168
|
-
console.error(`ERROR: file ${vmlinuz} does not exist!`);
|
|
169
|
-
console.error('Available kernels in /boot:');
|
|
170
|
-
this.listAvailableKernels();
|
|
171
|
-
process.exit(1);
|
|
172
|
-
}
|
|
173
|
-
return vmlinuz;
|
|
174
|
-
}
|
|
175
|
-
/**
|
|
176
|
-
* Rileva automaticamente il kernel dai moduli disponibili
|
|
177
|
-
*/
|
|
178
|
-
static detectKernelFromModules(distro) {
|
|
179
|
-
const kernelModulesPath = this.getKernelModulesPath();
|
|
180
|
-
const kernels = this.getAvailableKernels(kernelModulesPath);
|
|
181
|
-
if (kernels.length === 0) {
|
|
182
|
-
throw new Error(`No kernels found in ${kernelModulesPath}`);
|
|
183
|
-
}
|
|
184
|
-
if (distro.familyId === "archlinux") {
|
|
185
|
-
return this.getArchLinuxKernelPath(distro, kernelModulesPath, kernels);
|
|
186
|
-
}
|
|
187
|
-
else if (distro.familyId === "alpine") {
|
|
188
|
-
return `/boot/vmlinuz-lts`;
|
|
189
|
-
}
|
|
190
|
-
else {
|
|
191
|
-
// Per Debian/Ubuntu usa l'ultimo kernel disponibile
|
|
192
|
-
const latestKernel = kernels[kernels.length - 1];
|
|
193
|
-
return `/boot/vmlinuz-${latestKernel}`;
|
|
194
|
-
}
|
|
195
|
-
}
|
|
196
|
-
/**
|
|
197
|
-
* Ottiene il path per un kernel specifico
|
|
198
|
-
*/
|
|
199
|
-
static getSpecificKernelPath(kernel, distro) {
|
|
200
|
-
if (distro.familyId === "archlinux") {
|
|
201
|
-
return this.getArchLinuxSpecificKernel(kernel, distro);
|
|
202
|
-
}
|
|
203
|
-
else if (distro.familyId === "alpine") {
|
|
204
|
-
return `vmlinuz-lts`;
|
|
205
|
-
}
|
|
206
|
-
else {
|
|
207
|
-
return `/boot/vmlinuz-${kernel}`;
|
|
208
|
-
}
|
|
209
|
-
}
|
|
210
|
-
/**
|
|
211
|
-
* Trova la directory dei moduli del kernel
|
|
212
|
-
*/
|
|
213
|
-
static getKernelModulesPath() {
|
|
214
|
-
const possiblePaths = ['/usr/lib/modules', '/lib/modules'];
|
|
215
|
-
for (const path of possiblePaths) {
|
|
216
|
-
if (fs.existsSync(path)) {
|
|
217
|
-
return path;
|
|
218
|
-
}
|
|
219
|
-
}
|
|
220
|
-
throw new Error('No kernel modules directory found');
|
|
221
|
-
}
|
|
222
|
-
/**
|
|
223
|
-
* Ottiene la lista dei kernel disponibili, ordinati
|
|
224
|
-
*/
|
|
225
|
-
static getAvailableKernels(modulesPath) {
|
|
226
|
-
try {
|
|
227
|
-
const kernels = fs.readdirSync(modulesPath);
|
|
228
|
-
return kernels.sort();
|
|
229
|
-
}
|
|
230
|
-
catch (error) {
|
|
231
|
-
throw new Error(`Cannot read kernel modules from ${modulesPath}: ${error}`);
|
|
232
|
-
}
|
|
233
|
-
}
|
|
234
|
-
/**
|
|
235
|
-
* Gestisce il rilevamento del kernel per Arch Linux
|
|
236
|
-
*/
|
|
237
|
-
static getArchLinuxKernelPath(distro, modulesPath, kernels) {
|
|
238
|
-
if (Diversions.isManjaroBased(distro.distroId)) {
|
|
239
|
-
return this.getManjaroKernelPath(kernels);
|
|
240
|
-
}
|
|
241
|
-
else {
|
|
242
|
-
return this.getStandardArchKernelPath(kernels[0]);
|
|
243
|
-
}
|
|
244
|
-
}
|
|
245
|
-
/**
|
|
246
|
-
* Gestisce il path del kernel per Manjaro
|
|
247
|
-
*/
|
|
248
|
-
static getManjaroKernelPath(kernels) {
|
|
249
|
-
const latestKernel = kernels[kernels.length - 1];
|
|
250
|
-
const versionMatch = latestKernel.match(/^(\d+)\.(\d+)\./);
|
|
251
|
-
if (!versionMatch) {
|
|
252
|
-
throw new Error(`Cannot parse Manjaro kernel version from: ${latestKernel}`);
|
|
253
|
-
}
|
|
254
|
-
const [, major, minor] = versionMatch;
|
|
255
|
-
return `/boot/vmlinuz-${major}.${minor}-x86_64`;
|
|
256
|
-
}
|
|
257
|
-
/**
|
|
258
|
-
* Gestisce il path del kernel standard per Arch Linux
|
|
259
|
-
*/
|
|
260
|
-
static getStandardArchKernelPath(firstKernel) {
|
|
261
|
-
const kernelTypeMap = [
|
|
262
|
-
{ pattern: '-lts', name: 'linux-lts' },
|
|
263
|
-
{ pattern: '-hardened', name: 'linux-hardened' },
|
|
264
|
-
{ pattern: '-zen', name: 'linux-zen' }
|
|
265
|
-
];
|
|
266
|
-
// Cerca un tipo specifico di kernel
|
|
267
|
-
for (const { pattern, name } of kernelTypeMap) {
|
|
268
|
-
if (firstKernel.includes(pattern)) {
|
|
269
|
-
return `/boot/vmlinuz-${name}`;
|
|
270
|
-
}
|
|
271
|
-
}
|
|
272
|
-
// Default: kernel linux standard
|
|
273
|
-
return '/boot/vmlinuz-linux';
|
|
274
|
-
}
|
|
275
|
-
/**
|
|
276
|
-
* Gestisce il kernel specifico per Arch Linux
|
|
277
|
-
*/
|
|
278
|
-
static getArchLinuxSpecificKernel(kernel, distro) {
|
|
279
|
-
if (Diversions.isManjaroBased(distro.distroId)) {
|
|
280
|
-
const versionMatch = kernel.match(/^(\d+)\.(\d+)\./);
|
|
281
|
-
if (versionMatch) {
|
|
282
|
-
const [, major, minor] = versionMatch;
|
|
283
|
-
return `/boot/vmlinuz-${major}.${minor}-x86_64`;
|
|
284
|
-
}
|
|
285
|
-
}
|
|
286
|
-
// Cerca i kernel Arch in ordine di preferenza
|
|
287
|
-
const archKernelCandidates = [
|
|
288
|
-
'/boot/vmlinuz-linux',
|
|
289
|
-
'/boot/vmlinuz-linux-lts',
|
|
290
|
-
'/boot/vmlinuz-linux-rt'
|
|
291
|
-
];
|
|
292
|
-
for (const candidate of archKernelCandidates) {
|
|
293
|
-
if (fs.existsSync(candidate)) {
|
|
294
|
-
return candidate;
|
|
295
|
-
}
|
|
296
|
-
}
|
|
297
|
-
// Se nessun candidato è trovato, prova con il pattern originale
|
|
298
|
-
return `/boot/vmlinuz-${kernel}`;
|
|
299
|
-
}
|
|
300
|
-
/**
|
|
301
|
-
* Gestisce initramfs per Arch Linux
|
|
302
|
-
*/
|
|
303
|
-
static getArchInitramfs(kernel, distro) {
|
|
304
|
-
if (Diversions.isManjaroBased(distro.distroId)) {
|
|
305
|
-
const versionMatch = kernel.match(/^(\d+)\.(\d+)\./);
|
|
306
|
-
if (versionMatch) {
|
|
307
|
-
const [, major, minor] = versionMatch;
|
|
308
|
-
return `/boot/initramfs-${major}.${minor}-x86_64.img`;
|
|
309
|
-
}
|
|
310
|
-
}
|
|
311
|
-
// Standard Arch initramfs paths
|
|
312
|
-
const archInitramfsCandidates = [
|
|
313
|
-
'/boot/initramfs-linux.img',
|
|
314
|
-
'/boot/initramfs-linux-lts.img',
|
|
315
|
-
'/boot/initramfs-linux-rt.img',
|
|
316
|
-
'/boot/initramfs-linux-zen.img',
|
|
317
|
-
'/boot/initramfs-linux-hardened.img'
|
|
318
|
-
];
|
|
319
|
-
for (const candidate of archInitramfsCandidates) {
|
|
320
|
-
if (fs.existsSync(candidate)) {
|
|
321
|
-
return candidate;
|
|
322
|
-
}
|
|
323
|
-
}
|
|
324
|
-
// Fallback generico
|
|
325
|
-
return `/boot/initramfs-${kernel}.img`;
|
|
326
|
-
}
|
|
327
|
-
/**
|
|
328
|
-
* Lista i kernel disponibili in /boot per debugging
|
|
329
|
-
*/
|
|
330
|
-
static listAvailableKernels() {
|
|
331
|
-
try {
|
|
332
|
-
const bootFiles = fs.readdirSync('/boot')
|
|
333
|
-
.filter(f => f.startsWith('vmlinuz'))
|
|
334
|
-
.sort();
|
|
335
|
-
if (bootFiles.length > 0) {
|
|
336
|
-
bootFiles.forEach(file => console.error(` - ${file}`));
|
|
337
|
-
}
|
|
338
|
-
else {
|
|
339
|
-
console.error(' No vmlinuz files found in /boot');
|
|
340
|
-
}
|
|
341
|
-
}
|
|
342
|
-
catch (error) {
|
|
343
|
-
console.error(' Cannot read /boot directory');
|
|
344
|
-
}
|
|
345
|
-
}
|
|
346
|
-
/**
|
|
347
|
-
* Lista gli initramfs disponibili in /boot per debugging
|
|
348
|
-
*/
|
|
349
|
-
static listAvailableInitramfs() {
|
|
350
|
-
try {
|
|
351
|
-
const bootFiles = fs.readdirSync('/boot')
|
|
352
|
-
.filter(f => f.startsWith('initrd') || f.startsWith('initramfs'))
|
|
353
|
-
.sort();
|
|
354
|
-
if (bootFiles.length > 0) {
|
|
355
|
-
console.error('Available initramfs files in /boot:');
|
|
356
|
-
bootFiles.forEach(file => console.error(` - ${file}`));
|
|
357
|
-
}
|
|
358
|
-
else {
|
|
359
|
-
console.error(' No initramfs files found in /boot');
|
|
360
|
-
}
|
|
361
|
-
}
|
|
362
|
-
catch (error) {
|
|
363
|
-
console.error(' Cannot read /boot directory');
|
|
364
|
-
}
|
|
365
|
-
}
|
|
366
|
-
/**
|
|
367
|
-
* Ottiene informazioni sul kernel corrente
|
|
368
|
-
*/
|
|
369
|
-
static getCurrentKernelInfo() {
|
|
370
|
-
try {
|
|
371
|
-
const version = fs.readFileSync('/proc/version', 'utf8').trim();
|
|
372
|
-
const kernelRelease = fs.readFileSync('/proc/sys/kernel/osrelease', 'utf8').trim();
|
|
373
|
-
return {
|
|
374
|
-
version: kernelRelease,
|
|
375
|
-
vmlinuz: this.vmlinuz(kernelRelease),
|
|
376
|
-
initramfs: this.initramfs(kernelRelease)
|
|
377
|
-
};
|
|
378
|
-
}
|
|
379
|
-
catch (error) {
|
|
380
|
-
throw new Error(`Cannot get current kernel info: ${error}`);
|
|
381
|
-
}
|
|
382
|
-
}
|
|
383
153
|
}
|
package/dist/classes/utils.js
CHANGED
|
@@ -80,25 +80,33 @@ export default class Utils {
|
|
|
80
80
|
if (codenameId === 'rolling' || codenameId === '') {
|
|
81
81
|
const releaseId = Utils.getOsRelease().VERSION_ID.trim();
|
|
82
82
|
if (releaseId !== '') {
|
|
83
|
-
result +=
|
|
83
|
+
result += releaseId;
|
|
84
84
|
}
|
|
85
85
|
}
|
|
86
86
|
else {
|
|
87
|
-
result += `${codenameId.toLowerCase()}
|
|
87
|
+
result += `${codenameId.toLowerCase()}`;
|
|
88
|
+
}
|
|
89
|
+
if (!result.endsWith('-')) {
|
|
90
|
+
result += '-';
|
|
88
91
|
}
|
|
89
|
-
result = result.replace(`/`, '-');
|
|
90
92
|
return result;
|
|
91
93
|
}
|
|
92
94
|
/**
|
|
93
95
|
* Detect if running inside a container (Docker or LXC)
|
|
94
96
|
*/
|
|
95
97
|
static isContainer() {
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
98
|
+
// Check for Docker's specific file
|
|
99
|
+
if (fs.existsSync('/.dockerenv')) {
|
|
100
|
+
return true;
|
|
101
|
+
}
|
|
102
|
+
// Check the cgroup file, which works for Docker, Podman, LXC, etc.
|
|
103
|
+
try {
|
|
104
|
+
const cgroupContent = fs.readFileSync('/proc/1/cgroup', 'utf8');
|
|
105
|
+
return cgroupContent.includes('/docker/') || cgroupContent.includes('/kubepods/');
|
|
106
|
+
}
|
|
107
|
+
catch (e) {
|
|
108
|
+
return false;
|
|
100
109
|
}
|
|
101
|
-
return isContainer;
|
|
102
110
|
}
|
|
103
111
|
/**
|
|
104
112
|
* Check if the system uses Systemd
|
package/dist/commands/cuckoo.js
CHANGED
|
@@ -14,7 +14,8 @@ export default class Cuckoo extends Command {
|
|
|
14
14
|
static description = 'PXE start with proxy-dhcp';
|
|
15
15
|
static examples = ['sudo eggs cuckoo'];
|
|
16
16
|
static flags = {
|
|
17
|
-
help: Flags.help({ char: 'h' })
|
|
17
|
+
help: Flags.help({ char: 'h' }),
|
|
18
|
+
verbose: Flags.boolean({ char: 'v', description: 'verbose' })
|
|
18
19
|
};
|
|
19
20
|
async run() {
|
|
20
21
|
const { args, flags } = await this.parse(Cuckoo);
|
|
@@ -24,7 +25,7 @@ export default class Cuckoo extends Command {
|
|
|
24
25
|
settings.load();
|
|
25
26
|
const nest = settings.config.snapshot_mnt;
|
|
26
27
|
const pxeRoot = nest + 'pxe';
|
|
27
|
-
const pxe = new Pxe(nest, pxeRoot);
|
|
28
|
+
const pxe = new Pxe(nest, pxeRoot, flags.verbose);
|
|
28
29
|
await pxe.fertilization();
|
|
29
30
|
await pxe.build();
|
|
30
31
|
const n = new network();
|
|
@@ -121,7 +121,7 @@ export default class ExportPkg extends Command {
|
|
|
121
121
|
}
|
|
122
122
|
else if (familyId === 'openmamba') {
|
|
123
123
|
Utils.warning("openmamba rpm packages");
|
|
124
|
-
localPath = `/
|
|
124
|
+
localPath = `/home/${this.user}/rpmbuild/RPMS/x86_64`;
|
|
125
125
|
remotePath = this.Tu.config.remotePathPackages + "/openmamba";
|
|
126
126
|
filter = `penguins-eggs-[0-9][0-9].@([0-9]|[0-1][0-9]).@([0-9]|[0-3][0-9])-*mamba.*.rpm`;
|
|
127
127
|
/**
|
|
@@ -29,6 +29,9 @@ export default async function addUser(username = 'live', password = 'evolution',
|
|
|
29
29
|
else if (this.distro.familyId === 'fedora') {
|
|
30
30
|
cmd = `chroot ${this.installTarget} adduser ${username} --create-home --shell /bin/bash --comment "${fullusername},${roomNumber},${workPhone},${homePhone}" ${this.toNull}`;
|
|
31
31
|
}
|
|
32
|
+
else if (this.distro.familyId === 'openmamba') {
|
|
33
|
+
cmd = `chroot ${this.installTarget} useradd ${username} --create-home --shell /bin/bash --comment "${fullusername},${roomNumber},${workPhone},${homePhone}" ${this.toNull}`;
|
|
34
|
+
}
|
|
32
35
|
else if (this.distro.familyId === 'opensuse') {
|
|
33
36
|
cmd = `chroot ${this.installTarget} useradd ${username} --create-home --shell /bin/bash --comment "${fullusername},${roomNumber},${workPhone},${homePhone}" ${this.toNull}`;
|
|
34
37
|
}
|
|
@@ -39,6 +42,9 @@ export default async function addUser(username = 'live', password = 'evolution',
|
|
|
39
42
|
if (this.distro.familyId === 'debian') {
|
|
40
43
|
group = 'sudo';
|
|
41
44
|
}
|
|
45
|
+
else if (this.distro.familyId === 'openmamba') {
|
|
46
|
+
group = 'sysadmin';
|
|
47
|
+
}
|
|
42
48
|
cmd = `chroot ${this.installTarget} usermod -aG ${group} ${username} ${this.toNull}`;
|
|
43
49
|
await exec(cmd, this.echo);
|
|
44
50
|
// add autologin group in archlinux
|
|
@@ -21,7 +21,15 @@ export default async function bootloader() {
|
|
|
21
21
|
/**
|
|
22
22
|
* grub-install: added --force per fedora family
|
|
23
23
|
*/
|
|
24
|
-
|
|
24
|
+
// define grub-install --target=${target}
|
|
25
|
+
let target = `x86_64-efi`;
|
|
26
|
+
if (!this.efi) {
|
|
27
|
+
target = 'i386-pc';
|
|
28
|
+
}
|
|
29
|
+
if (process.arch === 'arm64') {
|
|
30
|
+
target = `arm64-efi`;
|
|
31
|
+
}
|
|
32
|
+
let cmd = `chroot ${this.installTarget} ${grubName}-install --target=${target} ${this.partitions.installationDevice} ${grubForce} ${this.toNull}`;
|
|
25
33
|
await exec(cmd, this.echo);
|
|
26
34
|
/**
|
|
27
35
|
* grub-mkconfig
|
|
@@ -140,7 +140,7 @@ export default class Sequence {
|
|
|
140
140
|
this.devices.data = {};
|
|
141
141
|
this.devices.swap = {};
|
|
142
142
|
this.distro = new Distro();
|
|
143
|
-
this.efi = fs.existsSync('/
|
|
143
|
+
this.efi = fs.existsSync('/efivars');
|
|
144
144
|
this.luksFile = `${this.distro.liveMediumPath}live/${this.luksName}`;
|
|
145
145
|
}
|
|
146
146
|
/**
|
package/dist/lib/utils.js
CHANGED
|
Binary file
|