penguins-eggs 25.10.6 → 25.10.23
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 +51 -145
- package/README.md +59 -120
- package/README.pdf +1723 -1731
- package/addons/eggs/theme/livecd/isolinux.main.simple.cfg +2 -3
- package/conf/distros/trixie/calamares/modules/shellprocess@boot_deploy.yml +3 -4
- package/conf/love.yaml +1 -1
- package/dracut/create-symlink +71 -0
- package/dracut/dracut-log.txt +3 -0
- package/dracut/dracut.conf.d/50-live.conf +24 -6
- package/dracut/dracut.conf.d/README.md +10 -0
- package/dracut/export +4 -0
- package/dracut/export-dracut-analysis +51 -0
- package/dracut/export-dracut-log +2 -0
- package/dracut/mkisofs +10 -0
- package/dracut/modules.d/00debug-shell/debug-hook.sh +13 -0
- package/dracut/modules.d/00debug-shell/module-setup.sh +20 -0
- package/dracut/modules.d/90block/README.md +7 -0
- package/dracut/modules.d/90block/block-cmdline.sh +3 -0
- package/dracut/modules.d/90block/module-setup.sh +15 -0
- package/dracut/modules.d/95iso-scan/README.md +3 -0
- package/dracut/modules.d/95iso-scan/iso-scan-fallback.sh +12 -0
- package/dracut/modules.d/95iso-scan/iso-scan.sh +92 -0
- package/dracut/modules.d/95iso-scan/module-setup.sh +18 -0
- package/dracut/modules.d/95luks-loop/README.md +9 -0
- package/dracut/modules.d/95luks-loop/luks-loop.sh +90 -0
- package/dracut/modules.d/95luks-loop/module-setup.sh +17 -0
- package/dracut/renew-initramfs +17 -0
- package/dracut/sbin2bin +10 -0
- package/dracut/update-dracut-conf-d +2 -0
- package/dracut/update-dracut-modules +62 -0
- package/manpages/doc/man/eggs.1.gz +0 -0
- package/manpages/doc/man/eggs.html +7 -661
- package/package.json +10 -9
- package/perrisbrewery/template/dependencies.yaml +6 -5
- package/scripts/_eggs +16 -31
- package/scripts/boot-encrypted-root.sh +177 -0
- package/scripts/eggs.bash +4 -6
- package/scripts/mount-encrypted-home.sh +259 -0
- package/dist/classes/bleach.d.ts +0 -37
- package/dist/classes/bleach.js +0 -148
- package/dist/classes/cli-autologin.d.ts +0 -52
- package/dist/classes/cli-autologin.js +0 -252
- package/dist/classes/compressors.d.ts +0 -54
- package/dist/classes/compressors.js +0 -109
- package/dist/classes/daddy.d.ts +0 -26
- package/dist/classes/daddy.js +0 -175
- package/dist/classes/distro.d.ts +0 -32
- package/dist/classes/distro.js +0 -356
- package/dist/classes/diversions.d.ts +0 -53
- package/dist/classes/diversions.js +0 -133
- package/dist/classes/incubation/branding.d.ts +0 -17
- package/dist/classes/incubation/branding.js +0 -85
- package/dist/classes/incubation/customize/customize-partitions.d.ts +0 -4
- package/dist/classes/incubation/customize/customize-partitions.js +0 -29
- package/dist/classes/incubation/fisherman-helper/initcpio.d.ts +0 -1
- package/dist/classes/incubation/fisherman-helper/initcpio.js +0 -69
- package/dist/classes/incubation/fisherman-helper/packages.d.ts +0 -20
- package/dist/classes/incubation/fisherman-helper/packages.js +0 -72
- package/dist/classes/incubation/fisherman-helper/settings.d.ts +0 -15
- package/dist/classes/incubation/fisherman-helper/settings.js +0 -116
- package/dist/classes/incubation/fisherman.d.ts +0 -71
- package/dist/classes/incubation/fisherman.js +0 -281
- package/dist/classes/incubation/incubator.d/alpine.d.ts +0 -32
- package/dist/classes/incubation/incubator.d/alpine.js +0 -78
- package/dist/classes/incubation/incubator.d/archlinux.d.ts +0 -32
- package/dist/classes/incubation/incubator.d/archlinux.js +0 -81
- package/dist/classes/incubation/incubator.d/bionic.d.ts +0 -32
- package/dist/classes/incubation/incubator.d/bionic.js +0 -83
- package/dist/classes/incubation/incubator.d/buster.d.ts +0 -32
- package/dist/classes/incubation/incubator.d/buster.js +0 -101
- package/dist/classes/incubation/incubator.d/fedora.d.ts +0 -32
- package/dist/classes/incubation/incubator.d/fedora.js +0 -81
- package/dist/classes/incubation/incubator.d/focal.d.ts +0 -32
- package/dist/classes/incubation/incubator.d/focal.js +0 -85
- package/dist/classes/incubation/incubator.d/manjaro.d.ts +0 -32
- package/dist/classes/incubation/incubator.d/manjaro.js +0 -82
- package/dist/classes/incubation/incubator.d/noble.d.ts +0 -32
- package/dist/classes/incubation/incubator.d/noble.js +0 -102
- package/dist/classes/incubation/incubator.d/openmamba.d.ts +0 -32
- package/dist/classes/incubation/incubator.d/openmamba.js +0 -81
- package/dist/classes/incubation/incubator.d/opensuse.d.ts +0 -32
- package/dist/classes/incubation/incubator.d/opensuse.js +0 -81
- package/dist/classes/incubation/incubator.d/trixie.d.ts +0 -32
- package/dist/classes/incubation/incubator.d/trixie.js +0 -101
- package/dist/classes/incubation/incubator.d.ts +0 -48
- package/dist/classes/incubation/incubator.js +0 -378
- package/dist/classes/incubation/installer.d.ts +0 -13
- package/dist/classes/incubation/installer.js +0 -52
- package/dist/classes/keyboards.d.ts +0 -50
- package/dist/classes/keyboards.js +0 -287
- package/dist/classes/locales.d.ts +0 -21
- package/dist/classes/locales.js +0 -77
- package/dist/classes/network.d.ts +0 -37
- package/dist/classes/network.js +0 -98
- package/dist/classes/ovary.d/bind-live-fs.d.ts +0 -18
- package/dist/classes/ovary.d/bind-live-fs.js +0 -185
- package/dist/classes/ovary.d/bind-vfs.d.ts +0 -17
- package/dist/classes/ovary.d/bind-vfs.js +0 -37
- package/dist/classes/ovary.d/create-xdg-autostart.d.ts +0 -13
- package/dist/classes/ovary.d/create-xdg-autostart.js +0 -194
- package/dist/classes/ovary.d/edit-live-fs.d.ts +0 -20
- package/dist/classes/ovary.d/edit-live-fs.js +0 -245
- package/dist/classes/ovary.d/fertilization.d.ts +0 -12
- package/dist/classes/ovary.d/fertilization.js +0 -52
- package/dist/classes/ovary.d/finished.d.ts +0 -13
- package/dist/classes/ovary.d/finished.js +0 -44
- package/dist/classes/ovary.d/initrd.d.ts +0 -21
- package/dist/classes/ovary.d/initrd.js +0 -97
- package/dist/classes/ovary.d/kernel-copy.d.ts +0 -12
- package/dist/classes/ovary.d/kernel-copy.js +0 -22
- package/dist/classes/ovary.d/live-create-structure.d.ts +0 -12
- package/dist/classes/ovary.d/live-create-structure.js +0 -73
- package/dist/classes/ovary.d/make-dot-disk.d.ts +0 -12
- package/dist/classes/ovary.d/make-dot-disk.js +0 -62
- package/dist/classes/ovary.d/make-efi.d.ts +0 -14
- package/dist/classes/ovary.d/make-efi.js +0 -274
- package/dist/classes/ovary.d/make-iso.d.ts +0 -13
- package/dist/classes/ovary.d/make-iso.js +0 -45
- package/dist/classes/ovary.d/make-squashfs.d.ts +0 -18
- package/dist/classes/ovary.d/make-squashfs.js +0 -110
- package/dist/classes/ovary.d/merged.d.ts +0 -27
- package/dist/classes/ovary.d/merged.js +0 -78
- package/dist/classes/ovary.d/produce.d.ts +0 -23
- package/dist/classes/ovary.d/produce.js +0 -319
- package/dist/classes/ovary.d/rexec.d.ts +0 -13
- package/dist/classes/ovary.d/rexec.js +0 -34
- package/dist/classes/ovary.d/syslinux.d.ts +0 -12
- package/dist/classes/ovary.d/syslinux.js +0 -82
- package/dist/classes/ovary.d/user-create-live.d.ts +0 -14
- package/dist/classes/ovary.d/user-create-live.js +0 -97
- package/dist/classes/ovary.d/users-remove.d.ts +0 -9
- package/dist/classes/ovary.d/users-remove.js +0 -38
- package/dist/classes/ovary.d/xorriso-command.d.ts +0 -14
- package/dist/classes/ovary.d/xorriso-command.js +0 -123
- package/dist/classes/ovary.d.ts +0 -87
- package/dist/classes/ovary.js +0 -90
- package/dist/classes/pacman.d/alpine.d.ts +0 -56
- package/dist/classes/pacman.d/alpine.js +0 -167
- package/dist/classes/pacman.d/archlinux.d.ts +0 -62
- package/dist/classes/pacman.d/archlinux.js +0 -128
- package/dist/classes/pacman.d/debian.d.ts +0 -65
- package/dist/classes/pacman.d/debian.js +0 -143
- package/dist/classes/pacman.d/fedora.d.ts +0 -53
- package/dist/classes/pacman.d/fedora.js +0 -107
- package/dist/classes/pacman.d/openmamba.d.ts +0 -52
- package/dist/classes/pacman.d/openmamba.js +0 -106
- package/dist/classes/pacman.d/opensuse.d.ts +0 -53
- package/dist/classes/pacman.d/opensuse.js +0 -109
- package/dist/classes/pacman.d.ts +0 -139
- package/dist/classes/pacman.js +0 -683
- package/dist/classes/pve-live.d.ts +0 -17
- package/dist/classes/pve-live.js +0 -52
- package/dist/classes/pxe.d.ts +0 -76
- package/dist/classes/pxe.js +0 -353
- package/dist/classes/settings.d.ts +0 -52
- package/dist/classes/settings.js +0 -185
- package/dist/classes/sources_list.d.ts +0 -28
- package/dist/classes/sources_list.js +0 -89
- package/dist/classes/systemctl.d.ts +0 -47
- package/dist/classes/systemctl.js +0 -86
- package/dist/classes/tailor.d.ts +0 -50
- package/dist/classes/tailor.js +0 -563
- package/dist/classes/tools.d.ts +0 -26
- package/dist/classes/tools.js +0 -50
- package/dist/classes/users.d.ts +0 -28
- package/dist/classes/users.js +0 -143
- package/dist/classes/utils.d/kernel.d.ts +0 -39
- package/dist/classes/utils.d/kernel.js +0 -206
- package/dist/classes/utils.d.ts +0 -327
- package/dist/classes/utils.js +0 -955
- package/dist/classes/xdg.d.ts +0 -45
- package/dist/classes/xdg.js +0 -337
- package/dist/classes/yolk.d.ts +0 -33
- package/dist/classes/yolk.js +0 -114
- package/dist/commands/adapt.d.ts +0 -17
- package/dist/commands/adapt.js +0 -33
- package/dist/commands/analyze.d.ts +0 -26
- package/dist/commands/analyze.js +0 -95
- package/dist/commands/calamares.d.ts +0 -29
- package/dist/commands/calamares.js +0 -112
- package/dist/commands/config.d.ts +0 -35
- package/dist/commands/config.js +0 -120
- package/dist/commands/cuckoo.d.ts +0 -17
- package/dist/commands/cuckoo.js +0 -61
- package/dist/commands/dad.d.ts +0 -21
- package/dist/commands/dad.js +0 -47
- package/dist/commands/export/iso.d.ts +0 -19
- package/dist/commands/export/iso.js +0 -55
- package/dist/commands/export/pkg.d.ts +0 -29
- package/dist/commands/export/pkg.js +0 -173
- package/dist/commands/export/tarballs.d.ts +0 -27
- package/dist/commands/export/tarballs.js +0 -79
- package/dist/commands/install.d.ts +0 -39
- package/dist/commands/install.js +0 -113
- package/dist/commands/kill.d.ts +0 -24
- package/dist/commands/kill.js +0 -50
- package/dist/commands/love.d.ts +0 -21
- package/dist/commands/love.js +0 -73
- package/dist/commands/mom.d.ts +0 -16
- package/dist/commands/mom.js +0 -30
- package/dist/commands/pods.d.ts +0 -22
- package/dist/commands/pods.js +0 -92
- package/dist/commands/produce.d.ts +0 -35
- package/dist/commands/produce.js +0 -221
- package/dist/commands/status.d.ts +0 -23
- package/dist/commands/status.js +0 -31
- package/dist/commands/syncfrom.d.ts +0 -45
- package/dist/commands/syncfrom.js +0 -152
- package/dist/commands/syncto.d.ts +0 -40
- package/dist/commands/syncto.js +0 -175
- package/dist/commands/tools/clean.d.ts +0 -18
- package/dist/commands/tools/clean.js +0 -37
- package/dist/commands/tools/ppa.d.ts +0 -31
- package/dist/commands/tools/ppa.js +0 -244
- package/dist/commands/tools/skel.d.ts +0 -18
- package/dist/commands/tools/skel.js +0 -44
- package/dist/commands/tools/stat.d.ts +0 -31
- package/dist/commands/tools/stat.js +0 -70
- package/dist/commands/tools/yolk.d.ts +0 -24
- package/dist/commands/tools/yolk.js +0 -45
- package/dist/commands/update.d.ts +0 -46
- package/dist/commands/update.js +0 -238
- package/dist/commands/wardrobe/get.d.ts +0 -23
- package/dist/commands/wardrobe/get.js +0 -52
- package/dist/commands/wardrobe/list.d.ts +0 -24
- package/dist/commands/wardrobe/list.js +0 -125
- package/dist/commands/wardrobe/show.d.ts +0 -25
- package/dist/commands/wardrobe/show.js +0 -97
- package/dist/commands/wardrobe/wear.d.ts +0 -26
- package/dist/commands/wardrobe/wear.js +0 -84
- package/dist/dhcpd-proxy/classes/packet.d.ts +0 -36
- package/dist/dhcpd-proxy/classes/packet.js +0 -124
- package/dist/dhcpd-proxy/index.d.ts +0 -4
- package/dist/dhcpd-proxy/index.js +0 -4
- package/dist/dhcpd-proxy/interfaces/i-pxe.d.ts +0 -45
- package/dist/dhcpd-proxy/interfaces/i-pxe.js +0 -1
- package/dist/dhcpd-proxy/lib/packet/converters.d.ts +0 -11
- package/dist/dhcpd-proxy/lib/packet/converters.js +0 -395
- package/dist/dhcpd-proxy/lib/packet/message-types.d.ts +0 -10
- package/dist/dhcpd-proxy/lib/packet/message-types.js +0 -12
- package/dist/dhcpd-proxy/lib/packet/options.d.ts +0 -8
- package/dist/dhcpd-proxy/lib/packet/options.js +0 -264
- package/dist/dhcpd-proxy/lib/sprintf.d.ts +0 -6
- package/dist/dhcpd-proxy/lib/sprintf.js +0 -130
- package/dist/dhcpd-proxy/lib/utils.d.ts +0 -126
- package/dist/dhcpd-proxy/lib/utils.js +0 -255
- package/dist/dhcpd-proxy/simple-proxy.d.ts +0 -11
- package/dist/dhcpd-proxy/simple-proxy.js +0 -118
- package/dist/index.d.ts +0 -8
- package/dist/index.js +0 -8
- package/dist/interfaces/calamares/i-calamares-bootloader.d.ts +0 -23
- package/dist/interfaces/calamares/i-calamares-bootloader.js +0 -7
- package/dist/interfaces/calamares/i-calamares-branding.d.ts +0 -46
- package/dist/interfaces/calamares/i-calamares-branding.js +0 -1
- package/dist/interfaces/calamares/i-calamares-displaymanager.d.ts +0 -34
- package/dist/interfaces/calamares/i-calamares-displaymanager.js +0 -1
- package/dist/interfaces/calamares/i-calamares-finished.d.ts +0 -14
- package/dist/interfaces/calamares/i-calamares-finished.js +0 -1
- package/dist/interfaces/calamares/i-calamares-packages.d.ts +0 -26
- package/dist/interfaces/calamares/i-calamares-packages.js +0 -1
- package/dist/interfaces/calamares/i-calamares-partitions.d.ts +0 -39
- package/dist/interfaces/calamares/i-calamares-partitions.js +0 -1
- package/dist/interfaces/calamares/i-calamares-settings.d.ts +0 -36
- package/dist/interfaces/calamares/i-calamares-settings.js +0 -1
- package/dist/interfaces/i-addons.d.ts +0 -12
- package/dist/interfaces/i-addons.js +0 -8
- package/dist/interfaces/i-analyze.d.ts +0 -17
- package/dist/interfaces/i-analyze.js +0 -17
- package/dist/interfaces/i-app.d.ts +0 -14
- package/dist/interfaces/i-app.js +0 -8
- package/dist/interfaces/i-config-tools.d.ts +0 -15
- package/dist/interfaces/i-config-tools.js +0 -8
- package/dist/interfaces/i-devices.d.ts +0 -20
- package/dist/interfaces/i-devices.js +0 -8
- package/dist/interfaces/i-distro.d.ts +0 -23
- package/dist/interfaces/i-distro.js +0 -8
- package/dist/interfaces/i-drive-list.d.ts +0 -33
- package/dist/interfaces/i-drive-list.js +0 -8
- package/dist/interfaces/i-eggs-config.d.ts +0 -32
- package/dist/interfaces/i-eggs-config.js +0 -8
- package/dist/interfaces/i-excludes.d.ts +0 -14
- package/dist/interfaces/i-excludes.js +0 -8
- package/dist/interfaces/i-exec.d.ts +0 -11
- package/dist/interfaces/i-exec.js +0 -8
- package/dist/interfaces/i-initrd.d.ts +0 -13
- package/dist/interfaces/i-initrd.js +0 -8
- package/dist/interfaces/i-install.d.ts +0 -16
- package/dist/interfaces/i-install.js +0 -8
- package/dist/interfaces/i-installer.d.ts +0 -17
- package/dist/interfaces/i-installer.js +0 -8
- package/dist/interfaces/i-luks-passphrase.d.ts +0 -11
- package/dist/interfaces/i-luks-passphrase.js +0 -8
- package/dist/interfaces/i-materia.d.ts +0 -36
- package/dist/interfaces/i-materia.js +0 -8
- package/dist/interfaces/i-net.d.ts +0 -16
- package/dist/interfaces/i-net.js +0 -8
- package/dist/interfaces/i-os-release.d.ts +0 -5
- package/dist/interfaces/i-os-release.js +0 -1
- package/dist/interfaces/i-packages.d.ts +0 -16
- package/dist/interfaces/i-packages.js +0 -8
- package/dist/interfaces/i-partitions.d.ts +0 -16
- package/dist/interfaces/i-partitions.js +0 -8
- package/dist/interfaces/i-pxe.d.ts +0 -45
- package/dist/interfaces/i-pxe.js +0 -1
- package/dist/interfaces/i-remix.d.ts +0 -21
- package/dist/interfaces/i-remix.js +0 -8
- package/dist/interfaces/i-settings.d.ts +0 -33
- package/dist/interfaces/i-settings.js +0 -8
- package/dist/interfaces/i-user.d.ts +0 -14
- package/dist/interfaces/i-user.js +0 -8
- package/dist/interfaces/i-workdir.d.ts +0 -14
- package/dist/interfaces/i-workdir.js +0 -8
- package/dist/interfaces/i-xkb-model.d.ts +0 -24
- package/dist/interfaces/i-xkb-model.js +0 -8
- package/dist/interfaces/index.d.ts +0 -26
- package/dist/interfaces/index.js +0 -8
- package/dist/krill/classes/cfs.d.ts +0 -17
- package/dist/krill/classes/cfs.js +0 -39
- package/dist/krill/classes/krill_enums.d.ts +0 -37
- package/dist/krill/classes/krill_enums.js +0 -41
- package/dist/krill/classes/prepare.d/confirm.d.ts +0 -5
- package/dist/krill/classes/prepare.d/confirm.js +0 -30
- package/dist/krill/classes/prepare.d/keyboard.d.ts +0 -14
- package/dist/krill/classes/prepare.d/keyboard.js +0 -62
- package/dist/krill/classes/prepare.d/location.d.ts +0 -17
- package/dist/krill/classes/prepare.d/location.js +0 -59
- package/dist/krill/classes/prepare.d/network.d.ts +0 -14
- package/dist/krill/classes/prepare.d/network.js +0 -68
- package/dist/krill/classes/prepare.d/partitions.d.ts +0 -14
- package/dist/krill/classes/prepare.d/partitions.js +0 -86
- package/dist/krill/classes/prepare.d/summary.d.ts +0 -15
- package/dist/krill/classes/prepare.d/summary.js +0 -72
- package/dist/krill/classes/prepare.d/users.d.ts +0 -6
- package/dist/krill/classes/prepare.d/users.js +0 -63
- package/dist/krill/classes/prepare.d/welcome.d.ts +0 -6
- package/dist/krill/classes/prepare.d/welcome.js +0 -30
- package/dist/krill/classes/prepare.d.ts +0 -89
- package/dist/krill/classes/prepare.js +0 -319
- package/dist/krill/classes/sequence.d/add_user.d.ts +0 -20
- package/dist/krill/classes/sequence.d/add_user.js +0 -77
- package/dist/krill/classes/sequence.d/bootloader.d.ts +0 -14
- package/dist/krill/classes/sequence.d/bootloader.js +0 -117
- package/dist/krill/classes/sequence.d/bootloader_config.d.ts +0 -14
- package/dist/krill/classes/sequence.d/bootloader_config.js +0 -192
- package/dist/krill/classes/sequence.d/change_password.d.ts +0 -15
- package/dist/krill/classes/sequence.d/change_password.js +0 -18
- package/dist/krill/classes/sequence.d/del_live_user.d.ts +0 -14
- package/dist/krill/classes/sequence.d/del_live_user.js +0 -39
- package/dist/krill/classes/sequence.d/fstab.d.ts +0 -14
- package/dist/krill/classes/sequence.d/fstab.js +0 -177
- package/dist/krill/classes/sequence.d/grubcfg.d.ts +0 -17
- package/dist/krill/classes/sequence.d/grubcfg.js +0 -35
- package/dist/krill/classes/sequence.d/hostname.d.ts +0 -13
- package/dist/krill/classes/sequence.d/hostname.js +0 -50
- package/dist/krill/classes/sequence.d/initramfs.d.ts +0 -13
- package/dist/krill/classes/sequence.d/initramfs.js +0 -54
- package/dist/krill/classes/sequence.d/initramfs_cfg.d.ts +0 -14
- package/dist/krill/classes/sequence.d/initramfs_cfg.js +0 -35
- package/dist/krill/classes/sequence.d/locale.d.ts +0 -13
- package/dist/krill/classes/sequence.d/locale.js +0 -91
- package/dist/krill/classes/sequence.d/locale_cfg.d.ts +0 -10
- package/dist/krill/classes/sequence.d/locale_cfg.js +0 -58
- package/dist/krill/classes/sequence.d/m_keyboard.d.ts +0 -14
- package/dist/krill/classes/sequence.d/m_keyboard.js +0 -58
- package/dist/krill/classes/sequence.d/machine_id.d.ts +0 -15
- package/dist/krill/classes/sequence.d/machine_id.js +0 -33
- package/dist/krill/classes/sequence.d/mkfs.d.ts +0 -15
- package/dist/krill/classes/sequence.d/mkfs.js +0 -88
- package/dist/krill/classes/sequence.d/mount_fs.d.ts +0 -17
- package/dist/krill/classes/sequence.d/mount_fs.js +0 -68
- package/dist/krill/classes/sequence.d/mount_vfs.d.ts +0 -17
- package/dist/krill/classes/sequence.d/mount_vfs.js +0 -59
- package/dist/krill/classes/sequence.d/network_cfg.d.ts +0 -19
- package/dist/krill/classes/sequence.d/network_cfg.js +0 -73
- package/dist/krill/classes/sequence.d/packages.d.ts +0 -14
- package/dist/krill/classes/sequence.d/packages.js +0 -111
- package/dist/krill/classes/sequence.d/partition.d/bios_luks.d.ts +0 -17
- package/dist/krill/classes/sequence.d/partition.d/bios_luks.js +0 -73
- package/dist/krill/classes/sequence.d/partition.d/bios_standard.d.ts +0 -16
- package/dist/krill/classes/sequence.d/partition.d/bios_standard.js +0 -51
- package/dist/krill/classes/sequence.d/partition.d/uefi_luks.d.ts +0 -17
- package/dist/krill/classes/sequence.d/partition.d/uefi_luks.js +0 -77
- package/dist/krill/classes/sequence.d/partition.d/uefi_standard.d.ts +0 -10
- package/dist/krill/classes/sequence.d/partition.d/uefi_standard.js +0 -33
- package/dist/krill/classes/sequence.d/partition.d.ts +0 -14
- package/dist/krill/classes/sequence.d/partition.js +0 -84
- package/dist/krill/classes/sequence.d/remove_installer_link.d.ts +0 -13
- package/dist/krill/classes/sequence.d/remove_installer_link.js +0 -35
- package/dist/krill/classes/sequence.d/umount.d.ts +0 -14
- package/dist/krill/classes/sequence.d/umount.js +0 -28
- package/dist/krill/classes/sequence.d/unpackfs.d.ts +0 -13
- package/dist/krill/classes/sequence.d/unpackfs.js +0 -20
- package/dist/krill/classes/sequence.d.ts +0 -134
- package/dist/krill/classes/sequence.js +0 -400
- package/dist/krill/components/finished.d.ts +0 -16
- package/dist/krill/components/finished.js +0 -56
- package/dist/krill/components/information.d.ts +0 -8
- package/dist/krill/components/information.js +0 -162
- package/dist/krill/components/install.d.ts +0 -15
- package/dist/krill/components/install.js +0 -60
- package/dist/krill/components/keyboard.d.ts +0 -16
- package/dist/krill/components/keyboard.js +0 -54
- package/dist/krill/components/location.d.ts +0 -16
- package/dist/krill/components/location.js +0 -59
- package/dist/krill/components/network.d.ts +0 -19
- package/dist/krill/components/network.js +0 -65
- package/dist/krill/components/partitions.d.ts +0 -18
- package/dist/krill/components/partitions.js +0 -89
- package/dist/krill/components/steps.d.ts +0 -13
- package/dist/krill/components/steps.js +0 -148
- package/dist/krill/components/summary.d.ts +0 -25
- package/dist/krill/components/summary.js +0 -77
- package/dist/krill/components/title.d.ts +0 -11
- package/dist/krill/components/title.js +0 -35
- package/dist/krill/components/users.d.ts +0 -24
- package/dist/krill/components/users.js +0 -80
- package/dist/krill/components/welcome.d.ts +0 -13
- package/dist/krill/components/welcome.js +0 -63
- package/dist/krill/interfaces/i_krill.d.ts +0 -44
- package/dist/krill/interfaces/i_krill.js +0 -8
- package/dist/krill/interfaces/i_krill_config.d.ts +0 -35
- package/dist/krill/interfaces/i_krill_config.js +0 -8
- package/dist/krill/lib/get_address.d.ts +0 -8
- package/dist/krill/lib/get_address.js +0 -23
- package/dist/krill/lib/get_dns.d.ts +0 -8
- package/dist/krill/lib/get_dns.js +0 -23
- package/dist/krill/lib/get_domain.d.ts +0 -8
- package/dist/krill/lib/get_domain.js +0 -23
- package/dist/krill/lib/get_gateway.d.ts +0 -8
- package/dist/krill/lib/get_gateway.js +0 -23
- package/dist/krill/lib/get_hostname.d.ts +0 -8
- package/dist/krill/lib/get_hostname.js +0 -23
- package/dist/krill/lib/get_luks_passphrase.d.ts +0 -8
- package/dist/krill/lib/get_luks_passphrase.js +0 -32
- package/dist/krill/lib/get_netmask.d.ts +0 -8
- package/dist/krill/lib/get_netmask.js +0 -23
- package/dist/krill/lib/get_password.d.ts +0 -8
- package/dist/krill/lib/get_password.js +0 -36
- package/dist/krill/lib/get_userfullname.d.ts +0 -8
- package/dist/krill/lib/get_userfullname.js +0 -23
- package/dist/krill/lib/get_username.d.ts +0 -8
- package/dist/krill/lib/get_username.js +0 -23
- package/dist/krill/lib/select_address_type.d.ts +0 -8
- package/dist/krill/lib/select_address_type.js +0 -24
- package/dist/krill/lib/select_filesystem_type.d.ts +0 -8
- package/dist/krill/lib/select_filesystem_type.js +0 -40
- package/dist/krill/lib/select_installation_device.d.ts +0 -8
- package/dist/krill/lib/select_installation_device.js +0 -40
- package/dist/krill/lib/select_installation_mode.d.ts +0 -9
- package/dist/krill/lib/select_installation_mode.js +0 -25
- package/dist/krill/lib/select_interface.d.ts +0 -8
- package/dist/krill/lib/select_interface.js +0 -24
- package/dist/krill/lib/select_keyboard_layout.d.ts +0 -11
- package/dist/krill/lib/select_keyboard_layout.js +0 -36
- package/dist/krill/lib/select_keyboard_model.d.ts +0 -11
- package/dist/krill/lib/select_keyboard_model.js +0 -34
- package/dist/krill/lib/select_keyboard_option.d.ts +0 -11
- package/dist/krill/lib/select_keyboard_option.js +0 -34
- package/dist/krill/lib/select_keyboard_variant.d.ts +0 -11
- package/dist/krill/lib/select_keyboard_variant.js +0 -35
- package/dist/krill/lib/select_languages.d.ts +0 -8
- package/dist/krill/lib/select_languages.js +0 -28
- package/dist/krill/lib/select_regions.d.ts +0 -8
- package/dist/krill/lib/select_regions.js +0 -24
- package/dist/krill/lib/select_replaced_partition.d.ts +0 -8
- package/dist/krill/lib/select_replaced_partition.js +0 -31
- package/dist/krill/lib/select_user_swap_choice.d.ts +0 -9
- package/dist/krill/lib/select_user_swap_choice.js +0 -35
- package/dist/krill/lib/select_zones.d.ts +0 -8
- package/dist/krill/lib/select_zones.js +0 -518
- package/dist/lib/kill_me_softly.d.ts +0 -11
- package/dist/lib/kill_me_softly.js +0 -61
- package/dist/lib/utils.d.ts +0 -19
- package/dist/lib/utils.js +0 -65
|
@@ -14,19 +14,18 @@ label Live
|
|
|
14
14
|
linux {{{vmlinuz}}}
|
|
15
15
|
append initrd={{{initrdImg}}} {{{kernel_parameters}}}
|
|
16
16
|
|
|
17
|
-
|
|
18
17
|
label Safe
|
|
19
18
|
menu label {{{fullname}}} Safe Mode
|
|
20
19
|
say "Booting {{{fullname}}} GNU/Linux (kernel {{{kernel}}})"
|
|
21
20
|
linux {{{vmlinuz}}}
|
|
22
|
-
append initrd={{{initrdImg}}} {{{kernel_parameters}}}
|
|
21
|
+
append initrd={{{initrdImg}}} {{{kernel_parameters}}}
|
|
23
22
|
|
|
24
23
|
|
|
25
24
|
label Text
|
|
26
25
|
menu label {{{fullname}}} Text Mode
|
|
27
26
|
say "Booting {{{fullname}}} GNU/Linux (kernel {{{kernel}}})"
|
|
28
27
|
linux {{{vmlinuz}}}
|
|
29
|
-
append initrd={{{initrdImg}}} {{{kernel_parameters}}}
|
|
28
|
+
append initrd={{{initrdImg}}} {{{kernel_parameters}}}
|
|
30
29
|
|
|
31
30
|
label local
|
|
32
31
|
menu label Boot from local disk
|
|
@@ -17,8 +17,7 @@ script:
|
|
|
17
17
|
# Riconfigureremo il kernel nel modulo boot_reconfigure per garantire che gli hook
|
|
18
18
|
# vengano eseguiti secondo necessità.
|
|
19
19
|
|
|
20
|
-
#
|
|
21
|
-
#
|
|
22
|
-
|
|
23
|
-
# debian
|
|
20
|
+
# INITRAMFS = '/run/live/medium/'
|
|
21
|
+
# DRACUT = '/run/initramfs/live/'
|
|
24
22
|
- cp --preserve=timestamps /run/live/medium/live/vmlinuz-`uname -r` ${ROOT}/boot/vmlinuz-`uname -r`
|
|
23
|
+
#- cp --preserve=timestamps /run/initramfs/live/live/vmlinuz-`uname -r` ${ROOT}/boot/vmlinuz-`uname -r`
|
package/conf/love.yaml
CHANGED
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
#!/bin/bash
|
|
2
|
+
#
|
|
3
|
+
# Script per creare symlink dei moduli Penguins-Eggs in /usr/lib/dracut/modules.d
|
|
4
|
+
# Questo è necessario perché Dracut 106 su Debian non legge dracutmodules_dirs con --confdir
|
|
5
|
+
#
|
|
6
|
+
|
|
7
|
+
set -e
|
|
8
|
+
|
|
9
|
+
CUSTOM_DIR="/usr/lib/penguins-eggs/dracut/modules.d"
|
|
10
|
+
SYSTEM_DIR="/usr/lib/dracut/modules.d"
|
|
11
|
+
|
|
12
|
+
echo "=== Creazione Symlink Moduli Dracut ==="
|
|
13
|
+
echo ""
|
|
14
|
+
|
|
15
|
+
# Verifica di essere root
|
|
16
|
+
if [ "$EUID" -ne 0 ]; then
|
|
17
|
+
echo "ERRORE: Esegui come root (sudo)"
|
|
18
|
+
exit 1
|
|
19
|
+
fi
|
|
20
|
+
|
|
21
|
+
# Verifica directory
|
|
22
|
+
if [ ! -d "$CUSTOM_DIR" ]; then
|
|
23
|
+
echo "ERRORE: $CUSTOM_DIR non esiste"
|
|
24
|
+
exit 1
|
|
25
|
+
fi
|
|
26
|
+
|
|
27
|
+
if [ ! -d "$SYSTEM_DIR" ]; then
|
|
28
|
+
echo "ERRORE: $SYSTEM_DIR non esiste"
|
|
29
|
+
exit 1
|
|
30
|
+
fi
|
|
31
|
+
|
|
32
|
+
# Lista moduli
|
|
33
|
+
MODULES=(
|
|
34
|
+
"00debug-shell"
|
|
35
|
+
"90block"
|
|
36
|
+
"95iso-scan"
|
|
37
|
+
"95luks"
|
|
38
|
+
"95luks-loop"
|
|
39
|
+
)
|
|
40
|
+
|
|
41
|
+
echo "Creazione symlink..."
|
|
42
|
+
for module in "${MODULES[@]}"; do
|
|
43
|
+
SOURCE="$CUSTOM_DIR/$module"
|
|
44
|
+
TARGET="$SYSTEM_DIR/$module"
|
|
45
|
+
|
|
46
|
+
if [ ! -d "$SOURCE" ]; then
|
|
47
|
+
echo " [SKIP] $module - non trovato"
|
|
48
|
+
continue
|
|
49
|
+
fi
|
|
50
|
+
|
|
51
|
+
# Rimuovi esistente
|
|
52
|
+
if [ -e "$TARGET" ] || [ -L "$TARGET" ]; then
|
|
53
|
+
rm -rf "$TARGET"
|
|
54
|
+
fi
|
|
55
|
+
|
|
56
|
+
# Crea symlink
|
|
57
|
+
ln -sf "$SOURCE" "$TARGET"
|
|
58
|
+
echo " [OK] $module"
|
|
59
|
+
done
|
|
60
|
+
|
|
61
|
+
echo ""
|
|
62
|
+
echo "Verifica symlink creati:"
|
|
63
|
+
ls -la "$SYSTEM_DIR" | grep -E "(debug-shell|90block|iso-scan|95luks)"
|
|
64
|
+
|
|
65
|
+
echo ""
|
|
66
|
+
echo "Test dracut --list-modules:"
|
|
67
|
+
dracut --list-modules 2>&1 | grep -E "(debug-shell|90block|iso-scan|95luks)" || echo " ATTENZIONE: moduli non ancora visibili"
|
|
68
|
+
|
|
69
|
+
echo ""
|
|
70
|
+
echo "=== Completato ==="
|
|
71
|
+
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
dracut[I]: Executing: /usr/bin/dracut --force --confdir /usr/lib/penguins-eggs/dracut/dracut.conf.d --kmoddir /lib/modules/6.12.48+deb13-amd64 /home/eggs/iso/live/initrd.img-6.12.48+deb13-amd64 6.12.48+deb13-amd64
|
|
2
|
+
dracut[I]: 62bluetooth: Could not find any command of '/usr/lib/bluetooth/bluetoothd /usr/libexec/bluetooth/bluetoothd'!
|
|
3
|
+
dracut[E]: Module '90block' cannot be found.
|
|
@@ -1,10 +1,28 @@
|
|
|
1
|
-
#
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
1
|
+
# ==============================================================
|
|
2
|
+
# 50-live.conf – Opzione A: Usa solo luks-loop
|
|
3
|
+
# Più semplice, compatibile con dmsquash-live standard
|
|
4
|
+
# ==============================================================
|
|
5
|
+
|
|
6
6
|
compress="zstd"
|
|
7
|
-
|
|
7
|
+
squash_compress="zstd"
|
|
8
8
|
hostonly="no"
|
|
9
|
+
lvmconf="no"
|
|
10
|
+
mdadmconf="no"
|
|
9
11
|
early_microcode="no"
|
|
10
12
|
|
|
13
|
+
# Moduli (SENZA 95luks, usa SOLO luks-loop)
|
|
14
|
+
add_dracutmodules+=" dm kernel-modules "
|
|
15
|
+
add_dracutmodules+=" block "
|
|
16
|
+
add_dracutmodules+=" iso-scan pollcdrom "
|
|
17
|
+
add_dracutmodules+=" luks-loop "
|
|
18
|
+
add_dracutmodules+=" dmsquash-live dmsquash-live-autooverlay "
|
|
19
|
+
add_dracutmodules+=" livenet qemu qemu-net "
|
|
20
|
+
add_dracutmodules+=" debug-shell "
|
|
21
|
+
|
|
22
|
+
omit_dracutmodules+=" plymouth luks crypt systemd-cryptsetup fido2 pkcs11 "
|
|
23
|
+
|
|
24
|
+
# Parametri kernel per luks-loop + dmsquash-live
|
|
25
|
+
# IMPORTANTE: rd.live.squashimg punta al LUKS decifrato
|
|
26
|
+
kernel_cmdline="boot=live root=live:LABEL=colibri rd.luks.loop=/live/luks.img eggs.luks.uuid=fedb19f3-e117-4e94-a85c-debe41b18e5b rd.live.dir=/live rd.live.overlay.overlayfs=1 rd.shell rd.debug"
|
|
27
|
+
|
|
28
|
+
install_items+=" /usr/bin/find /usr/bin/lsblk /bin/cat "
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
# dracut.conf.d/50-live.conf
|
|
2
|
+
mdadmconf="no"
|
|
3
|
+
lvmconf="no"
|
|
4
|
+
use_fstab="no"
|
|
5
|
+
squash_compress="zstd"
|
|
6
|
+
compress="zstd"
|
|
7
|
+
add_dracutmodules+=" crypt livenet dmsquash-live dmsquash-live-autooverlay convertfs pollcdrom qemu qemu-net "
|
|
8
|
+
hostonly="no"
|
|
9
|
+
early_microcode="no"
|
|
10
|
+
|
package/dracut/export
ADDED
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
./export-dracut-analysis /usr/lib/penguins-eggs/dracut/modules.d /usr/lib/penguins-eggs/dracut/dracut.conf.d
|
|
2
|
+
scp dracut-analisys.txt artisan@192.168.1.2:/home/artisan
|
|
3
|
+
scp /home/eggs/iso/egg-of_debian-trixie-* artisan@192.168.1.2:/home/artisan/dracut-log.txt
|
|
4
|
+
rm dracut-analisys.txt
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
#!/bin/bash
|
|
2
|
+
|
|
3
|
+
# Script per consolidare il contenuto di più directory di configurazione Dracut
|
|
4
|
+
# in un unico file di testo.
|
|
5
|
+
|
|
6
|
+
# --- Impostazioni ---
|
|
7
|
+
OUTPUT_FILE="dracut-analysis.txt"
|
|
8
|
+
|
|
9
|
+
# --- Logica dello Script ---
|
|
10
|
+
|
|
11
|
+
# Controlla se è stato fornito almeno un percorso come argomento
|
|
12
|
+
if [ "$#" -eq 0 ]; then
|
|
13
|
+
echo "ERRORE: Devi specificare almeno un percorso di directory."
|
|
14
|
+
echo "Uso: $0 <percorso_dir_1> [<percorso_dir_2> ...]"
|
|
15
|
+
echo "Esempio: $0 ./modules.d ./dracut.conf.d"
|
|
16
|
+
exit 1
|
|
17
|
+
fi
|
|
18
|
+
|
|
19
|
+
# Pulisce il file di output se esiste già e scrive l'intestazione
|
|
20
|
+
echo "--- INIZIO ANALISI CONFIGURAZIONE DRACUT ---" > "$OUTPUT_FILE"
|
|
21
|
+
echo "" >> "$OUTPUT_FILE"
|
|
22
|
+
|
|
23
|
+
# Itera su tutte le directory passate come argomenti
|
|
24
|
+
for TARGET_DIR in "$@"; do
|
|
25
|
+
# Controlla se il percorso fornito è una directory valida
|
|
26
|
+
if [ ! -d "$TARGET_DIR" ]; then
|
|
27
|
+
echo "ATTENZIONE: '$TARGET_DIR' non è una directory valida o non esiste. Verrà saltata."
|
|
28
|
+
continue # Salta questo argomento e passa al successivo
|
|
29
|
+
fi
|
|
30
|
+
|
|
31
|
+
# Aggiunge un'intestazione per la directory corrente nel file di output
|
|
32
|
+
echo "##################################################" >> "$OUTPUT_FILE"
|
|
33
|
+
echo "### CONTENUTO DIRECTORY: ${TARGET_DIR}" >> "$OUTPUT_FILE"
|
|
34
|
+
echo "##################################################" >> "$OUTPUT_FILE"
|
|
35
|
+
echo "" >> "$OUTPUT_FILE"
|
|
36
|
+
|
|
37
|
+
# Trova tutti i file nella directory corrente e aggiunge il loro contenuto al file
|
|
38
|
+
find "$TARGET_DIR" -type f | sort | while read -r filepath; do
|
|
39
|
+
echo "==================================================" >> "$OUTPUT_FILE"
|
|
40
|
+
echo "### FILE: ${filepath}" >> "$OUTPUT_FILE"
|
|
41
|
+
echo "==================================================" >> "$OUTPUT_FILE"
|
|
42
|
+
echo '```' >> "$OUTPUT_FILE"
|
|
43
|
+
cat "$filepath" >> "$OUTPUT_FILE"
|
|
44
|
+
echo '```' >> "$OUTPUT_FILE"
|
|
45
|
+
echo "" >> "$OUTPUT_FILE"
|
|
46
|
+
done
|
|
47
|
+
done
|
|
48
|
+
|
|
49
|
+
echo "--- FINE ANALISI CONFIGURAZIONE DRACUT ---" >> "$OUTPUT_FILE"
|
|
50
|
+
|
|
51
|
+
echo "✅ Fatto! L'analisi combinata è stata salvata nel file: $OUTPUT_FILE"
|
package/dracut/mkisofs
ADDED
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
# ~/penguins-eggs/dracut/modules.d/00debug-shell/debug-hook.sh
|
|
2
|
+
|
|
3
|
+
#!/bin/sh
|
|
4
|
+
|
|
5
|
+
# Controlla se il parametro "startdebug" è stato passato al kernel
|
|
6
|
+
if getargbool 0 startdebug; then
|
|
7
|
+
echo "############################################"
|
|
8
|
+
echo "### FORZANDO LA SHELL DI DEBUG"
|
|
9
|
+
echo "############################################"
|
|
10
|
+
|
|
11
|
+
# Lancia una shell interattiva
|
|
12
|
+
/bin/sh
|
|
13
|
+
fi
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
# ~/penguins-eggs/dracut/modules.d/00debug-shell/module-setup.sh
|
|
2
|
+
|
|
3
|
+
#!/bin/bash
|
|
4
|
+
|
|
5
|
+
check() {
|
|
6
|
+
return 0
|
|
7
|
+
}
|
|
8
|
+
|
|
9
|
+
depends() {
|
|
10
|
+
# Non dipende da nulla per essere sicuro che si esegua
|
|
11
|
+
return 0
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
install() {
|
|
15
|
+
# Installa una shell e alcuni comandi utili per il debug
|
|
16
|
+
inst_multiple /bin/sh /bin/ls /bin/cat /bin/mount
|
|
17
|
+
|
|
18
|
+
# Installa uno script che si eseguirà molto presto durante il boot
|
|
19
|
+
inst_hook cmdline 10 "$moddir/debug-hook.sh"
|
|
20
|
+
}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
# 90block
|
|
2
|
+
Questo è solo un dummy, su Debian per fargli credere che 90block esiste, ma
|
|
3
|
+
su Debian non è necessario.
|
|
4
|
+
|
|
5
|
+
Debian usa un’architettura leggermente diversa dove parte delle funzionalità di block sono “fuse” dentro `95rootfs-block` e `99base`, ma non fornisce l’interfaccia di compatibilità `90block` che molti altri moduli (come `iso-scan`, `dmsquash-live`, `luks`, ecc.) si aspettano.
|
|
6
|
+
|
|
7
|
+
Quindi `iso-scan` cerca block, ma non lo trova né lo può risolvere, perché non esiste come directory in `/usr/lib/dracut/modules.d/`.
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
#!/bin/bash
|
|
2
|
+
# iso-scan-fallback.sh
|
|
3
|
+
# Penguins-Eggs: fallback hook to help dmsquash-live on Debian
|
|
4
|
+
|
|
5
|
+
# CREA la directory se non esiste
|
|
6
|
+
mkdir -p /run/initramfs/cmdline.d
|
|
7
|
+
|
|
8
|
+
if [ -e /run/initramfs/live.squashfs.path ] && [ -z "$live_squash" ]; then
|
|
9
|
+
live_squash=$(cat /run/initramfs/live.squashfs.path)
|
|
10
|
+
info "iso-scan-fallback: live_squash set to $live_squash"
|
|
11
|
+
echo "rd.live.squashimg=$live_squash" >> /run/initramfs/cmdline.d/90-iso-scan.conf
|
|
12
|
+
fi
|
|
@@ -0,0 +1,92 @@
|
|
|
1
|
+
#!/bin/bash
|
|
2
|
+
# iso-scan.sh
|
|
3
|
+
# Penguins-Eggs: ISO scanner for Debian Dracut
|
|
4
|
+
|
|
5
|
+
type info >/dev/null 2>&1 || info() { echo "[iso-scan] $*" >&2; }
|
|
6
|
+
type warn >/dev/null 2>&1 || warn() { echo "[iso-scan][WARN] $*" >&2; }
|
|
7
|
+
type die >/dev/null 2>&1 || die() { echo "[iso-scan][ERR] $*" >&2; exit 1; }
|
|
8
|
+
|
|
9
|
+
info "iso-scan starting..."
|
|
10
|
+
|
|
11
|
+
# Retrieve kernel args
|
|
12
|
+
# boot=live root=live:LABEL=colibri
|
|
13
|
+
# Estrai solo il LABEL, non "live:LABEL="
|
|
14
|
+
root_arg=$(getarg root=)
|
|
15
|
+
live_label=""
|
|
16
|
+
|
|
17
|
+
if [[ "$root_arg" =~ live:LABEL=(.+) ]]; then
|
|
18
|
+
live_label="${BASH_REMATCH[1]}"
|
|
19
|
+
fi
|
|
20
|
+
|
|
21
|
+
live_media=$(getarg rd.live.media=)
|
|
22
|
+
live_dir=$(getarg rd.live.dir=)
|
|
23
|
+
[ -z "$live_dir" ] && live_dir="/live"
|
|
24
|
+
|
|
25
|
+
luks_loop=$(getarg rd.luks.loop=)
|
|
26
|
+
squashimg=$(getarg rd.live.squashimg=)
|
|
27
|
+
[ -z "$squashimg" ] && squashimg="filesystem.squashfs"
|
|
28
|
+
|
|
29
|
+
mountpoint="/run/initramfs/isoscan"
|
|
30
|
+
mkdir -p "$mountpoint"
|
|
31
|
+
|
|
32
|
+
info "Looking for device with LABEL=$live_label"
|
|
33
|
+
|
|
34
|
+
# Detect ISO device
|
|
35
|
+
device=""
|
|
36
|
+
if [ -n "$live_label" ]; then
|
|
37
|
+
# Cerca device per LABEL
|
|
38
|
+
info "searching by LABEL: $live_label"
|
|
39
|
+
device=$(blkid -l -t LABEL="$live_label" -o device)
|
|
40
|
+
if [ -z "$device" ]; then
|
|
41
|
+
# Fallback: cerca con findfs
|
|
42
|
+
device=$(findfs LABEL="$live_label" 2>/dev/null)
|
|
43
|
+
fi
|
|
44
|
+
elif [ -n "$live_media" ]; then
|
|
45
|
+
device="$live_media"
|
|
46
|
+
info "using rd.live.media: $device"
|
|
47
|
+
else
|
|
48
|
+
# Fallback: prova /dev/sr0 o loop devices
|
|
49
|
+
info "no LABEL specified, trying default devices"
|
|
50
|
+
for dev in /dev/sr0 /dev/sda /dev/sdb /dev/loop*; do
|
|
51
|
+
if [ -b "$dev" ]; then
|
|
52
|
+
device="$dev"
|
|
53
|
+
info "trying device: $device"
|
|
54
|
+
break
|
|
55
|
+
fi
|
|
56
|
+
done
|
|
57
|
+
fi
|
|
58
|
+
|
|
59
|
+
if [ -z "$device" ]; then
|
|
60
|
+
warn "no live device found"
|
|
61
|
+
exit 0
|
|
62
|
+
fi
|
|
63
|
+
|
|
64
|
+
info "found live device: $device"
|
|
65
|
+
|
|
66
|
+
# Monta il device
|
|
67
|
+
if ! mount -o ro "$device" "$mountpoint" 2>/dev/null; then
|
|
68
|
+
warn "cannot mount $device on $mountpoint"
|
|
69
|
+
exit 0
|
|
70
|
+
fi
|
|
71
|
+
|
|
72
|
+
info "mounted $device on $mountpoint"
|
|
73
|
+
|
|
74
|
+
# Verifica contenuto
|
|
75
|
+
ls -la "$mountpoint$live_dir/" 2>/dev/null | head -10 | while read line; do
|
|
76
|
+
info " $line"
|
|
77
|
+
done
|
|
78
|
+
|
|
79
|
+
# Se luks.img esiste, salva il path
|
|
80
|
+
if [ -e "$mountpoint$live_dir/luks.img" ]; then
|
|
81
|
+
echo "$mountpoint$live_dir/luks.img" > /run/initramfs/luks.loop.path
|
|
82
|
+
info "found luks.img at $mountpoint$live_dir/luks.img"
|
|
83
|
+
fi
|
|
84
|
+
|
|
85
|
+
# Se filesystem.squashfs esiste (senza LUKS), salva il path
|
|
86
|
+
if [ -e "$mountpoint$live_dir/$squashimg" ]; then
|
|
87
|
+
echo "$mountpoint$live_dir/$squashimg" > /run/initramfs/live.squashfs.path
|
|
88
|
+
info "found $squashimg at $mountpoint$live_dir/$squashimg"
|
|
89
|
+
fi
|
|
90
|
+
|
|
91
|
+
info "iso-scan completed"
|
|
92
|
+
exit 0
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
#!/bin/bash
|
|
2
|
+
|
|
3
|
+
check() {
|
|
4
|
+
return 0
|
|
5
|
+
}
|
|
6
|
+
|
|
7
|
+
depends() {
|
|
8
|
+
return 0
|
|
9
|
+
}
|
|
10
|
+
|
|
11
|
+
install() {
|
|
12
|
+
inst_multiple mount umount blkid findfs losetup
|
|
13
|
+
inst_hook pre-mount 10 "$moddir/iso-scan.sh"
|
|
14
|
+
|
|
15
|
+
# Serve a scrivere /run/initramfs/live.squashfs.path
|
|
16
|
+
# prima che dmsquash-live entri in azione.
|
|
17
|
+
inst_hook pre-mount 20 "$moddir/iso-scan-fallback.sh"
|
|
18
|
+
}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
# 95luks-loop
|
|
2
|
+
|
|
3
|
+
Debian (senza 90block, senza iso-scan) userà 95rootfs-block come base.
|
|
4
|
+
|
|
5
|
+
Il tuo nuovo modulo 95luks-loop farà la parte di “monta luks.img da ISO”.
|
|
6
|
+
|
|
7
|
+
Non serve patchare Dracut upstream.
|
|
8
|
+
|
|
9
|
+
È cross-distro, funziona anche su Fedora (dove block esiste ma non confligge).
|
|
@@ -0,0 +1,90 @@
|
|
|
1
|
+
#!/bin/bash
|
|
2
|
+
# 95luks-loop: Apre luks.img e lo rende disponibile per dmsquash-live
|
|
3
|
+
|
|
4
|
+
type info >/dev/null 2>&1 || info() { echo "[luks-loop] $*" >&2; }
|
|
5
|
+
type warn >/dev/null 2>&1 || warn() { echo "[luks-loop][WARN] $*" >&2; }
|
|
6
|
+
|
|
7
|
+
# Leggi parametri kernel
|
|
8
|
+
luks_img=$(getarg rd.luks.loop=)
|
|
9
|
+
luks_uuid=$(getarg eggs.luks.uuid=)
|
|
10
|
+
|
|
11
|
+
info "luks-loop starting..."
|
|
12
|
+
info "luks_img=$luks_img"
|
|
13
|
+
info "luks_uuid=$luks_uuid"
|
|
14
|
+
|
|
15
|
+
# Se non specificato, prova il path scritto da iso-scan
|
|
16
|
+
if [ -z "$luks_img" ] && [ -e /run/initramfs/luks.loop.path ]; then
|
|
17
|
+
luks_img=$(cat /run/initramfs/luks.loop.path)
|
|
18
|
+
info "luks_img from iso-scan: $luks_img"
|
|
19
|
+
fi
|
|
20
|
+
|
|
21
|
+
# Se ancora non c'è, esci
|
|
22
|
+
if [ -z "$luks_img" ]; then
|
|
23
|
+
info "no rd.luks.loop parameter, skipping"
|
|
24
|
+
exit 0
|
|
25
|
+
fi
|
|
26
|
+
|
|
27
|
+
# Attendi che il file sia disponibile
|
|
28
|
+
info "waiting for $luks_img..."
|
|
29
|
+
i=0
|
|
30
|
+
while [ ! -f "$luks_img" ]; do
|
|
31
|
+
sleep 1
|
|
32
|
+
i=$((i+1))
|
|
33
|
+
if [ $i -gt 30 ]; then
|
|
34
|
+
warn "timeout waiting for $luks_img"
|
|
35
|
+
exit 1
|
|
36
|
+
fi
|
|
37
|
+
done
|
|
38
|
+
|
|
39
|
+
info "found $luks_img"
|
|
40
|
+
|
|
41
|
+
# Setup loop device
|
|
42
|
+
loop_dev=$(losetup -f --show "$luks_img")
|
|
43
|
+
if [ -z "$loop_dev" ]; then
|
|
44
|
+
warn "losetup failed"
|
|
45
|
+
exit 1
|
|
46
|
+
fi
|
|
47
|
+
|
|
48
|
+
info "loop device: $loop_dev"
|
|
49
|
+
|
|
50
|
+
# Attendi che udev lo riconosca
|
|
51
|
+
udevadm settle --timeout=10
|
|
52
|
+
|
|
53
|
+
# Apri LUKS
|
|
54
|
+
crypt_name="crypted"
|
|
55
|
+
|
|
56
|
+
info "opening LUKS container as $crypt_name..."
|
|
57
|
+
|
|
58
|
+
# Prova con keyfile se esiste
|
|
59
|
+
if [ -f /run/initramfs/live.key ]; then
|
|
60
|
+
info "using keyfile"
|
|
61
|
+
cryptsetup luksOpen "$loop_dev" "$crypt_name" --key-file /run/initramfs/live.key
|
|
62
|
+
else
|
|
63
|
+
info "prompting for passphrase"
|
|
64
|
+
cryptsetup luksOpen "$loop_dev" "$crypt_name"
|
|
65
|
+
fi
|
|
66
|
+
|
|
67
|
+
# Verifica successo
|
|
68
|
+
if [ ! -b "/dev/mapper/$crypt_name" ]; then
|
|
69
|
+
warn "LUKS open failed!"
|
|
70
|
+
losetup -d "$loop_dev"
|
|
71
|
+
exit 1
|
|
72
|
+
fi
|
|
73
|
+
|
|
74
|
+
info "LUKS opened successfully: /dev/mapper/$crypt_name"
|
|
75
|
+
|
|
76
|
+
# Monta il filesystem decifrato in un punto temporaneo
|
|
77
|
+
# così dmsquash-live può trovare filesystem.squashfs dentro
|
|
78
|
+
mkdir -p /run/initramfs/crypted
|
|
79
|
+
mount -o ro /dev/mapper/$crypt_name /run/initramfs/crypted
|
|
80
|
+
|
|
81
|
+
if [ -f /run/initramfs/crypted/filesystem.squashfs ]; then
|
|
82
|
+
info "found filesystem.squashfs inside LUKS"
|
|
83
|
+
# Scrivi il path per dmsquash-live
|
|
84
|
+
echo "/run/initramfs/crypted/filesystem.squashfs" > /run/initramfs/live.squashfs.path
|
|
85
|
+
else
|
|
86
|
+
warn "filesystem.squashfs not found inside LUKS!"
|
|
87
|
+
fi
|
|
88
|
+
|
|
89
|
+
info "luks-loop completed"
|
|
90
|
+
exit 0
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
#!/bin/bash
|
|
2
|
+
|
|
3
|
+
check() {
|
|
4
|
+
return 0
|
|
5
|
+
}
|
|
6
|
+
|
|
7
|
+
depends() {
|
|
8
|
+
return 0
|
|
9
|
+
}
|
|
10
|
+
|
|
11
|
+
# RIMUOVI QUESTA FUNZIONE COMPLETAMENTE
|
|
12
|
+
# cmdline() { ... }
|
|
13
|
+
|
|
14
|
+
install() {
|
|
15
|
+
inst_multiple losetup cryptsetup blkid udevadm mount
|
|
16
|
+
inst_hook pre-mount 50 "$moddir/luks-loop.sh"
|
|
17
|
+
}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
#!/bin/bash
|
|
2
|
+
|
|
3
|
+
if [[ $(id -u) -ne 0 ]]; then
|
|
4
|
+
echo "Errore: Questo script deve essere eseguito come root o con sudo." >&2
|
|
5
|
+
exit 1
|
|
6
|
+
fi
|
|
7
|
+
|
|
8
|
+
LOG="./dracut-log.txt"
|
|
9
|
+
CONFDIR="/usr/lib/penguins-eggs/dracut/dracut.conf.d"
|
|
10
|
+
LIVE="/home/eggs/iso/live"
|
|
11
|
+
|
|
12
|
+
dracut --force \
|
|
13
|
+
--confdir $CONFDIR \
|
|
14
|
+
--kmoddir /lib/modules/6.12.48+deb13-amd64 \
|
|
15
|
+
$LIVE/initrd.img-6.12.48+deb13-amd64 6.12.48+deb13-amd64 2>&1| tee $LOG
|
|
16
|
+
|
|
17
|
+
scp $LOG artisan@192.168.1.2:/home/artisan
|
package/dracut/sbin2bin
ADDED
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
# Crea i collegamenti simbolici
|
|
2
|
+
sudo ln -s /usr/sbin/cryptsetup /usr/bin/cryptsetup
|
|
3
|
+
sudo ln -s /usr/sbin/losetup /usr/bin/losetup
|
|
4
|
+
#sudo ln -s /usr/sbin/lsblk /usr/bin/lsblk già esiste
|
|
5
|
+
|
|
6
|
+
# Nota: il log mostra anche altri comandi, potrebbero servire anche questi
|
|
7
|
+
#sudo ln -s /bin/mount /usr/bin/mount # mount potrebbe essere in /bin
|
|
8
|
+
#sudo ln -s /bin/umount /usr/bin/umount # umount potrebbe essere in /bin
|
|
9
|
+
#sudo ln -s /usr/bin/find /usr/bin/find # find è già al posto giusto, di solito
|
|
10
|
+
#sudo ln -s /bin/cat /usr/bin/cat # cat è già al posto giusto, di solito
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
#!/bin/bash
|
|
2
|
+
|
|
3
|
+
MODULES_TO_REPLACE=("00debug-shell" "90block" "95iso-scan" "95luks" "95luks-loop")
|
|
4
|
+
|
|
5
|
+
|
|
6
|
+
DRACUT_MODULES_DIR="/usr/lib/penguins-eggs/dracut/modules.d"
|
|
7
|
+
SOURCE_MODULES_DIR="$(dirname "$0")/modules.d"
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
# --- FUNZIONE PRINCIPALE ---
|
|
11
|
+
main() {
|
|
12
|
+
echo "ATTENZIONE: adesso aggiorn $DRACUT_MODULES_DIR"
|
|
13
|
+
|
|
14
|
+
# 1. Controllo dei permessi
|
|
15
|
+
# Lo script deve essere eseguito come root per poter scrivere in /usr/lib
|
|
16
|
+
if [[ $(id -u) -ne 0 ]]; then
|
|
17
|
+
echo "Errore: Questo script deve essere eseguito come root o con sudo." >&2
|
|
18
|
+
exit 1
|
|
19
|
+
fi
|
|
20
|
+
|
|
21
|
+
# 2. Verifica che la cartella di origine esista
|
|
22
|
+
if [[ ! -d "$SOURCE_MODULES_DIR" ]]; then
|
|
23
|
+
echo "Errore: La directory di origine '$SOURCE_MODULES_DIR' non è stata trovata." >&2
|
|
24
|
+
exit 1
|
|
25
|
+
fi
|
|
26
|
+
|
|
27
|
+
echo "Avvio della sostituzione dei moduli Dracut..."
|
|
28
|
+
|
|
29
|
+
# 3. Ciclo for per ogni modulo nell'array
|
|
30
|
+
for module_name in "${MODULES_TO_REPLACE[@]}"; do
|
|
31
|
+
local dest_path="$DRACUT_MODULES_DIR/$module_name"
|
|
32
|
+
local source_path="$SOURCE_MODULES_DIR/$module_name"
|
|
33
|
+
|
|
34
|
+
echo "--- Elaborazione del modulo: $module_name ---"
|
|
35
|
+
|
|
36
|
+
# Controlla se il modulo di origine esiste prima di procedere
|
|
37
|
+
if [[ ! -d "$source_path" ]]; then
|
|
38
|
+
echo "Attenzione: Il modulo '$source_path' non esiste nella cartella di origine. Salto."
|
|
39
|
+
continue
|
|
40
|
+
fi
|
|
41
|
+
|
|
42
|
+
# Rimuovi la vecchia versione del modulo, se esiste
|
|
43
|
+
if [[ -d "$dest_path" ]]; then
|
|
44
|
+
echo "Rimuovendo la vecchia versione: $dest_path"
|
|
45
|
+
rm -rf "$dest_path"
|
|
46
|
+
fi
|
|
47
|
+
|
|
48
|
+
# Copia la nuova versione del modulo
|
|
49
|
+
echo "Copiando la nuova versione da: $source_path"
|
|
50
|
+
cp -r "$source_path" "$DRACUT_MODULES_DIR/"
|
|
51
|
+
|
|
52
|
+
echo "Modulo '$module_name' aggiornato con successo."
|
|
53
|
+
echo "------------------------------------"
|
|
54
|
+
done
|
|
55
|
+
|
|
56
|
+
|
|
57
|
+
echo "Operazione completata."
|
|
58
|
+
echo "Ricorda di rigenerare l'initramfs con 'dracut -f' o un comando simile."
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
# Esegui la funzione principale
|
|
62
|
+
main
|
|
Binary file
|