penguins-eggs 10.1.0 → 25.7.7
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.oclif.manifest.json +1 -32
- package/README.md +119 -93
- package/assets/calamares/install-system.sh +2 -1
- package/conf/derivatives.yaml +8 -1
- package/conf/distros/alpine/calamares/modules/packages.yml +1 -1
- package/conf/distros/alpine/calamares/settings.yml +16 -29
- package/conf/distros/buster/calamares/modules/fstab.yml +1 -1
- package/conf/distros/buster/calamares/modules/mount.yml +4 -12
- package/conf/distros/buster/calamares/modules/users.yml +1 -0
- package/conf/distros/fedora/calamares/modules/bootloader.yml +46 -17
- package/conf/distros/fedora/calamares/modules/fstab.yml +36 -11
- package/conf/distros/fedora/calamares/modules/mount.yml +101 -39
- package/conf/distros/fedora/calamares/modules/partition.yml +173 -23
- package/conf/distros/fedora/calamares/modules/users.yml +7 -9
- package/conf/distros/noble/calamares/modules/users.yml +1 -0
- package/conf/distros/openmamba/calamares/settings.yml +0 -2
- package/conf/distros/opensuse/calamares/modules/bootloader.yml +46 -17
- package/conf/distros/opensuse/calamares/modules/displaymanager.yml +9 -5
- package/conf/distros/opensuse/calamares/modules/finished.yml +1 -1
- package/conf/distros/opensuse/calamares/modules/fstab.yml +36 -11
- package/conf/distros/opensuse/calamares/modules/grubcfg.yml +51 -0
- package/conf/distros/opensuse/calamares/modules/mount.yml +104 -39
- package/conf/distros/opensuse/calamares/modules/packages.yml +3 -3
- package/conf/distros/opensuse/calamares/modules/partition.yml +30 -237
- package/conf/distros/opensuse/calamares/modules/removeuser.yml +1 -14
- package/conf/distros/opensuse/calamares/modules/unpackfs.yml +0 -1
- package/conf/distros/opensuse/calamares/modules/users.yml +296 -16
- package/conf/distros/opensuse/calamares/modules/welcome.yml +91 -16
- package/conf/distros/opensuse/calamares/settings.yml +34 -120
- package/conf/distros/opensuse/calamares/zstd2lzo.sh +2 -0
- package/conf/distros/rolling/calamares/modules/shellprocess_sync.yml +5 -0
- package/conf/distros/rolling/calamares/settings.yml +4 -5
- package/dist/classes/bleach.d.ts +37 -0
- package/dist/classes/bleach.js +148 -0
- package/dist/classes/cli-autologin.d.ts +52 -0
- package/dist/classes/cli-autologin.js +252 -0
- package/dist/classes/compressors.d.ts +54 -0
- package/dist/classes/compressors.js +109 -0
- package/dist/classes/daddy.d.ts +26 -0
- package/dist/classes/daddy.js +175 -0
- package/dist/classes/distro.d.ts +56 -0
- package/dist/classes/distro.js +404 -0
- package/dist/classes/diversions.d.ts +52 -0
- package/dist/classes/diversions.js +126 -0
- package/dist/classes/incubation/branding.d.ts +17 -0
- package/dist/classes/incubation/branding.js +85 -0
- package/dist/classes/incubation/fisherman-helper/displaymanager.d.ts +11 -0
- package/dist/classes/incubation/fisherman-helper/displaymanager.js +40 -0
- package/dist/classes/incubation/fisherman-helper/packages.d.ts +20 -0
- package/dist/classes/incubation/fisherman-helper/packages.js +72 -0
- package/dist/classes/incubation/fisherman-helper/settings.d.ts +15 -0
- package/dist/classes/incubation/fisherman-helper/settings.js +83 -0
- package/dist/classes/incubation/fisherman.d.ts +70 -0
- package/dist/classes/incubation/fisherman.js +263 -0
- package/dist/classes/incubation/incubator.d/alpine.d.ts +32 -0
- package/dist/classes/incubation/incubator.d/alpine.js +78 -0
- package/dist/classes/incubation/incubator.d/bionic.d.ts +32 -0
- package/dist/classes/incubation/incubator.d/bionic.js +83 -0
- package/dist/classes/incubation/incubator.d/buster.d.ts +32 -0
- package/dist/classes/incubation/incubator.d/buster.js +85 -0
- package/dist/classes/incubation/incubator.d/fedora.d.ts +32 -0
- package/dist/classes/incubation/incubator.d/fedora.js +79 -0
- package/dist/classes/incubation/incubator.d/jessie.d.ts +31 -0
- package/dist/classes/incubation/incubator.d/jessie.js +44 -0
- package/dist/classes/incubation/incubator.d/noble.d.ts +32 -0
- package/dist/classes/incubation/incubator.d/noble.js +85 -0
- package/dist/classes/incubation/incubator.d/openmamba.d.ts +32 -0
- package/dist/classes/incubation/incubator.d/openmamba.js +81 -0
- package/dist/classes/incubation/incubator.d/opensuse.d.ts +32 -0
- package/dist/classes/incubation/incubator.d/opensuse.js +79 -0
- package/dist/classes/incubation/incubator.d/rolling.d.ts +32 -0
- package/dist/classes/incubation/incubator.d/rolling.js +78 -0
- package/dist/classes/incubation/incubator.d.ts +44 -0
- package/dist/classes/incubation/incubator.js +377 -0
- package/dist/classes/incubation/installer.d.ts +13 -0
- package/dist/classes/incubation/installer.js +52 -0
- package/dist/classes/keyboards.d.ts +50 -0
- package/dist/classes/keyboards.js +287 -0
- package/dist/classes/locales.d.ts +21 -0
- package/dist/classes/locales.js +77 -0
- package/dist/classes/network.d.ts +37 -0
- package/dist/classes/network.js +98 -0
- package/dist/classes/ovary.d/bind-live-fs.d.ts +18 -0
- package/dist/classes/ovary.d/bind-live-fs.js +177 -0
- package/dist/classes/ovary.d/bind-vfs.d.ts +17 -0
- package/dist/classes/ovary.d/bind-vfs.js +37 -0
- package/dist/classes/ovary.d/create-xdg-autostart.d.ts +13 -0
- package/dist/classes/ovary.d/create-xdg-autostart.js +194 -0
- package/dist/classes/ovary.d/edit-live-fs.d.ts +20 -0
- package/dist/classes/ovary.d/edit-live-fs.js +245 -0
- package/dist/classes/ovary.d/fertilization.d.ts +12 -0
- package/dist/classes/ovary.d/fertilization.js +51 -0
- package/dist/classes/ovary.d/finished.d.ts +13 -0
- package/dist/classes/ovary.d/finished.js +41 -0
- package/dist/classes/ovary.d/initrd.d.ts +21 -0
- package/dist/classes/ovary.d/initrd.js +97 -0
- package/dist/classes/ovary.d/kernel-copy.d.ts +12 -0
- package/dist/classes/ovary.d/kernel-copy.js +22 -0
- package/dist/classes/ovary.d/live-create-structure.d.ts +12 -0
- package/dist/classes/ovary.d/live-create-structure.js +90 -0
- package/dist/classes/ovary.d/make-dot-disk.d.ts +12 -0
- package/dist/classes/ovary.d/make-dot-disk.js +50 -0
- package/dist/classes/ovary.d/make-efi.d.ts +12 -0
- package/dist/classes/ovary.d/make-efi.js +273 -0
- package/dist/classes/ovary.d/make-iso.d.ts +13 -0
- package/dist/classes/ovary.d/make-iso.js +45 -0
- package/dist/classes/ovary.d/make-squashfs.d.ts +18 -0
- package/dist/classes/ovary.d/make-squashfs.js +110 -0
- package/dist/classes/ovary.d/merged.d.ts +27 -0
- package/dist/classes/ovary.d/merged.js +78 -0
- package/dist/classes/ovary.d/produce.d.ts +23 -0
- package/dist/classes/ovary.d/produce.js +294 -0
- package/dist/classes/ovary.d/rexec.d.ts +13 -0
- package/dist/classes/ovary.d/rexec.js +34 -0
- package/dist/classes/ovary.d/syslinux.d.ts +12 -0
- package/dist/classes/ovary.d/syslinux.js +79 -0
- package/dist/classes/ovary.d/user-create-live.d.ts +14 -0
- package/dist/classes/ovary.d/user-create-live.js +97 -0
- package/dist/classes/ovary.d/users-remove.d.ts +9 -0
- package/dist/classes/ovary.d/users-remove.js +38 -0
- package/dist/classes/ovary.d/xorriso-command.d.ts +14 -0
- package/dist/classes/ovary.d/xorriso-command.js +119 -0
- package/dist/classes/ovary.d.ts +82 -0
- package/dist/classes/ovary.js +86 -0
- package/dist/classes/pacman.d/aldos.d.ts +52 -0
- package/dist/classes/pacman.d/aldos.js +100 -0
- package/dist/classes/pacman.d/alpine.d.ts +56 -0
- package/dist/classes/pacman.d/alpine.js +167 -0
- package/dist/classes/pacman.d/archlinux.d.ts +62 -0
- package/dist/classes/pacman.d/archlinux.js +136 -0
- package/dist/classes/pacman.d/debian.d.ts +65 -0
- package/dist/classes/pacman.d/debian.js +143 -0
- package/dist/classes/pacman.d/fedora.d.ts +53 -0
- package/dist/classes/pacman.d/fedora.js +101 -0
- package/dist/classes/pacman.d/openmamba.d.ts +52 -0
- package/dist/classes/pacman.d/openmamba.js +100 -0
- package/dist/classes/pacman.d/opensuse.d.ts +53 -0
- package/dist/classes/pacman.d/opensuse.js +103 -0
- package/dist/classes/pacman.d/voidlinux.d.ts +52 -0
- package/dist/classes/pacman.d/voidlinux.js +90 -0
- package/dist/classes/pacman.d.ts +139 -0
- package/dist/classes/pacman.js +767 -0
- package/dist/classes/pve-live.d.ts +17 -0
- package/dist/classes/pve-live.js +52 -0
- package/dist/classes/pxe.d.ts +77 -0
- package/dist/classes/pxe.js +343 -0
- package/dist/classes/settings.d.ts +52 -0
- package/dist/classes/settings.js +185 -0
- package/dist/classes/sources_list.d.ts +28 -0
- package/dist/classes/sources_list.js +89 -0
- package/dist/classes/systemctl.d.ts +47 -0
- package/dist/classes/systemctl.js +86 -0
- package/dist/classes/tailor.d.ts +50 -0
- package/dist/classes/tailor.js +563 -0
- package/dist/classes/tools.d.ts +26 -0
- package/dist/classes/tools.js +50 -0
- package/dist/classes/users.d.ts +28 -0
- package/dist/classes/users.js +143 -0
- package/dist/classes/utils.d/architecture.d.ts +41 -0
- package/dist/classes/utils.d/architecture.js +87 -0
- package/dist/classes/utils.d/console-output.d.ts +26 -0
- package/dist/classes/utils.d/console-output.js +46 -0
- package/dist/classes/utils.d/filesystem.d.ts +53 -0
- package/dist/classes/utils.d/filesystem.js +154 -0
- package/dist/classes/utils.d/formatters.d.ts +32 -0
- package/dist/classes/utils.d/formatters.js +64 -0
- package/dist/classes/utils.d/kernel.d.ts +83 -0
- package/dist/classes/utils.d/kernel.js +298 -0
- package/dist/classes/utils.d/network.d.ts +43 -0
- package/dist/classes/utils.d/network.js +133 -0
- package/dist/classes/utils.d/package-info.d.ts +55 -0
- package/dist/classes/utils.d/package-info.js +137 -0
- package/dist/classes/utils.d/snapshot.d.ts +44 -0
- package/dist/classes/utils.d/snapshot.js +102 -0
- package/dist/classes/utils.d/system.d.ts +63 -0
- package/dist/classes/utils.d/system.js +200 -0
- package/dist/classes/utils.d/user-interaction.d.ts +39 -0
- package/dist/classes/utils.d/user-interaction.js +104 -0
- package/dist/classes/utils.d.ts +95 -0
- package/dist/classes/utils.js +111 -0
- package/dist/classes/xdg.d.ts +45 -0
- package/dist/classes/xdg.js +337 -0
- package/dist/classes/yolk.d.ts +33 -0
- package/dist/classes/yolk.js +114 -0
- package/dist/commands/adapt.d.ts +17 -0
- package/dist/commands/adapt.js +33 -0
- package/dist/commands/analyze.d.ts +26 -0
- package/dist/commands/analyze.js +95 -0
- package/dist/commands/calamares.d.ts +29 -0
- package/dist/commands/calamares.js +112 -0
- package/dist/commands/config.d.ts +35 -0
- package/dist/commands/config.js +120 -0
- package/dist/commands/cuckoo.d.ts +16 -0
- package/dist/commands/cuckoo.js +60 -0
- package/dist/commands/dad.d.ts +21 -0
- package/dist/commands/dad.js +47 -0
- package/dist/commands/export/iso.d.ts +19 -0
- package/dist/commands/export/iso.js +55 -0
- package/dist/commands/export/pkg.d.ts +29 -0
- package/dist/commands/export/pkg.js +179 -0
- package/dist/commands/export/tarballs.d.ts +27 -0
- package/dist/commands/export/tarballs.js +79 -0
- package/dist/commands/install.d.ts +38 -0
- package/dist/commands/install.js +91 -0
- package/dist/commands/kill.d.ts +24 -0
- package/dist/commands/kill.js +50 -0
- package/dist/commands/love.d.ts +21 -0
- package/dist/commands/love.js +73 -0
- package/dist/commands/mom.d.ts +16 -0
- package/dist/commands/mom.js +30 -0
- package/dist/commands/pods.d.ts +22 -0
- package/dist/commands/pods.js +92 -0
- package/dist/commands/produce.d.ts +35 -0
- package/dist/commands/produce.js +221 -0
- package/dist/commands/status.d.ts +23 -0
- package/dist/commands/status.js +31 -0
- package/dist/commands/syncfrom.d.ts +45 -0
- package/dist/commands/syncfrom.js +152 -0
- package/dist/commands/syncto.d.ts +40 -0
- package/dist/commands/syncto.js +175 -0
- package/dist/commands/tools/clean.d.ts +18 -0
- package/dist/commands/tools/clean.js +37 -0
- package/dist/commands/tools/ppa.d.ts +26 -0
- package/dist/commands/tools/ppa.js +138 -0
- package/dist/commands/tools/skel.d.ts +18 -0
- package/dist/commands/tools/skel.js +44 -0
- package/dist/commands/tools/stat.d.ts +31 -0
- package/dist/commands/tools/stat.js +70 -0
- package/dist/commands/tools/yolk.d.ts +24 -0
- package/dist/commands/tools/yolk.js +45 -0
- package/dist/commands/update.d.ts +51 -0
- package/dist/commands/update.js +219 -0
- package/dist/commands/wardrobe/get.d.ts +23 -0
- package/dist/commands/wardrobe/get.js +52 -0
- package/dist/commands/wardrobe/list.d.ts +24 -0
- package/dist/commands/wardrobe/list.js +125 -0
- package/dist/commands/wardrobe/show.d.ts +25 -0
- package/dist/commands/wardrobe/show.js +97 -0
- package/dist/commands/wardrobe/wear.d.ts +26 -0
- package/dist/commands/wardrobe/wear.js +84 -0
- package/dist/dhcpd-proxy/classes/packet.d.ts +36 -0
- package/dist/dhcpd-proxy/classes/packet.js +124 -0
- package/dist/dhcpd-proxy/index.d.ts +4 -0
- package/dist/dhcpd-proxy/index.js +4 -0
- package/dist/dhcpd-proxy/interfaces/i-pxe.d.ts +45 -0
- package/dist/dhcpd-proxy/interfaces/i-pxe.js +1 -0
- package/dist/dhcpd-proxy/lib/packet/converters.d.ts +11 -0
- package/dist/dhcpd-proxy/lib/packet/converters.js +395 -0
- package/dist/dhcpd-proxy/lib/packet/message-types.d.ts +10 -0
- package/dist/dhcpd-proxy/lib/packet/message-types.js +12 -0
- package/dist/dhcpd-proxy/lib/packet/options.d.ts +8 -0
- package/dist/dhcpd-proxy/lib/packet/options.js +264 -0
- package/dist/dhcpd-proxy/lib/sprintf.d.ts +6 -0
- package/dist/dhcpd-proxy/lib/sprintf.js +130 -0
- package/dist/dhcpd-proxy/lib/utils.d.ts +126 -0
- package/dist/dhcpd-proxy/lib/utils.js +255 -0
- package/dist/dhcpd-proxy/simple-proxy.d.ts +11 -0
- package/dist/dhcpd-proxy/simple-proxy.js +118 -0
- package/dist/index.d.ts +8 -0
- package/dist/index.js +8 -0
- package/dist/interfaces/i-addons.d.ts +12 -0
- package/dist/interfaces/i-addons.js +8 -0
- package/dist/interfaces/i-analyze.d.ts +17 -0
- package/dist/interfaces/i-analyze.js +17 -0
- package/dist/interfaces/i-app.d.ts +14 -0
- package/dist/interfaces/i-app.js +8 -0
- package/dist/interfaces/i-branding.d.ts +36 -0
- package/dist/interfaces/i-branding.js +8 -0
- package/dist/interfaces/i-calamares-displaymanager.d.ts +17 -0
- package/dist/interfaces/i-calamares-displaymanager.js +1 -0
- package/dist/interfaces/i-calamares-finished.d.ts +12 -0
- package/dist/interfaces/i-calamares-finished.js +1 -0
- package/dist/interfaces/i-calamares-packages.d.ts +28 -0
- package/dist/interfaces/i-calamares-packages.js +1 -0
- package/dist/interfaces/i-calamares-partition.d.ts +40 -0
- package/dist/interfaces/i-calamares-partition.js +1 -0
- package/dist/interfaces/i-config-tools.d.ts +15 -0
- package/dist/interfaces/i-config-tools.js +8 -0
- package/dist/interfaces/i-devices.d.ts +20 -0
- package/dist/interfaces/i-devices.js +8 -0
- package/dist/interfaces/i-distro.d.ts +23 -0
- package/dist/interfaces/i-distro.js +8 -0
- package/dist/interfaces/i-drive-list.d.ts +33 -0
- package/dist/interfaces/i-drive-list.js +8 -0
- package/dist/interfaces/i-eggs-config.d.ts +32 -0
- package/dist/interfaces/i-eggs-config.js +8 -0
- package/dist/interfaces/i-excludes.d.ts +14 -0
- package/dist/interfaces/i-excludes.js +8 -0
- package/dist/interfaces/i-exec.d.ts +11 -0
- package/dist/interfaces/i-exec.js +8 -0
- package/dist/interfaces/i-initrd.d.ts +13 -0
- package/dist/interfaces/i-initrd.js +8 -0
- package/dist/interfaces/i-install.d.ts +16 -0
- package/dist/interfaces/i-install.js +8 -0
- package/dist/interfaces/i-installer.d.ts +17 -0
- package/dist/interfaces/i-installer.js +8 -0
- package/dist/interfaces/i-luks-passphrase.d.ts +11 -0
- package/dist/interfaces/i-luks-passphrase.js +8 -0
- package/dist/interfaces/i-materia.d.ts +36 -0
- package/dist/interfaces/i-materia.js +8 -0
- package/dist/interfaces/i-net.d.ts +16 -0
- package/dist/interfaces/i-net.js +8 -0
- package/dist/interfaces/i-os-release.d.ts +5 -0
- package/dist/interfaces/i-os-release.js +1 -0
- package/dist/interfaces/i-packages.d.ts +16 -0
- package/dist/interfaces/i-packages.js +8 -0
- package/dist/interfaces/i-partitions.d.ts +16 -0
- package/dist/interfaces/i-partitions.js +8 -0
- package/dist/interfaces/i-pxe.d.ts +45 -0
- package/dist/interfaces/i-pxe.js +1 -0
- package/dist/interfaces/i-remix.d.ts +21 -0
- package/dist/interfaces/i-remix.js +8 -0
- package/dist/interfaces/i-settings.d.ts +33 -0
- package/dist/interfaces/i-settings.js +8 -0
- package/dist/interfaces/i-user.d.ts +14 -0
- package/dist/interfaces/i-user.js +8 -0
- package/dist/interfaces/i-workdir.d.ts +14 -0
- package/dist/interfaces/i-workdir.js +8 -0
- package/dist/interfaces/i-xkb-model.d.ts +24 -0
- package/dist/interfaces/i-xkb-model.js +8 -0
- package/dist/interfaces/index.d.ts +26 -0
- package/dist/interfaces/index.js +8 -0
- package/dist/krill/classes/cfs.d.ts +17 -0
- package/dist/krill/classes/cfs.js +39 -0
- package/dist/krill/classes/krill_enums.d.ts +37 -0
- package/dist/krill/classes/krill_enums.js +41 -0
- package/dist/krill/classes/prepare.d/confirm.d.ts +5 -0
- package/dist/krill/classes/prepare.d/confirm.js +30 -0
- package/dist/krill/classes/prepare.d/keyboard.d.ts +14 -0
- package/dist/krill/classes/prepare.d/keyboard.js +62 -0
- package/dist/krill/classes/prepare.d/location.d.ts +17 -0
- package/dist/krill/classes/prepare.d/location.js +59 -0
- package/dist/krill/classes/prepare.d/network.d.ts +14 -0
- package/dist/krill/classes/prepare.d/network.js +68 -0
- package/dist/krill/classes/prepare.d/partitions.d.ts +14 -0
- package/dist/krill/classes/prepare.d/partitions.js +86 -0
- package/dist/krill/classes/prepare.d/summary.d.ts +15 -0
- package/dist/krill/classes/prepare.d/summary.js +69 -0
- package/dist/krill/classes/prepare.d/users.d.ts +6 -0
- package/dist/krill/classes/prepare.d/users.js +63 -0
- package/dist/krill/classes/prepare.d/welcome.d.ts +6 -0
- package/dist/krill/classes/prepare.d/welcome.js +30 -0
- package/dist/krill/classes/prepare.d.ts +89 -0
- package/dist/krill/classes/prepare.js +314 -0
- package/dist/krill/classes/sequence.d/add_user.d.ts +20 -0
- package/dist/krill/classes/sequence.d/add_user.js +71 -0
- package/dist/krill/classes/sequence.d/bootloader.d.ts +14 -0
- package/dist/krill/classes/sequence.d/bootloader.js +95 -0
- package/dist/krill/classes/sequence.d/bootloader_config.d.ts +14 -0
- package/dist/krill/classes/sequence.d/bootloader_config.js +142 -0
- package/dist/krill/classes/sequence.d/change_password.d.ts +15 -0
- package/dist/krill/classes/sequence.d/change_password.js +18 -0
- package/dist/krill/classes/sequence.d/del_live_user.d.ts +14 -0
- package/dist/krill/classes/sequence.d/del_live_user.js +39 -0
- package/dist/krill/classes/sequence.d/fstab.d.ts +14 -0
- package/dist/krill/classes/sequence.d/fstab.js +177 -0
- package/dist/krill/classes/sequence.d/grubcfg.d.ts +17 -0
- package/dist/krill/classes/sequence.d/grubcfg.js +35 -0
- package/dist/krill/classes/sequence.d/hostname.d.ts +13 -0
- package/dist/krill/classes/sequence.d/hostname.js +50 -0
- package/dist/krill/classes/sequence.d/initramfs.d.ts +13 -0
- package/dist/krill/classes/sequence.d/initramfs.js +54 -0
- package/dist/krill/classes/sequence.d/initramfs_cfg.d.ts +14 -0
- package/dist/krill/classes/sequence.d/initramfs_cfg.js +35 -0
- package/dist/krill/classes/sequence.d/locale.d.ts +13 -0
- package/dist/krill/classes/sequence.d/locale.js +91 -0
- package/dist/krill/classes/sequence.d/locale_cfg.d.ts +10 -0
- package/dist/krill/classes/sequence.d/locale_cfg.js +58 -0
- package/dist/krill/classes/sequence.d/m_keyboard.d.ts +14 -0
- package/dist/krill/classes/sequence.d/m_keyboard.js +58 -0
- package/dist/krill/classes/sequence.d/machine_id.d.ts +15 -0
- package/dist/krill/classes/sequence.d/machine_id.js +33 -0
- package/dist/krill/classes/sequence.d/mkfs.d.ts +15 -0
- package/dist/krill/classes/sequence.d/mkfs.js +71 -0
- package/dist/krill/classes/sequence.d/mount_fs.d.ts +17 -0
- package/dist/krill/classes/sequence.d/mount_fs.js +68 -0
- package/dist/krill/classes/sequence.d/mount_vfs.d.ts +17 -0
- package/dist/krill/classes/sequence.d/mount_vfs.js +40 -0
- package/dist/krill/classes/sequence.d/network_cfg.d.ts +19 -0
- package/dist/krill/classes/sequence.d/network_cfg.js +73 -0
- package/dist/krill/classes/sequence.d/packages.d.ts +14 -0
- package/dist/krill/classes/sequence.d/packages.js +111 -0
- package/dist/krill/classes/sequence.d/partition.d/bios_luks.d.ts +17 -0
- package/dist/krill/classes/sequence.d/partition.d/bios_luks.js +73 -0
- package/dist/krill/classes/sequence.d/partition.d/bios_standard.d.ts +16 -0
- package/dist/krill/classes/sequence.d/partition.d/bios_standard.js +51 -0
- package/dist/krill/classes/sequence.d/partition.d/uefi_luks.d.ts +17 -0
- package/dist/krill/classes/sequence.d/partition.d/uefi_luks.js +78 -0
- package/dist/krill/classes/sequence.d/partition.d/uefi_standard.d.ts +10 -0
- package/dist/krill/classes/sequence.d/partition.d/uefi_standard.js +31 -0
- package/dist/krill/classes/sequence.d/partition.d.ts +14 -0
- package/dist/krill/classes/sequence.d/partition.js +84 -0
- package/dist/krill/classes/sequence.d/remove_installer_link.d.ts +13 -0
- package/dist/krill/classes/sequence.d/remove_installer_link.js +35 -0
- package/dist/krill/classes/sequence.d/umount.d.ts +14 -0
- package/dist/krill/classes/sequence.d/umount.js +28 -0
- package/dist/krill/classes/sequence.d/unpackfs.d.ts +13 -0
- package/dist/krill/classes/sequence.d/unpackfs.js +20 -0
- package/dist/krill/classes/sequence.d.ts +133 -0
- package/dist/krill/classes/sequence.js +396 -0
- package/dist/krill/components/finished.d.ts +16 -0
- package/dist/krill/components/finished.js +56 -0
- package/dist/krill/components/information.d.ts +8 -0
- package/dist/krill/components/information.js +162 -0
- package/dist/krill/components/install.d.ts +15 -0
- package/dist/krill/components/install.js +60 -0
- package/dist/krill/components/keyboard.d.ts +16 -0
- package/dist/krill/components/keyboard.js +54 -0
- package/dist/krill/components/location.d.ts +16 -0
- package/dist/krill/components/location.js +59 -0
- package/dist/krill/components/network.d.ts +19 -0
- package/dist/krill/components/network.js +65 -0
- package/dist/krill/components/partitions.d.ts +18 -0
- package/dist/krill/components/partitions.js +89 -0
- package/dist/krill/components/steps.d.ts +13 -0
- package/dist/krill/components/steps.js +148 -0
- package/dist/krill/components/summary.d.ts +25 -0
- package/dist/krill/components/summary.js +77 -0
- package/dist/krill/components/title.d.ts +11 -0
- package/dist/krill/components/title.js +35 -0
- package/dist/krill/components/users.d.ts +24 -0
- package/dist/krill/components/users.js +80 -0
- package/dist/krill/components/welcome.d.ts +13 -0
- package/dist/krill/components/welcome.js +63 -0
- package/dist/krill/interfaces/i_krill.d.ts +44 -0
- package/dist/krill/interfaces/i_krill.js +8 -0
- package/dist/krill/interfaces/i_krill_config.d.ts +35 -0
- package/dist/krill/interfaces/i_krill_config.js +8 -0
- package/dist/krill/lib/get_address.d.ts +8 -0
- package/dist/krill/lib/get_address.js +23 -0
- package/dist/krill/lib/get_dns.d.ts +8 -0
- package/dist/krill/lib/get_dns.js +23 -0
- package/dist/krill/lib/get_domain.d.ts +8 -0
- package/dist/krill/lib/get_domain.js +23 -0
- package/dist/krill/lib/get_gateway.d.ts +8 -0
- package/dist/krill/lib/get_gateway.js +23 -0
- package/dist/krill/lib/get_hostname.d.ts +8 -0
- package/dist/krill/lib/get_hostname.js +23 -0
- package/dist/krill/lib/get_luks_passphrase.d.ts +8 -0
- package/dist/krill/lib/get_luks_passphrase.js +40 -0
- package/dist/krill/lib/get_netmask.d.ts +8 -0
- package/dist/krill/lib/get_netmask.js +23 -0
- package/dist/krill/lib/get_password.d.ts +8 -0
- package/dist/krill/lib/get_password.js +36 -0
- package/dist/krill/lib/get_userfullname.d.ts +8 -0
- package/dist/krill/lib/get_userfullname.js +23 -0
- package/dist/krill/lib/get_username.d.ts +8 -0
- package/dist/krill/lib/get_username.js +23 -0
- package/dist/krill/lib/select_address_type.d.ts +8 -0
- package/dist/krill/lib/select_address_type.js +24 -0
- package/dist/krill/lib/select_filesystem_type.d.ts +8 -0
- package/dist/krill/lib/select_filesystem_type.js +40 -0
- package/dist/krill/lib/select_installation_device.d.ts +8 -0
- package/dist/krill/lib/select_installation_device.js +40 -0
- package/dist/krill/lib/select_installation_mode.d.ts +9 -0
- package/dist/krill/lib/select_installation_mode.js +25 -0
- package/dist/krill/lib/select_interface.d.ts +8 -0
- package/dist/krill/lib/select_interface.js +24 -0
- package/dist/krill/lib/select_keyboard_layout.d.ts +11 -0
- package/dist/krill/lib/select_keyboard_layout.js +36 -0
- package/dist/krill/lib/select_keyboard_model.d.ts +11 -0
- package/dist/krill/lib/select_keyboard_model.js +34 -0
- package/dist/krill/lib/select_keyboard_option.d.ts +11 -0
- package/dist/krill/lib/select_keyboard_option.js +34 -0
- package/dist/krill/lib/select_keyboard_variant.d.ts +11 -0
- package/dist/krill/lib/select_keyboard_variant.js +35 -0
- package/dist/krill/lib/select_languages.d.ts +8 -0
- package/dist/krill/lib/select_languages.js +28 -0
- package/dist/krill/lib/select_regions.d.ts +8 -0
- package/dist/krill/lib/select_regions.js +24 -0
- package/dist/krill/lib/select_replaced_partition.d.ts +8 -0
- package/dist/krill/lib/select_replaced_partition.js +31 -0
- package/dist/krill/lib/select_user_swap_choice.d.ts +9 -0
- package/dist/krill/lib/select_user_swap_choice.js +35 -0
- package/dist/krill/lib/select_zones.d.ts +8 -0
- package/dist/krill/lib/select_zones.js +518 -0
- package/dist/lib/kill_me_softly.d.ts +11 -0
- package/dist/lib/kill_me_softly.js +61 -0
- package/dist/lib/utils.d.ts +19 -0
- package/dist/lib/utils.js +64 -0
- package/dist/penguins-eggs_25.7.7-1_amd64.deb +0 -0
- package/dist/penguins-eggs_25.7.7-1_amd64.deb.sha256 +1 -0
- package/dracut/README.md +14 -0
- package/dracut/dracut.conf +3 -3
- package/dracut/dracut.conf.d/10-persistent_policy.conf +1 -0
- package/dracut/dracut.conf.d/{01-live.conf → 50-live.conf} +3 -2
- package/ipxe/grub/acpi.mod +0 -0
- package/ipxe/grub/adler32.mod +0 -0
- package/ipxe/grub/affs.mod +0 -0
- package/ipxe/grub/afs.mod +0 -0
- package/ipxe/grub/afsplitter.mod +0 -0
- package/ipxe/grub/ahci.mod +0 -0
- package/ipxe/grub/all_video.mod +0 -0
- package/ipxe/grub/aout.mod +0 -0
- package/ipxe/grub/appleldr.mod +0 -0
- package/ipxe/grub/archelp.mod +0 -0
- package/ipxe/grub/at_keyboard.mod +0 -0
- package/ipxe/grub/ata.mod +0 -0
- package/ipxe/grub/backtrace.mod +0 -0
- package/ipxe/grub/bfs.mod +0 -0
- package/ipxe/grub/bitmap.mod +0 -0
- package/ipxe/grub/bitmap_scale.mod +0 -0
- package/ipxe/grub/blocklist.mod +0 -0
- package/ipxe/grub/boot.mod +0 -0
- package/ipxe/grub/bsd.mod +0 -0
- package/ipxe/grub/bswap_test.mod +0 -0
- package/ipxe/grub/btrfs.mod +0 -0
- package/ipxe/grub/bufio.mod +0 -0
- package/ipxe/grub/cat.mod +0 -0
- package/ipxe/grub/cbfs.mod +0 -0
- package/ipxe/grub/cbls.mod +0 -0
- package/ipxe/grub/cbmemc.mod +0 -0
- package/ipxe/grub/cbtable.mod +0 -0
- package/ipxe/grub/cbtime.mod +0 -0
- package/ipxe/grub/chain.mod +0 -0
- package/ipxe/grub/cmdline_cat_test.mod +0 -0
- package/ipxe/grub/cmp.mod +0 -0
- package/ipxe/grub/cmp_test.mod +0 -0
- package/ipxe/grub/command.lst +194 -0
- package/ipxe/grub/config.h +69 -0
- package/ipxe/grub/configfile.mod +0 -0
- package/ipxe/grub/cpio.mod +0 -0
- package/ipxe/grub/cpio_be.mod +0 -0
- package/ipxe/grub/cpuid.mod +0 -0
- package/ipxe/grub/crc64.mod +0 -0
- package/ipxe/grub/crypto.lst +45 -0
- package/ipxe/grub/crypto.mod +0 -0
- package/ipxe/grub/cryptodisk.mod +0 -0
- package/ipxe/grub/cs5536.mod +0 -0
- package/ipxe/grub/ctz_test.mod +0 -0
- package/ipxe/grub/date.mod +0 -0
- package/ipxe/grub/datehook.mod +0 -0
- package/ipxe/grub/datetime.mod +0 -0
- package/ipxe/grub/disk.mod +0 -0
- package/ipxe/grub/diskfilter.mod +0 -0
- package/ipxe/grub/div.mod +0 -0
- package/ipxe/grub/div_test.mod +0 -0
- package/ipxe/grub/dm_nv.mod +0 -0
- package/ipxe/grub/echo.mod +0 -0
- package/ipxe/grub/efi_gop.mod +0 -0
- package/ipxe/grub/efi_uga.mod +0 -0
- package/ipxe/grub/efifwsetup.mod +0 -0
- package/ipxe/grub/efinet.mod +0 -0
- package/ipxe/grub/ehci.mod +0 -0
- package/ipxe/grub/elf.mod +0 -0
- package/ipxe/grub/eval.mod +0 -0
- package/ipxe/grub/exfat.mod +0 -0
- package/ipxe/grub/exfctest.mod +0 -0
- package/ipxe/grub/ext2.mod +0 -0
- package/ipxe/grub/extcmd.mod +0 -0
- package/ipxe/grub/f2fs.mod +0 -0
- package/ipxe/grub/fat.mod +0 -0
- package/ipxe/grub/fdt.lst +0 -0
- package/ipxe/grub/file.mod +0 -0
- package/ipxe/grub/fixvideo.mod +0 -0
- package/ipxe/grub/font.mod +0 -0
- package/ipxe/grub/fs.lst +37 -0
- package/ipxe/grub/fshelp.mod +0 -0
- package/ipxe/grub/functional_test.mod +0 -0
- package/ipxe/grub/gcry_arcfour.mod +0 -0
- package/ipxe/grub/gcry_blowfish.mod +0 -0
- package/ipxe/grub/gcry_camellia.mod +0 -0
- package/ipxe/grub/gcry_cast5.mod +0 -0
- package/ipxe/grub/gcry_crc.mod +0 -0
- package/ipxe/grub/gcry_des.mod +0 -0
- package/ipxe/grub/gcry_dsa.mod +0 -0
- package/ipxe/grub/gcry_idea.mod +0 -0
- package/ipxe/grub/gcry_md4.mod +0 -0
- package/ipxe/grub/gcry_md5.mod +0 -0
- package/ipxe/grub/gcry_rfc2268.mod +0 -0
- package/ipxe/grub/gcry_rijndael.mod +0 -0
- package/ipxe/grub/gcry_rmd160.mod +0 -0
- package/ipxe/grub/gcry_rsa.mod +0 -0
- package/ipxe/grub/gcry_seed.mod +0 -0
- package/ipxe/grub/gcry_serpent.mod +0 -0
- package/ipxe/grub/gcry_sha1.mod +0 -0
- package/ipxe/grub/gcry_sha256.mod +0 -0
- package/ipxe/grub/gcry_sha512.mod +0 -0
- package/ipxe/grub/gcry_tiger.mod +0 -0
- package/ipxe/grub/gcry_twofish.mod +0 -0
- package/ipxe/grub/gcry_whirlpool.mod +0 -0
- package/ipxe/grub/geli.mod +0 -0
- package/ipxe/grub/gettext.mod +0 -0
- package/ipxe/grub/gfxmenu.mod +0 -0
- package/ipxe/grub/gfxterm.mod +0 -0
- package/ipxe/grub/gfxterm_background.mod +0 -0
- package/ipxe/grub/gfxterm_menu.mod +0 -0
- package/ipxe/grub/gptsync.mod +0 -0
- package/ipxe/grub/gzio.mod +0 -0
- package/ipxe/grub/halt.mod +0 -0
- package/ipxe/grub/hashsum.mod +0 -0
- package/ipxe/grub/hdparm.mod +0 -0
- package/ipxe/grub/hello.mod +0 -0
- package/ipxe/grub/help.mod +0 -0
- package/ipxe/grub/hexdump.mod +0 -0
- package/ipxe/grub/hfs.mod +0 -0
- package/ipxe/grub/hfsplus.mod +0 -0
- package/ipxe/grub/hfspluscomp.mod +0 -0
- package/ipxe/grub/http.mod +0 -0
- package/ipxe/grub/iorw.mod +0 -0
- package/ipxe/grub/iso9660.mod +0 -0
- package/ipxe/grub/jfs.mod +0 -0
- package/ipxe/grub/jpeg.mod +0 -0
- package/ipxe/grub/json.mod +0 -0
- package/ipxe/grub/kernel.img +0 -0
- package/ipxe/grub/keylayouts.mod +0 -0
- package/ipxe/grub/keystatus.mod +0 -0
- package/ipxe/grub/ldm.mod +0 -0
- package/ipxe/grub/legacy_password_test.mod +0 -0
- package/ipxe/grub/legacycfg.mod +0 -0
- package/ipxe/grub/linux.mod +0 -0
- package/ipxe/grub/linux16.mod +0 -0
- package/ipxe/grub/linuxefi.mod +0 -0
- package/ipxe/grub/loadbios.mod +0 -0
- package/ipxe/grub/loadenv.mod +0 -0
- package/ipxe/grub/loopback.mod +0 -0
- package/ipxe/grub/ls.mod +0 -0
- package/ipxe/grub/lsacpi.mod +0 -0
- package/ipxe/grub/lsefi.mod +0 -0
- package/ipxe/grub/lsefimmap.mod +0 -0
- package/ipxe/grub/lsefisystab.mod +0 -0
- package/ipxe/grub/lsmmap.mod +0 -0
- package/ipxe/grub/lspci.mod +0 -0
- package/ipxe/grub/lssal.mod +0 -0
- package/ipxe/grub/luks.mod +0 -0
- package/ipxe/grub/luks2.mod +0 -0
- package/ipxe/grub/lvm.mod +0 -0
- package/ipxe/grub/lzopio.mod +0 -0
- package/ipxe/grub/macbless.mod +0 -0
- package/ipxe/grub/macho.mod +0 -0
- package/ipxe/grub/mdraid09.mod +0 -0
- package/ipxe/grub/mdraid09_be.mod +0 -0
- package/ipxe/grub/mdraid1x.mod +0 -0
- package/ipxe/grub/memdisk.mod +0 -0
- package/ipxe/grub/memrw.mod +0 -0
- package/ipxe/grub/minicmd.mod +0 -0
- package/ipxe/grub/minix.mod +0 -0
- package/ipxe/grub/minix2.mod +0 -0
- package/ipxe/grub/minix2_be.mod +0 -0
- package/ipxe/grub/minix3.mod +0 -0
- package/ipxe/grub/minix3_be.mod +0 -0
- package/ipxe/grub/minix_be.mod +0 -0
- package/ipxe/grub/mmap.mod +0 -0
- package/ipxe/grub/moddep.lst +267 -0
- package/ipxe/grub/modinfo.sh +40 -0
- package/ipxe/grub/monolithic/gcdx64.efi +0 -0
- package/ipxe/grub/monolithic/grubnetx64-installer.efi +0 -0
- package/ipxe/grub/monolithic/grubnetx64.efi +0 -0
- package/ipxe/grub/monolithic/grubx64.efi +0 -0
- package/ipxe/grub/morse.mod +0 -0
- package/ipxe/grub/mpi.mod +0 -0
- package/ipxe/grub/msdospart.mod +0 -0
- package/ipxe/grub/mul_test.mod +0 -0
- package/ipxe/grub/multiboot.mod +0 -0
- package/ipxe/grub/multiboot2.mod +0 -0
- package/ipxe/grub/nativedisk.mod +0 -0
- package/ipxe/grub/net.mod +0 -0
- package/ipxe/grub/newc.mod +0 -0
- package/ipxe/grub/nilfs2.mod +0 -0
- package/ipxe/grub/normal.mod +0 -0
- package/ipxe/grub/ntfs.mod +0 -0
- package/ipxe/grub/ntfscomp.mod +0 -0
- package/ipxe/grub/odc.mod +0 -0
- package/ipxe/grub/offsetio.mod +0 -0
- package/ipxe/grub/ohci.mod +0 -0
- package/ipxe/grub/part_acorn.mod +0 -0
- package/ipxe/grub/part_amiga.mod +0 -0
- package/ipxe/grub/part_apple.mod +0 -0
- package/ipxe/grub/part_bsd.mod +0 -0
- package/ipxe/grub/part_dfly.mod +0 -0
- package/ipxe/grub/part_dvh.mod +0 -0
- package/ipxe/grub/part_gpt.mod +0 -0
- package/ipxe/grub/part_msdos.mod +0 -0
- package/ipxe/grub/part_plan.mod +0 -0
- package/ipxe/grub/part_sun.mod +0 -0
- package/ipxe/grub/part_sunpc.mod +0 -0
- package/ipxe/grub/partmap.lst +11 -0
- package/ipxe/grub/parttool.lst +1 -0
- package/ipxe/grub/parttool.mod +0 -0
- package/ipxe/grub/password.mod +0 -0
- package/ipxe/grub/password_pbkdf2.mod +0 -0
- package/ipxe/grub/pata.mod +0 -0
- package/ipxe/grub/pbkdf2.mod +0 -0
- package/ipxe/grub/pbkdf2_test.mod +0 -0
- package/ipxe/grub/pcidump.mod +0 -0
- package/ipxe/grub/pgp.mod +0 -0
- package/ipxe/grub/play.mod +0 -0
- package/ipxe/grub/png.mod +0 -0
- package/ipxe/grub/priority_queue.mod +0 -0
- package/ipxe/grub/probe.mod +0 -0
- package/ipxe/grub/procfs.mod +0 -0
- package/ipxe/grub/progress.mod +0 -0
- package/ipxe/grub/raid5rec.mod +0 -0
- package/ipxe/grub/raid6rec.mod +0 -0
- package/ipxe/grub/random.mod +0 -0
- package/ipxe/grub/rdmsr.mod +0 -0
- package/ipxe/grub/read.mod +0 -0
- package/ipxe/grub/reboot.mod +0 -0
- package/ipxe/grub/regexp.mod +0 -0
- package/ipxe/grub/reiserfs.mod +0 -0
- package/ipxe/grub/relocator.mod +0 -0
- package/ipxe/grub/romfs.mod +0 -0
- package/ipxe/grub/scsi.mod +0 -0
- package/ipxe/grub/search.mod +0 -0
- package/ipxe/grub/search_fs_file.mod +0 -0
- package/ipxe/grub/search_fs_uuid.mod +0 -0
- package/ipxe/grub/search_label.mod +0 -0
- package/ipxe/grub/serial.mod +0 -0
- package/ipxe/grub/setjmp.mod +0 -0
- package/ipxe/grub/setjmp_test.mod +0 -0
- package/ipxe/grub/setpci.mod +0 -0
- package/ipxe/grub/sfs.mod +0 -0
- package/ipxe/grub/shift_test.mod +0 -0
- package/ipxe/grub/signature_test.mod +0 -0
- package/ipxe/grub/sleep.mod +0 -0
- package/ipxe/grub/sleep_test.mod +0 -0
- package/ipxe/grub/smbios.mod +0 -0
- package/ipxe/grub/spkmodem.mod +0 -0
- package/ipxe/grub/squash4.mod +0 -0
- package/ipxe/grub/strtoull_test.mod +0 -0
- package/ipxe/grub/syslinuxcfg.mod +0 -0
- package/ipxe/grub/tar.mod +0 -0
- package/ipxe/grub/terminal.lst +9 -0
- package/ipxe/grub/terminal.mod +0 -0
- package/ipxe/grub/terminfo.mod +0 -0
- package/ipxe/grub/test.mod +0 -0
- package/ipxe/grub/test_blockarg.mod +0 -0
- package/ipxe/grub/testload.mod +0 -0
- package/ipxe/grub/testspeed.mod +0 -0
- package/ipxe/grub/tftp.mod +0 -0
- package/ipxe/grub/tga.mod +0 -0
- package/ipxe/grub/time.mod +0 -0
- package/ipxe/grub/tpm.mod +0 -0
- package/ipxe/grub/tr.mod +0 -0
- package/ipxe/grub/trig.mod +0 -0
- package/ipxe/grub/true.mod +0 -0
- package/ipxe/grub/udf.mod +0 -0
- package/ipxe/grub/ufs1.mod +0 -0
- package/ipxe/grub/ufs1_be.mod +0 -0
- package/ipxe/grub/ufs2.mod +0 -0
- package/ipxe/grub/uhci.mod +0 -0
- package/ipxe/grub/usb.mod +0 -0
- package/ipxe/grub/usb_keyboard.mod +0 -0
- package/ipxe/grub/usbms.mod +0 -0
- package/ipxe/grub/usbserial_common.mod +0 -0
- package/ipxe/grub/usbserial_ftdi.mod +0 -0
- package/ipxe/grub/usbserial_pl2303.mod +0 -0
- package/ipxe/grub/usbserial_usbdebug.mod +0 -0
- package/ipxe/grub/usbtest.mod +0 -0
- package/ipxe/grub/video.lst +4 -0
- package/ipxe/grub/video.mod +0 -0
- package/ipxe/grub/video_bochs.mod +0 -0
- package/ipxe/grub/video_cirrus.mod +0 -0
- package/ipxe/grub/video_colors.mod +0 -0
- package/ipxe/grub/video_fb.mod +0 -0
- package/ipxe/grub/videoinfo.mod +0 -0
- package/ipxe/grub/videotest.mod +0 -0
- package/ipxe/grub/videotest_checksum.mod +0 -0
- package/ipxe/grub/wrmsr.mod +0 -0
- package/ipxe/grub/xfs.mod +0 -0
- package/ipxe/grub/xnu.mod +0 -0
- package/ipxe/grub/xnu_uuid.mod +0 -0
- package/ipxe/grub/xnu_uuid_test.mod +0 -0
- package/ipxe/grub/xzio.mod +0 -0
- package/ipxe/grub/zfs.mod +0 -0
- package/ipxe/grub/zfscrypt.mod +0 -0
- package/ipxe/grub/zfsinfo.mod +0 -0
- package/ipxe/grub/zstd.mod +0 -0
- package/ipxe/grubnetx64.efi.signed +0 -0
- package/ipxe/ipxe.pxe +0 -0
- package/ipxe/undionly.kpxe +0 -0
- package/mkinitcpio/arch/live.conf +3 -2
- package/mkinitcpio/manjaro/live.conf +1 -1
- package/mkinitfs/README.md +10 -49
- package/mkinitfs/live.conf +2 -0
- package/package.json +35 -30
- package/pods/ci/minimal/opensuse-container2host.sh +1 -1
- package/scripts/99clean +42 -0
- package/scripts/_eggs +6 -12
- package/scripts/eggs.bash +1 -2
- package/conf/distros/aldos/calamares/modules/bootloader.yml +0 -85
- package/conf/distros/aldos/calamares/modules/displaymanager.yml +0 -22
- package/conf/distros/aldos/calamares/modules/finished.yml +0 -5
- package/conf/distros/aldos/calamares/modules/fstab.yml +0 -12
- package/conf/distros/aldos/calamares/modules/locale.yml +0 -97
- package/conf/distros/aldos/calamares/modules/luksopenswaphookcfg.yml +0 -5
- package/conf/distros/aldos/calamares/modules/machineid.yml +0 -17
- package/conf/distros/aldos/calamares/modules/mount.yml +0 -56
- package/conf/distros/aldos/calamares/modules/packages.yml +0 -6
- package/conf/distros/aldos/calamares/modules/partition.yml +0 -242
- package/conf/distros/aldos/calamares/modules/removeuser.yml +0 -15
- package/conf/distros/aldos/calamares/modules/unpackfs.yml +0 -6
- package/conf/distros/aldos/calamares/modules/users.yml +0 -19
- package/conf/distros/aldos/calamares/modules/welcome.yml +0 -19
- package/conf/distros/aldos/calamares/settings.yml +0 -124
- package/conf/distros/fedora/calamares/modules/bootloader.conf +0 -85
- package/conf/distros/opensuse/calamares/modules/bootloader.conf +0 -86
- package/conf/distros/opensuse/calamares/modules/locale.yml +0 -98
- package/conf/distros/opensuse/calamares/modules/luksopenswaphookcfg.yml +0 -5
- package/conf/distros/opensuse/calamares/modules/machineid.yml +0 -17
- package/conf/distros/rolling/calamares/modules/shellprocess_removelink.yml +0 -8
- package/dracut/sidecar.sh +0 -19
- package/ipxe/ipxe.efi +0 -0
- package/mkinitfs/initramfs-init.in +0 -1051
- package/mkinitfs/sidecar.sh +0 -52
|
@@ -1,1051 +0,0 @@
|
|
|
1
|
-
#!/bin/sh
|
|
2
|
-
|
|
3
|
-
# this is the init script version
|
|
4
|
-
VERSION=@VERSION@
|
|
5
|
-
SINGLEMODE=no
|
|
6
|
-
sysroot="$ROOT"/sysroot
|
|
7
|
-
splashfile=/.splash.ctrl
|
|
8
|
-
repofile="$ROOT"/tmp/repositories
|
|
9
|
-
|
|
10
|
-
# some helpers
|
|
11
|
-
ebegin() {
|
|
12
|
-
last_emsg="$*"
|
|
13
|
-
echo "$last_emsg..." > "$ROOT"/dev/kmsg
|
|
14
|
-
[ "$KOPT_quiet" = yes ] && return 0
|
|
15
|
-
echo -n " * $last_emsg: "
|
|
16
|
-
}
|
|
17
|
-
eend() {
|
|
18
|
-
local msg
|
|
19
|
-
if [ "$1" = 0 ] || [ $# -lt 1 ] ; then
|
|
20
|
-
echo "$last_emsg: ok." > "$ROOT"/dev/kmsg
|
|
21
|
-
[ "$KOPT_quiet" = yes ] && return 0
|
|
22
|
-
echo "ok."
|
|
23
|
-
else
|
|
24
|
-
shift
|
|
25
|
-
echo "$last_emsg: failed. $*" > "$ROOT"/dev/kmsg
|
|
26
|
-
if [ "$KOPT_quiet" = "yes" ]; then
|
|
27
|
-
echo -n "$last_emsg "
|
|
28
|
-
fi
|
|
29
|
-
echo "failed. $*"
|
|
30
|
-
echo "initramfs emergency recovery shell launched. Type 'exit' to continue boot"
|
|
31
|
-
/bin/busybox sh
|
|
32
|
-
fi
|
|
33
|
-
}
|
|
34
|
-
|
|
35
|
-
unpack_apkovl() {
|
|
36
|
-
local ovl="$1"
|
|
37
|
-
local dest="$2"
|
|
38
|
-
local suffix=${ovl##*.}
|
|
39
|
-
local i
|
|
40
|
-
ovlfiles=/tmp/ovlfiles
|
|
41
|
-
if [ "$suffix" = "gz" ]; then
|
|
42
|
-
tar -C "$dest" -zxvf "$ovl" > $ovlfiles
|
|
43
|
-
return $?
|
|
44
|
-
fi
|
|
45
|
-
|
|
46
|
-
# we need openssl. let apk handle deps
|
|
47
|
-
apk add --quiet --initdb --repositories-file $repofile openssl || return 1
|
|
48
|
-
|
|
49
|
-
if ! openssl list -1 -cipher-commands | grep "^$suffix$" > /dev/null; then
|
|
50
|
-
errstr="Cipher $suffix is not supported"
|
|
51
|
-
return 1
|
|
52
|
-
fi
|
|
53
|
-
local count=0
|
|
54
|
-
# beep
|
|
55
|
-
echo -e "\007"
|
|
56
|
-
while [ $count -lt 3 ]; do
|
|
57
|
-
openssl enc -d -$suffix -in "$ovl" | tar --numeric-owner \
|
|
58
|
-
-C "$dest" -zxv >$ovlfiles 2>/dev/null && return 0
|
|
59
|
-
count=$(( $count + 1 ))
|
|
60
|
-
done
|
|
61
|
-
ovlfiles=
|
|
62
|
-
return 1
|
|
63
|
-
}
|
|
64
|
-
|
|
65
|
-
# find mount dir and mount opts for given device in an fstab
|
|
66
|
-
get_fstab_mount_info() {
|
|
67
|
-
local search_dev="$1"
|
|
68
|
-
local fstab="$2"
|
|
69
|
-
local mntopts=
|
|
70
|
-
case "$search_dev" in
|
|
71
|
-
UUID*|LABEL*) search_dev=$(findfs "$search_dev");;
|
|
72
|
-
esac
|
|
73
|
-
[ -r "$fstab" ] || return 1
|
|
74
|
-
local search_maj_min=$(stat -L -c '%t,%T' $search_dev)
|
|
75
|
-
while read dev mnt fs mntopts chk; do
|
|
76
|
-
case "$dev" in
|
|
77
|
-
UUID*|LABEL*) dev=$(findfs "$dev");;
|
|
78
|
-
esac
|
|
79
|
-
if [ -b "$dev" ] || [ -n "$ROOT" ]; then
|
|
80
|
-
local maj_min=$(stat -L -c '%t,%T' $dev)
|
|
81
|
-
if [ "$maj_min" = "$search_maj_min" ]; then
|
|
82
|
-
echo "$mnt $mntopts"
|
|
83
|
-
return
|
|
84
|
-
fi
|
|
85
|
-
fi
|
|
86
|
-
done < $fstab
|
|
87
|
-
}
|
|
88
|
-
|
|
89
|
-
# add a boot service to $sysroot
|
|
90
|
-
rc_add() {
|
|
91
|
-
mkdir -p $sysroot/etc/runlevels/$2
|
|
92
|
-
ln -sf /etc/init.d/$1 $sysroot/etc/runlevels/$2/$1
|
|
93
|
-
}
|
|
94
|
-
|
|
95
|
-
# Recursively resolve tty aliases like console or tty0
|
|
96
|
-
list_console_devices() {
|
|
97
|
-
if ! [ -e "$ROOT"/sys/class/tty/$1/active ]; then
|
|
98
|
-
echo $1
|
|
99
|
-
return
|
|
100
|
-
fi
|
|
101
|
-
|
|
102
|
-
for dev in $(cat "$ROOT"/sys/class/tty/$1/active); do
|
|
103
|
-
list_console_devices $dev
|
|
104
|
-
done
|
|
105
|
-
}
|
|
106
|
-
|
|
107
|
-
detect_serial_consoles() {
|
|
108
|
-
if [ -f "$ovl" ] || [ "$KOPT_autodetect_serial" = "no" ]; then
|
|
109
|
-
return
|
|
110
|
-
fi
|
|
111
|
-
local n=$(awk '$7 ~ /CTS/ || $7 ~ /DSR/ { print $1 }' "$ROOT"/proc/tty/driver/serial 2>/dev/null)
|
|
112
|
-
if [ -n "$n" ]; then
|
|
113
|
-
echo ttyS${n%:}
|
|
114
|
-
fi
|
|
115
|
-
for i in "$ROOT"/sys/class/tty/*; do
|
|
116
|
-
if [ -e "$i"/device ]; then
|
|
117
|
-
echo ${i##*/}
|
|
118
|
-
fi
|
|
119
|
-
done
|
|
120
|
-
}
|
|
121
|
-
|
|
122
|
-
setup_inittab_console() {
|
|
123
|
-
term=vt100
|
|
124
|
-
# Inquire the kernel for list of console= devices
|
|
125
|
-
consoles="$(for c in console $KOPT_consoles $(detect_serial_consoles); do list_console_devices $c; done)"
|
|
126
|
-
for tty in $consoles; do
|
|
127
|
-
# ignore tty devices that gives I/O error
|
|
128
|
-
if ! stty -g -F /dev/$tty >/dev/null 2>/dev/null; then
|
|
129
|
-
continue
|
|
130
|
-
fi
|
|
131
|
-
# do nothing if inittab already have the tty set up
|
|
132
|
-
if ! grep -q "^$tty:" $sysroot/etc/inittab 2>/dev/null; then
|
|
133
|
-
echo "# enable login on alternative console" \
|
|
134
|
-
>> $sysroot/etc/inittab
|
|
135
|
-
# Baudrate of 0 keeps settings from kernel
|
|
136
|
-
echo "$tty::respawn:/sbin/getty -L 0 $tty $term" \
|
|
137
|
-
>> $sysroot/etc/inittab
|
|
138
|
-
fi
|
|
139
|
-
if [ -e "$sysroot"/etc/securetty ] && ! grep -q -w "$tty" "$sysroot"/etc/securetty; then
|
|
140
|
-
echo "$tty" >> "$sysroot"/etc/securetty
|
|
141
|
-
fi
|
|
142
|
-
done
|
|
143
|
-
}
|
|
144
|
-
|
|
145
|
-
# collect ethernet interfaces, sorted by index
|
|
146
|
-
ethernets() {
|
|
147
|
-
for i in "$ROOT/sys/class/net/"*; do
|
|
148
|
-
local iface="${i##*/}"
|
|
149
|
-
if [ -d "$i/device" ]; then
|
|
150
|
-
echo "$(cat "$i/ifindex") $iface"
|
|
151
|
-
fi
|
|
152
|
-
done | sort -n | awk '{print $2}'
|
|
153
|
-
}
|
|
154
|
-
|
|
155
|
-
# find the interface that is has operstate up
|
|
156
|
-
find_first_interface_up() {
|
|
157
|
-
local n=0
|
|
158
|
-
[ $# -eq 0 ] && return 0
|
|
159
|
-
while [ "$n" -le "${LINK_WAIT_MAX:-40}" ]; do
|
|
160
|
-
for i in "$@"; do
|
|
161
|
-
if grep -q -F -x "up" "$ROOT/sys/class/net/$i/operstate"; then
|
|
162
|
-
echo "$i"
|
|
163
|
-
return
|
|
164
|
-
fi
|
|
165
|
-
done
|
|
166
|
-
sleep 0.1
|
|
167
|
-
n=$((n+1))
|
|
168
|
-
done
|
|
169
|
-
return 1
|
|
170
|
-
}
|
|
171
|
-
|
|
172
|
-
# if "ip=dhcp" is specified on the command line, we obtain an IP address
|
|
173
|
-
# using udhcpc. we do this now and not by enabling kernel-mode DHCP because
|
|
174
|
-
# kernel-model DHCP appears to require that network drivers be built into
|
|
175
|
-
# the kernel rather than as modules. At this point all applicable modules
|
|
176
|
-
# in the initrd should have been loaded.
|
|
177
|
-
#
|
|
178
|
-
# You need af_packet.ko available as well modules for your Ethernet card.
|
|
179
|
-
#
|
|
180
|
-
# See https://www.kernel.org/doc/Documentation/filesystems/nfs/nfsroot.txt
|
|
181
|
-
# for documentation on the format.
|
|
182
|
-
#
|
|
183
|
-
# Valid syntaxes:
|
|
184
|
-
# ip=client-ip:server-ip:gw-ip:netmask:hostname:device:autoconf:
|
|
185
|
-
# :dns0-ip:dns1-ip:ntp0-ip
|
|
186
|
-
# ip=dhcp
|
|
187
|
-
# "server-ip", "hostname" and "ntp0-ip" are not supported here.
|
|
188
|
-
# Default (when configure_ip is called without setting ip=):
|
|
189
|
-
# ip=dhcp
|
|
190
|
-
#
|
|
191
|
-
configure_ip() {
|
|
192
|
-
[ -n "$MAC_ADDRESS" ] && return
|
|
193
|
-
|
|
194
|
-
local IFS=':'
|
|
195
|
-
# shellcheck disable=SC2086
|
|
196
|
-
set -- ${KOPT_ip:-dhcp}
|
|
197
|
-
unset IFS
|
|
198
|
-
|
|
199
|
-
local client_ip="$1"
|
|
200
|
-
local gw_ip="$3"
|
|
201
|
-
local netmask="$4"
|
|
202
|
-
local iface="$6"
|
|
203
|
-
local autoconf="$7"
|
|
204
|
-
local dns1="$8"
|
|
205
|
-
local dns2="$9"
|
|
206
|
-
|
|
207
|
-
case "$client_ip" in
|
|
208
|
-
off|none) return;;
|
|
209
|
-
dhcp) autoconf="dhcp";;
|
|
210
|
-
esac
|
|
211
|
-
|
|
212
|
-
if [ -e "$ROOT"/etc/mactab ]; then
|
|
213
|
-
$MOCK nameif -s
|
|
214
|
-
fi
|
|
215
|
-
|
|
216
|
-
if [ -z "$iface" ] && [ -n "$KOPT_BOOTIF" ]; then
|
|
217
|
-
mac=$(printf "%s\n" "$KOPT_BOOTIF"|sed 's/^01-//;s/-/:/g')
|
|
218
|
-
iface=$(grep -l "$mac" "$ROOT"/sys/class/net/*/address | awk -F/ '{print $(NF-1); exit}')
|
|
219
|
-
fi
|
|
220
|
-
|
|
221
|
-
if [ -z "$iface" ]; then
|
|
222
|
-
# shellcheck disable=SC2046
|
|
223
|
-
set -- $(ethernets)
|
|
224
|
-
for i in "$@"; do
|
|
225
|
-
$MOCK ip link set dev "$i" up
|
|
226
|
-
done
|
|
227
|
-
iface=$(find_first_interface_up "$@") || iface="$1"
|
|
228
|
-
|
|
229
|
-
# we will use the found interface later so lets keep it up
|
|
230
|
-
for i in "$@"; do
|
|
231
|
-
if [ "$i" != "$iface" ]; then
|
|
232
|
-
$MOCK ip link set dev "$i" down
|
|
233
|
-
fi
|
|
234
|
-
done
|
|
235
|
-
fi
|
|
236
|
-
|
|
237
|
-
if [ -z "$iface" ]; then
|
|
238
|
-
echo "ERROR: IP requested but no network interface was found"
|
|
239
|
-
return 1
|
|
240
|
-
fi
|
|
241
|
-
|
|
242
|
-
if [ "$autoconf" = "dhcp" ]; then
|
|
243
|
-
# automatic configuration
|
|
244
|
-
if [ ! -e "$ROOT"/usr/share/udhcpc/default.script ]; then
|
|
245
|
-
echo "ERROR: DHCP requested but not present in initrd"
|
|
246
|
-
return 1
|
|
247
|
-
fi
|
|
248
|
-
ebegin "Obtaining IP via DHCP ($iface)"
|
|
249
|
-
$MOCK ip link set dev "$iface" up
|
|
250
|
-
$MOCK udhcpc -i "$iface" -f -q
|
|
251
|
-
eend $?
|
|
252
|
-
else
|
|
253
|
-
# manual configuration
|
|
254
|
-
if [ -z "$client_ip" ] && [ -z "$netmask" ]; then
|
|
255
|
-
return
|
|
256
|
-
fi
|
|
257
|
-
ebegin "Setting IP ($iface)"
|
|
258
|
-
if ifconfig "$iface" "$client_ip" netmask "$netmask"; then
|
|
259
|
-
[ -z "$gw_ip" ] || ip route add 0.0.0.0/0 via "$gw_ip" dev "$iface"
|
|
260
|
-
fi
|
|
261
|
-
eend $?
|
|
262
|
-
fi
|
|
263
|
-
|
|
264
|
-
# Never executes if variables are empty
|
|
265
|
-
for i in $dns1 $dns2; do
|
|
266
|
-
echo "nameserver $i" >> /etc/resolv.conf
|
|
267
|
-
done
|
|
268
|
-
|
|
269
|
-
MAC_ADDRESS=$(cat "$ROOT/sys/class/net/$iface/address")
|
|
270
|
-
}
|
|
271
|
-
|
|
272
|
-
# relocate mountpoint according given fstab and set mount options
|
|
273
|
-
remount_fstab_entry() {
|
|
274
|
-
local fstab="${1}"
|
|
275
|
-
local dir=
|
|
276
|
-
if ! [ -e "$repofile" ]; then
|
|
277
|
-
return
|
|
278
|
-
fi
|
|
279
|
-
echo "$ovl" | cat - "$repofile" | while read dir; do
|
|
280
|
-
# skip http(s)/ftp repos for netboot
|
|
281
|
-
if [ -z "$dir" ] || ! [ -d "$ROOT/$dir" -o -f "$ROOT/$dir" ]; then
|
|
282
|
-
continue
|
|
283
|
-
fi
|
|
284
|
-
local dev=$(df -P "$dir" | tail -1 | awk '{print $1}')
|
|
285
|
-
local mntinfo="$(get_fstab_mount_info "$dev" "$fstab")"
|
|
286
|
-
local mnt="${mntinfo% *}"
|
|
287
|
-
local mntopts="${mntinfo#* }"
|
|
288
|
-
if [ -n "$mnt" ]; then
|
|
289
|
-
local oldmnt=$(awk -v d=$ROOT$dev '$1==d {print $2}' "$ROOT"/proc/mounts 2>/dev/null)
|
|
290
|
-
if [ "$oldmnt" != "$mnt" ]; then
|
|
291
|
-
mkdir -p "$mnt"
|
|
292
|
-
$MOCK mount -o move "$oldmnt" "$mnt"
|
|
293
|
-
fi
|
|
294
|
-
if [ -n "$mntopts" ]; then
|
|
295
|
-
$MOCK mount -o remount,"$mntopts" "$mnt"
|
|
296
|
-
fi
|
|
297
|
-
fi
|
|
298
|
-
done
|
|
299
|
-
}
|
|
300
|
-
|
|
301
|
-
# find the dirs under ALPINE_MNT that are boot repositories
|
|
302
|
-
find_boot_repositories() {
|
|
303
|
-
if [ -n "$ALPINE_REPO" ]; then
|
|
304
|
-
echo "$ALPINE_REPO" | tr ',' '\n'
|
|
305
|
-
else
|
|
306
|
-
find /media/* -maxdepth 3 -name .boot_repository -type f \
|
|
307
|
-
| sed 's:/.boot_repository$::'
|
|
308
|
-
fi
|
|
309
|
-
}
|
|
310
|
-
|
|
311
|
-
setup_nbd() {
|
|
312
|
-
$MOCK modprobe -q nbd max_part=8 || return 1
|
|
313
|
-
local IFS=, n=0
|
|
314
|
-
set -- $KOPT_nbd
|
|
315
|
-
unset IFS
|
|
316
|
-
for ops; do
|
|
317
|
-
local server="${ops%:*}"
|
|
318
|
-
local port="${ops#*:}"
|
|
319
|
-
local device="/dev/nbd${n}"
|
|
320
|
-
[ -b "$device" ] || continue
|
|
321
|
-
nbd-client "$server" "$port" "$device" && n=$((n+1))
|
|
322
|
-
done
|
|
323
|
-
[ "$n" != 0 ] || return 1
|
|
324
|
-
}
|
|
325
|
-
|
|
326
|
-
setup_wireguard() {
|
|
327
|
-
$MOCK modprobe -q wireguard || return 1
|
|
328
|
-
local IFS=';'
|
|
329
|
-
set -- $KOPT_wireguard
|
|
330
|
-
unset IFS
|
|
331
|
-
|
|
332
|
-
local device="$1"
|
|
333
|
-
local ips="$2"
|
|
334
|
-
local config="${3:-/etc/wireguard/initrd.conf}"
|
|
335
|
-
|
|
336
|
-
local IFS=','
|
|
337
|
-
set -- $ips
|
|
338
|
-
unset IFS
|
|
339
|
-
|
|
340
|
-
$MOCK ip link add "$device" type wireguard
|
|
341
|
-
$MOCK wg setconf "$device" "$config"
|
|
342
|
-
$MOCK ip link set dev "$device" up
|
|
343
|
-
|
|
344
|
-
for addr in $@; do
|
|
345
|
-
$MOCK ip addr add dev "$device" "$addr"
|
|
346
|
-
done
|
|
347
|
-
}
|
|
348
|
-
|
|
349
|
-
rtc_exists() {
|
|
350
|
-
local rtc=
|
|
351
|
-
for rtc in /dev/rtc /dev/rtc[0-9]*; do
|
|
352
|
-
[ -e "$rtc" ] && break
|
|
353
|
-
done
|
|
354
|
-
[ -e "$rtc" ]
|
|
355
|
-
}
|
|
356
|
-
|
|
357
|
-
# This is used to predict if network access will be necessary
|
|
358
|
-
is_url() {
|
|
359
|
-
case "$1" in
|
|
360
|
-
http://*|https://*|ftp://*)
|
|
361
|
-
return 0;;
|
|
362
|
-
*)
|
|
363
|
-
return 1;;
|
|
364
|
-
esac
|
|
365
|
-
}
|
|
366
|
-
|
|
367
|
-
# Do some tasks to make sure mounting the ZFS pool is A-OK
|
|
368
|
-
prepare_zfs_root() {
|
|
369
|
-
local _root_vol=${KOPT_root#ZFS=}
|
|
370
|
-
local _root_pool=${_root_vol%%/*}
|
|
371
|
-
|
|
372
|
-
# Force import if this has been imported on a different system previously.
|
|
373
|
-
# Import normally otherwise
|
|
374
|
-
if [ "$KOPT_zfs_force" = 1 ]; then
|
|
375
|
-
zpool import -N -d /dev -f $_root_pool
|
|
376
|
-
else
|
|
377
|
-
zpool import -N -d /dev $_root_pool
|
|
378
|
-
fi
|
|
379
|
-
|
|
380
|
-
|
|
381
|
-
# Ask for encryption password
|
|
382
|
-
if [ $(zpool list -H -o feature@encryption $_root_pool) = "active" ]; then
|
|
383
|
-
local _encryption_root=$(zfs get -H -o value encryptionroot $_root_vol)
|
|
384
|
-
if [ "$_encryption_root" != "-" ]; then
|
|
385
|
-
eval zfs load-key $_encryption_root
|
|
386
|
-
fi
|
|
387
|
-
fi
|
|
388
|
-
}
|
|
389
|
-
|
|
390
|
-
want_tiny_cloud() {
|
|
391
|
-
if [ -f "$sysroot/etc/tiny-cloud.disabled" ]; then
|
|
392
|
-
return 1
|
|
393
|
-
fi
|
|
394
|
-
case "$KOPT_ds" in
|
|
395
|
-
nocloud*) return 0;;
|
|
396
|
-
esac
|
|
397
|
-
if grep -q "^ds=nocloud" "$ROOT"/sys/class/dmi/id/product_serial 2>/dev/null; then
|
|
398
|
-
return 0
|
|
399
|
-
fi
|
|
400
|
-
findfs LABEL=cidata >/dev/null 2>&1 || findfs LABEL=CIDATA >/dev/null 2>&1
|
|
401
|
-
}
|
|
402
|
-
|
|
403
|
-
/bin/busybox mkdir -p "$ROOT"/usr/bin \
|
|
404
|
-
"$ROOT"/usr/sbin \
|
|
405
|
-
"$ROOT"/proc \
|
|
406
|
-
"$ROOT"/sys \
|
|
407
|
-
"$ROOT"/dev \
|
|
408
|
-
"$sysroot" \
|
|
409
|
-
"$ROOT"/media/cdrom \
|
|
410
|
-
"$ROOT"/media/usb \
|
|
411
|
-
"$ROOT"/tmp \
|
|
412
|
-
"$ROOT"/etc \
|
|
413
|
-
"$ROOT"/run/cryptsetup
|
|
414
|
-
|
|
415
|
-
# Spread out busybox symlinks and make them available without full path
|
|
416
|
-
/bin/busybox --install -s
|
|
417
|
-
export PATH="$PATH:/usr/bin:/bin:/usr/sbin:/sbin"
|
|
418
|
-
|
|
419
|
-
# Make sure /dev/null is a device node. If /dev/null does not exist yet, the command
|
|
420
|
-
# mounting the devtmpfs will create it implicitly as an file with the "2>" redirection.
|
|
421
|
-
# The -c check is required to deal with initramfs with pre-seeded device nodes without
|
|
422
|
-
# error message.
|
|
423
|
-
[ -c /dev/null ] || $MOCK mknod -m 666 /dev/null c 1 3
|
|
424
|
-
|
|
425
|
-
$MOCK mount -t sysfs -o noexec,nosuid,nodev sysfs /sys
|
|
426
|
-
$MOCK mount -t devtmpfs -o exec,nosuid,mode=0755,size=2M devtmpfs /dev 2>/dev/null \
|
|
427
|
-
|| $MOCK mount -t tmpfs -o exec,nosuid,mode=0755,size=2M tmpfs /dev
|
|
428
|
-
|
|
429
|
-
# Make sure /dev/kmsg is a device node. Writing to /dev/kmsg allows the use of the
|
|
430
|
-
# earlyprintk kernel option to monitor early init progress. As above, the -c check
|
|
431
|
-
# prevents an error if the device node has already been seeded.
|
|
432
|
-
[ -c /dev/kmsg ] || $MOCK mknod -m 660 /dev/kmsg c 1 11
|
|
433
|
-
|
|
434
|
-
$MOCK mount -t proc -o noexec,nosuid,nodev proc /proc
|
|
435
|
-
# pty device nodes (later system will need it)
|
|
436
|
-
[ -c /dev/ptmx ] || $MOCK mknod -m 666 /dev/ptmx c 5 2
|
|
437
|
-
[ -d /dev/pts ] || $MOCK mkdir -m 755 /dev/pts
|
|
438
|
-
$MOCK mount -t devpts -o gid=5,mode=0620,noexec,nosuid devpts /dev/pts
|
|
439
|
-
|
|
440
|
-
# shared memory area (later system will need it)
|
|
441
|
-
mkdir -p "$ROOT"/dev/shm
|
|
442
|
-
$MOCK mount -t tmpfs -o nodev,nosuid,noexec shm /dev/shm
|
|
443
|
-
|
|
444
|
-
|
|
445
|
-
# read the kernel options. we need surve things like:
|
|
446
|
-
# acpi_osi="!Windows 2006" xen-pciback.hide=(01:00.0)
|
|
447
|
-
set -- $(cat "$ROOT"/proc/cmdline)
|
|
448
|
-
|
|
449
|
-
myopts="autodetect_serial chart cryptroot cryptdm cryptheader cryptoffset
|
|
450
|
-
cryptdiscards cryptkey debug_init ds init init_args keep_apk_new modules
|
|
451
|
-
pkgs quiet root_size root usbdelay ip alpine_repo apkovl splash
|
|
452
|
-
blacklist overlaytmpfs overlaytmpfsflags rootfstype rootflags nbd resume resume_offset
|
|
453
|
-
s390x_net dasd ssh_key BOOTIF zfcp uevent_buf_size aoe aoe_iflist aoe_mtu wireguard"
|
|
454
|
-
|
|
455
|
-
for opt; do
|
|
456
|
-
case "$opt" in
|
|
457
|
-
s|single|1)
|
|
458
|
-
SINGLEMODE=yes
|
|
459
|
-
continue
|
|
460
|
-
;;
|
|
461
|
-
console=*)
|
|
462
|
-
opt="${opt#*=}"
|
|
463
|
-
KOPT_consoles="${opt%%,*} $KOPT_consoles"
|
|
464
|
-
switch_root_opts="-c /dev/${opt%%,*}"
|
|
465
|
-
continue
|
|
466
|
-
;;
|
|
467
|
-
esac
|
|
468
|
-
|
|
469
|
-
for i in $myopts; do
|
|
470
|
-
case "$opt" in
|
|
471
|
-
$i=*) eval "KOPT_${i}"='${opt#*=}';;
|
|
472
|
-
$i) eval "KOPT_${i}=yes";;
|
|
473
|
-
no$i) eval "KOPT_${i}=no";;
|
|
474
|
-
esac
|
|
475
|
-
done
|
|
476
|
-
done
|
|
477
|
-
|
|
478
|
-
echo "Alpine Init $VERSION" > "$ROOT"/dev/kmsg
|
|
479
|
-
[ "$KOPT_quiet" = yes ] || echo "Alpine Init $VERSION"
|
|
480
|
-
|
|
481
|
-
# enable debugging if requested
|
|
482
|
-
[ -n "$KOPT_debug_init" ] && set -x
|
|
483
|
-
|
|
484
|
-
# set default values
|
|
485
|
-
: ${KOPT_init:=/sbin/init}
|
|
486
|
-
|
|
487
|
-
# pick first keymap if found
|
|
488
|
-
for map in "$ROOT"/etc/keymap/*; do
|
|
489
|
-
if [ -f "$map" ]; then
|
|
490
|
-
ebegin "Setting keymap ${map##*/}"
|
|
491
|
-
zcat "$map" | loadkmap
|
|
492
|
-
eend
|
|
493
|
-
break
|
|
494
|
-
fi
|
|
495
|
-
done
|
|
496
|
-
|
|
497
|
-
# start bootcharting if wanted
|
|
498
|
-
if [ "$KOPT_chart" = yes ]; then
|
|
499
|
-
ebegin "Starting bootchart logging"
|
|
500
|
-
$MOCK /sbin/bootchartd start-initfs
|
|
501
|
-
eend 0
|
|
502
|
-
fi
|
|
503
|
-
|
|
504
|
-
# The following values are supported:
|
|
505
|
-
# alpine_repo=auto -- default, search for .boot_repository
|
|
506
|
-
# alpine_repo=http://... -- network repository
|
|
507
|
-
ALPINE_REPO=${KOPT_alpine_repo}
|
|
508
|
-
[ "$ALPINE_REPO" = "auto" ] && ALPINE_REPO=
|
|
509
|
-
|
|
510
|
-
# hide kernel messages
|
|
511
|
-
[ "$KOPT_quiet" = yes ] && dmesg -n 1
|
|
512
|
-
|
|
513
|
-
# optional blacklist
|
|
514
|
-
if [ -n "$KOPT_blacklist" ]; then
|
|
515
|
-
mkdir -p "$ROOT"/etc/modprobe.d
|
|
516
|
-
for i in $(echo "$KOPT_blacklist" | tr ',' ' '); do
|
|
517
|
-
echo "blacklist $i" >> "$ROOT"/etc/modprobe.d/boot-opt-blacklist.conf
|
|
518
|
-
done
|
|
519
|
-
fi
|
|
520
|
-
|
|
521
|
-
# determine if we are going to need networking
|
|
522
|
-
if [ -n "$KOPT_ip" ] || [ -n "$KOPT_nbd" ] || \
|
|
523
|
-
is_url "$KOPT_apkovl" || is_url "$ALPINE_REPO"; then
|
|
524
|
-
|
|
525
|
-
do_networking=true
|
|
526
|
-
else
|
|
527
|
-
do_networking=false
|
|
528
|
-
fi
|
|
529
|
-
|
|
530
|
-
if [ -n "$KOPT_zfcp" ]; then
|
|
531
|
-
$MOCK modprobe zfcp
|
|
532
|
-
for _zfcp in $(echo "$KOPT_zfcp" | tr ',' ' ' | tr [A-Z] [a-z]); do
|
|
533
|
-
echo 1 > /sys/bus/ccw/devices/"${_zfcp%%:*}"/online
|
|
534
|
-
done
|
|
535
|
-
fi
|
|
536
|
-
|
|
537
|
-
if [ -n "$KOPT_dasd" ]; then
|
|
538
|
-
for mod in dasd_mod dasd_eckd_mod dasd_fba_mod; do
|
|
539
|
-
$MOCK modprobe $mod
|
|
540
|
-
done
|
|
541
|
-
for _dasd in $(echo "$KOPT_dasd" | tr ',' ' ' | tr [A-Z] [a-z]); do
|
|
542
|
-
echo 1 > /sys/bus/ccw/devices/"${_dasd%%:*}"/online
|
|
543
|
-
done
|
|
544
|
-
fi
|
|
545
|
-
|
|
546
|
-
if [ "${KOPT_s390x_net%%,*}" = "qeth_l2" ]; then
|
|
547
|
-
for mod in qeth qeth_l2 qeth_l3; do
|
|
548
|
-
$MOCK modprobe $mod
|
|
549
|
-
done
|
|
550
|
-
_channel="$(echo ${KOPT_s390x_net#*,} | tr [A-Z] [a-z])"
|
|
551
|
-
echo "$_channel" > /sys/bus/ccwgroup/drivers/qeth/group
|
|
552
|
-
echo 1 > /sys/bus/ccwgroup/drivers/qeth/"${_channel%%,*}"/layer2
|
|
553
|
-
echo 1 > /sys/bus/ccwgroup/drivers/qeth/"${_channel%%,*}"/online
|
|
554
|
-
fi
|
|
555
|
-
|
|
556
|
-
# make sure we load zfs module if root=ZFS=...
|
|
557
|
-
rootfstype=${KOPT_rootfstype}
|
|
558
|
-
if [ -z "$rootfstype" ]; then
|
|
559
|
-
case "$KOPT_root" in
|
|
560
|
-
ZFS=*) rootfstype=zfs ;;
|
|
561
|
-
esac
|
|
562
|
-
fi
|
|
563
|
-
|
|
564
|
-
# load available drivers to get access to modloop media
|
|
565
|
-
ebegin "Loading boot drivers"
|
|
566
|
-
|
|
567
|
-
$MOCK modprobe -a $(echo "$KOPT_modules $rootfstype" | tr ',' ' ' ) loop squashfs simpledrm 2> /dev/null
|
|
568
|
-
if [ -f "$ROOT"/etc/modules ] ; then
|
|
569
|
-
sed 's/\#.*//g' < /etc/modules |
|
|
570
|
-
while read module args; do
|
|
571
|
-
$MOCK modprobe -q $module $args
|
|
572
|
-
done
|
|
573
|
-
fi
|
|
574
|
-
eend 0
|
|
575
|
-
|
|
576
|
-
# workaround for vmware
|
|
577
|
-
if grep -q VMware "$ROOT"/sys/devices/virtual/dmi/id/sys_vendor 2>/dev/null; then
|
|
578
|
-
$MOCK modprobe -a ata_piix mptspi sr-mod
|
|
579
|
-
fi
|
|
580
|
-
|
|
581
|
-
if [ -n "$KOPT_cryptroot" ]; then
|
|
582
|
-
cryptopts="-c ${KOPT_cryptroot}"
|
|
583
|
-
if [ "$KOPT_cryptdiscards" = "yes" ]; then
|
|
584
|
-
cryptopts="$cryptopts -D"
|
|
585
|
-
fi
|
|
586
|
-
if [ -n "$KOPT_cryptdm" ]; then
|
|
587
|
-
cryptopts="$cryptopts -m ${KOPT_cryptdm}"
|
|
588
|
-
fi
|
|
589
|
-
if [ -n "$KOPT_cryptheader" ]; then
|
|
590
|
-
cryptopts="$cryptopts -H ${KOPT_cryptheader}"
|
|
591
|
-
fi
|
|
592
|
-
if [ -n "$KOPT_cryptoffset" ]; then
|
|
593
|
-
cryptopts="$cryptopts -o ${KOPT_cryptoffset}"
|
|
594
|
-
fi
|
|
595
|
-
if [ "$KOPT_cryptkey" = "yes" ]; then
|
|
596
|
-
cryptopts="$cryptopts -k /crypto_keyfile.bin"
|
|
597
|
-
elif [ -n "$KOPT_cryptkey" ]; then
|
|
598
|
-
cryptopts="$cryptopts -k ${KOPT_cryptkey}"
|
|
599
|
-
fi
|
|
600
|
-
fi
|
|
601
|
-
|
|
602
|
-
if [ -n "$KOPT_wireguard" ]; then
|
|
603
|
-
configure_ip
|
|
604
|
-
setup_wireguard || echo "Failed to setup wireguard tunnel."
|
|
605
|
-
fi
|
|
606
|
-
|
|
607
|
-
if [ -n "$KOPT_nbd" ]; then
|
|
608
|
-
# TODO: Might fail because nlplug-findfs hasn't plugged eth0 yet
|
|
609
|
-
configure_ip
|
|
610
|
-
setup_nbd || echo "Failed to setup nbd device."
|
|
611
|
-
fi
|
|
612
|
-
|
|
613
|
-
if [ -n "$KOPT_aoe" ]; then
|
|
614
|
-
if [ -n "$KOPT_aoe_iflist" ]; then
|
|
615
|
-
for iface in $(echo "$KOPT_aoe_iflist" | tr ',' ' '); do
|
|
616
|
-
$MOCK ip link set dev "$iface" up
|
|
617
|
-
if [ -n "$KOPT_aoe_mtu" ]; then
|
|
618
|
-
$MOCK ip link set dev "$iface" mtu "$KOPT_aoe_mtu"
|
|
619
|
-
fi
|
|
620
|
-
done
|
|
621
|
-
$MOCK modprobe aoe aoe_iflist="$KOPT_aoe_iflist"
|
|
622
|
-
else
|
|
623
|
-
$MOCK modprobe aoe
|
|
624
|
-
fi
|
|
625
|
-
if [ "$KOPT_aoe" != "yes" ]; then
|
|
626
|
-
for target in $(echo "$KOPT_aoe" | tr ',' ' '); do
|
|
627
|
-
while [ ! -e /dev/etherd/e$target ]; do
|
|
628
|
-
echo discover "$target" >>/dev/etherd/discover
|
|
629
|
-
sleep 1
|
|
630
|
-
done
|
|
631
|
-
done
|
|
632
|
-
fi
|
|
633
|
-
fi
|
|
634
|
-
|
|
635
|
-
# zpool reports /dev/zfs missing if it can't read /etc/mtab
|
|
636
|
-
ln -s /proc/mounts "$ROOT"/etc/mtab
|
|
637
|
-
|
|
638
|
-
# check if root=... was set
|
|
639
|
-
if [ -n "$KOPT_root" ]; then
|
|
640
|
-
# run nlplug-findfs before SINGLEMODE so we load keyboard drivers
|
|
641
|
-
ebegin "Mounting root"
|
|
642
|
-
$MOCK nlplug-findfs $cryptopts -p /sbin/mdev ${KOPT_debug_init:+-d} \
|
|
643
|
-
${KOPT_uevent_buf_size:+-U $KOPT_uevent_buf_size} \
|
|
644
|
-
$KOPT_root
|
|
645
|
-
|
|
646
|
-
if [ "$SINGLEMODE" = "yes" ]; then
|
|
647
|
-
echo "Entering single mode. Type 'exit' to continue booting."
|
|
648
|
-
sh
|
|
649
|
-
fi
|
|
650
|
-
|
|
651
|
-
if echo "$KOPT_modules $rootfstype" | grep -qw btrfs; then
|
|
652
|
-
/sbin/btrfs device scan >/dev/null || \
|
|
653
|
-
echo "Failed to scan devices for btrfs filesystem."
|
|
654
|
-
fi
|
|
655
|
-
|
|
656
|
-
if [ -n "$KOPT_resume" ]; then
|
|
657
|
-
echo "Resume from disk"
|
|
658
|
-
if [ -e $ROOT/sys/power/resume ]; then
|
|
659
|
-
case "$KOPT_resume" in
|
|
660
|
-
UUID*|LABEL*) resume_dev=$(findfs "$KOPT_resume");;
|
|
661
|
-
*) resume_dev="$KOPT_resume";;
|
|
662
|
-
esac
|
|
663
|
-
printf "%d:%d" $(stat -Lc "0x%t 0x%T" "$resume_dev") > $ROOT/sys/power/resume
|
|
664
|
-
if [ -n "$KOPT_resume_offset" ]; then
|
|
665
|
-
echo "$KOPT_resume_offset" > $ROOT/sys/power/resume_offset
|
|
666
|
-
fi
|
|
667
|
-
else
|
|
668
|
-
echo "resume: no hibernation support found"
|
|
669
|
-
fi
|
|
670
|
-
fi
|
|
671
|
-
|
|
672
|
-
if [ "$KOPT_overlaytmpfs" = "yes" ]; then
|
|
673
|
-
# Create mountpoints
|
|
674
|
-
mkdir -p /media/root-ro /media/root-rw $sysroot/media/root-ro \
|
|
675
|
-
$sysroot/media/root-rw
|
|
676
|
-
# Mount read-only underlying rootfs
|
|
677
|
-
rootflags="${KOPT_rootflags:+$KOPT_rootflags,}ro"
|
|
678
|
-
$MOCK mount ${KOPT_rootfstype:+-t $KOPT_rootfstype} -o $rootflags \
|
|
679
|
-
$KOPT_root /media/root-ro
|
|
680
|
-
# Mount writable overlay tmpfs
|
|
681
|
-
overlaytmpfsflags="mode=0755,${KOPT_overlaytmpfsflags:+$KOPT_overlaytmpfsflags,}rw"
|
|
682
|
-
$MOCK mount -t tmpfs -o $overlaytmpfsflags root-tmpfs /media/root-rw
|
|
683
|
-
# Create additional mountpoints and do the overlay mount
|
|
684
|
-
mkdir -p /media/root-rw/work /media/root-rw/root
|
|
685
|
-
$MOCK mount -t overlay -o \
|
|
686
|
-
lowerdir=/media/root-ro,upperdir=/media/root-rw/root,workdir=/media/root-rw/work \
|
|
687
|
-
overlayfs $sysroot
|
|
688
|
-
else
|
|
689
|
-
if [ "$rootfstype" = "zfs" ]; then
|
|
690
|
-
prepare_zfs_root
|
|
691
|
-
fi
|
|
692
|
-
$MOCK mount ${rootfstype:+-t} ${rootfstype} \
|
|
693
|
-
-o ${KOPT_rootflags:-ro} \
|
|
694
|
-
${KOPT_root#ZFS=} $sysroot
|
|
695
|
-
fi
|
|
696
|
-
|
|
697
|
-
eend $?
|
|
698
|
-
|
|
699
|
-
if [ -r "$sysroot/etc/fstab" ]; then
|
|
700
|
-
while read dev mnt fs mntopts chk; do
|
|
701
|
-
if [ "$mnt" = "/usr" ]; then
|
|
702
|
-
ebegin "Mounting /usr"
|
|
703
|
-
$MOCK modprobe -a $fs 2> /dev/null
|
|
704
|
-
$MOCK mount -t $fs -o $mntopts $dev $sysroot/usr
|
|
705
|
-
eend $?
|
|
706
|
-
fi
|
|
707
|
-
done < $sysroot/etc/fstab
|
|
708
|
-
fi
|
|
709
|
-
|
|
710
|
-
cat "$ROOT"/proc/mounts 2>/dev/null | while read DEV DIR TYPE OPTS ; do
|
|
711
|
-
if [ "$DIR" != "/" -a "$DIR" != "$sysroot" -a -d "$DIR" ]; then
|
|
712
|
-
mkdir -p $sysroot/$DIR
|
|
713
|
-
$MOCK mount -o move $DIR $sysroot/$DIR
|
|
714
|
-
fi
|
|
715
|
-
done
|
|
716
|
-
$MOCK sync
|
|
717
|
-
exec switch_root $switch_root_opts $sysroot $chart_init "$KOPT_init" $KOPT_init_args
|
|
718
|
-
echo "initramfs emergency recovery shell launched"
|
|
719
|
-
exec /bin/busybox sh
|
|
720
|
-
fi
|
|
721
|
-
|
|
722
|
-
if $do_networking; then
|
|
723
|
-
repoopts="-n"
|
|
724
|
-
else
|
|
725
|
-
repoopts="-b $repofile"
|
|
726
|
-
fi
|
|
727
|
-
|
|
728
|
-
# locate boot media and mount it
|
|
729
|
-
ebegin "Mounting boot media"
|
|
730
|
-
$MOCK nlplug-findfs $cryptopts -p /sbin/mdev ${KOPT_debug_init:+-d} \
|
|
731
|
-
${KOPT_usbdelay:+-t $(( $KOPT_usbdelay * 1000 ))} \
|
|
732
|
-
${KOPT_uevent_buf_size:+-U $KOPT_uevent_buf_size} \
|
|
733
|
-
$repoopts -a "$ROOT"/tmp/apkovls
|
|
734
|
-
eend $?
|
|
735
|
-
|
|
736
|
-
# Setup network interfaces
|
|
737
|
-
if $do_networking; then
|
|
738
|
-
configure_ip
|
|
739
|
-
fi
|
|
740
|
-
|
|
741
|
-
# early console?
|
|
742
|
-
if [ "$SINGLEMODE" = "yes" ]; then
|
|
743
|
-
echo "Entering single mode. Type 'exit' to continue booting."
|
|
744
|
-
sh
|
|
745
|
-
fi
|
|
746
|
-
|
|
747
|
-
# mount tmpfs sysroot
|
|
748
|
-
rootflags="mode=0755"
|
|
749
|
-
if [ -n "$KOPT_root_size" ]; then
|
|
750
|
-
echo "WARNING: the boot option root_size is deprecated. Use rootflags instead"
|
|
751
|
-
rootflags="$rootflags,size=$KOPT_root_size"
|
|
752
|
-
fi
|
|
753
|
-
if [ -n "$KOPT_rootflags" ]; then
|
|
754
|
-
rootflags="$rootflags,$KOPT_rootflags"
|
|
755
|
-
fi
|
|
756
|
-
|
|
757
|
-
$MOCK mount -t tmpfs -o $rootflags tmpfs $sysroot
|
|
758
|
-
|
|
759
|
-
# sidecar start
|
|
760
|
-
#
|
|
761
|
-
# insert just after: $MOCK mount -t tmpfs -o $rootflags tmpfs $sysroot
|
|
762
|
-
# NOTE: remember to add alpinelivesquashfs alpinelivelabel
|
|
763
|
-
# insert at live 748
|
|
764
|
-
####################################################################################
|
|
765
|
-
if [ -n "${KOPT_alpinelivelabel}" ]; then
|
|
766
|
-
devicelive=$(blkid | grep "${KOPT_alpinelivelabel}" | awk -F: '{print $1}')
|
|
767
|
-
fstype=$(blkid | grep "${KOPT_alpinelivelabel}" | awk -F' ' '{for(i=1;i<=NF;i++) if ($i ~ /TYPE/) print $i}' | awk -F'"' '{print $2}')
|
|
768
|
-
|
|
769
|
-
clear
|
|
770
|
-
echo "Penguins' eggs: sidecar"
|
|
771
|
-
echo "======================="
|
|
772
|
-
echo "booting from: $devicelive"
|
|
773
|
-
echo "- fstype: $fstype"
|
|
774
|
-
echo "- label: $KOPT_alpinelivelabel"
|
|
775
|
-
echo "- filesystem.squashfs: $KOPT_alpinelivesquashfs"
|
|
776
|
-
sleep 5
|
|
777
|
-
|
|
778
|
-
# Creating mountpoint
|
|
779
|
-
mkdir /mnt
|
|
780
|
-
|
|
781
|
-
# mount /dev/sr0
|
|
782
|
-
mount -t $fstype ${devicelive} /mnt
|
|
783
|
-
|
|
784
|
-
# mount filesystem squashfs on /media/root-ro
|
|
785
|
-
mkdir -p /media/root-ro
|
|
786
|
-
mount -t squashfs ${KOPT_alpinelivesquashfs} /media/root-ro
|
|
787
|
-
|
|
788
|
-
# mount tmpfs on /media/root-rw
|
|
789
|
-
mkdir -p /media/root-rw
|
|
790
|
-
mount -t tmpfs root-tmpfs /media/root-rw
|
|
791
|
-
|
|
792
|
-
# creare i punti di montaggio necessari
|
|
793
|
-
mkdir -p /media/root-rw/work
|
|
794
|
-
mkdir -p /media/root-rw/root
|
|
795
|
-
|
|
796
|
-
# mount overlayfs on /sysroot
|
|
797
|
-
mount -t overlay overlay -o lowerdir=/media/root-ro,upperdir=/media/root-rw/root,workdir=/media/root-rw/work $sysroot
|
|
798
|
-
|
|
799
|
-
# just a dummy value for /etc/machine-id
|
|
800
|
-
MACHINE_UUID=$(cat "$ROOT"/sys/class/dmi/id/product_uuid 2>/dev/null)
|
|
801
|
-
machine_id="${MACHINE_UUID//-/}"
|
|
802
|
-
echo $machine_id | tee /sysroot/etc/machine-id > /dev/null
|
|
803
|
-
fi
|
|
804
|
-
# sidecar emd #####################################################################
|
|
805
|
-
|
|
806
|
-
|
|
807
|
-
if [ -z "$KOPT_apkovl" ]; then
|
|
808
|
-
# Not manually set, use the apkovl found by nlplug
|
|
809
|
-
if [ -e "$ROOT"/tmp/apkovls ]; then
|
|
810
|
-
ovl=$(head -n 1 "$ROOT"/tmp/apkovls)
|
|
811
|
-
fi
|
|
812
|
-
elif is_url "$KOPT_apkovl"; then
|
|
813
|
-
# Fetch apkovl via network
|
|
814
|
-
MACHINE_UUID=$(cat "$ROOT"/sys/class/dmi/id/product_uuid 2>/dev/null)
|
|
815
|
-
url="$(echo "$KOPT_apkovl" | sed -e "s/{MAC}/$MAC_ADDRESS/" -e "s/{UUID}/$MACHINE_UUID/")"
|
|
816
|
-
ovl="/tmp/${url##*/}"
|
|
817
|
-
ovl="${ovl%%\?*}"
|
|
818
|
-
$MOCK wget -O "$ovl" "$url" || ovl=
|
|
819
|
-
else
|
|
820
|
-
ovl="$KOPT_apkovl"
|
|
821
|
-
fi
|
|
822
|
-
|
|
823
|
-
# parse pkgs=pkg1,pkg2
|
|
824
|
-
if [ -n "$KOPT_pkgs" ]; then
|
|
825
|
-
pkgs=$(echo "$KOPT_pkgs" | tr ',' ' ' )
|
|
826
|
-
fi
|
|
827
|
-
|
|
828
|
-
# load apkovl or set up a minimal system
|
|
829
|
-
if [ -f "$ovl" ]; then
|
|
830
|
-
ebegin "Loading user settings from $ovl"
|
|
831
|
-
# create apk db and needed /dev/null and /tmp first
|
|
832
|
-
apk add --root $sysroot --initdb --quiet
|
|
833
|
-
|
|
834
|
-
unpack_apkovl "$ovl" $sysroot
|
|
835
|
-
eend $? $errstr || ovlfiles=
|
|
836
|
-
# hack, incase /root/.ssh was included in apkovl
|
|
837
|
-
[ -d "$sysroot/root" ] && chmod 700 "$sysroot/root"
|
|
838
|
-
pkgs="$pkgs $(cat $sysroot/etc/apk/world 2>/dev/null)"
|
|
839
|
-
fi
|
|
840
|
-
|
|
841
|
-
if [ -f "$sysroot/etc/.default_boot_services" -o ! -f "$ovl" ]; then
|
|
842
|
-
# add some boot services by default
|
|
843
|
-
rc_add devfs sysinit
|
|
844
|
-
rc_add dmesg sysinit
|
|
845
|
-
rc_add mdev sysinit
|
|
846
|
-
rc_add hwdrivers sysinit
|
|
847
|
-
rc_add modloop sysinit
|
|
848
|
-
|
|
849
|
-
rc_add modules boot
|
|
850
|
-
rc_add sysctl boot
|
|
851
|
-
rc_add hostname boot
|
|
852
|
-
rc_add bootmisc boot
|
|
853
|
-
rc_add syslog boot
|
|
854
|
-
|
|
855
|
-
rc_add mount-ro shutdown
|
|
856
|
-
rc_add killprocs shutdown
|
|
857
|
-
rc_add savecache shutdown
|
|
858
|
-
|
|
859
|
-
rc_add firstboot default
|
|
860
|
-
|
|
861
|
-
# add openssh
|
|
862
|
-
if [ -n "$KOPT_ssh_key" ]; then
|
|
863
|
-
pkgs="$pkgs openssh"
|
|
864
|
-
rc_add sshd default
|
|
865
|
-
fi
|
|
866
|
-
|
|
867
|
-
if want_tiny_cloud; then
|
|
868
|
-
pkgs="$pkgs tiny-cloud-alpine ifupdown-ng doas"
|
|
869
|
-
rc_add tiny-cloud-boot boot
|
|
870
|
-
rc_add tiny-cloud-early default
|
|
871
|
-
rc_add tiny-cloud-main default
|
|
872
|
-
rc_add tiny-cloud-final default
|
|
873
|
-
fi
|
|
874
|
-
|
|
875
|
-
rm -f "$sysroot/etc/.default_boot_services"
|
|
876
|
-
fi
|
|
877
|
-
|
|
878
|
-
if [ "$KOPT_splash" != "no" ]; then
|
|
879
|
-
echo "IMG_ALIGN=CM" > /tmp/fbsplash.cfg
|
|
880
|
-
for fbdev in /dev/fb[0-9]; do
|
|
881
|
-
[ -e "$fbdev" ] || break
|
|
882
|
-
num="${fbdev#/dev/fb}"
|
|
883
|
-
for img in /media/*/fbsplash$num.ppm; do
|
|
884
|
-
[ -e "$img" ] || break
|
|
885
|
-
config="${img%.*}.cfg"
|
|
886
|
-
[ -e "$config" ] || config=/tmp/fbsplash.cfg
|
|
887
|
-
fbsplash -s "$img" -d "$fbdev" -i "$config"
|
|
888
|
-
break
|
|
889
|
-
done
|
|
890
|
-
done
|
|
891
|
-
for fbsplash in /media/*/fbsplash.ppm; do
|
|
892
|
-
[ -e "$fbsplash" ] && break
|
|
893
|
-
done
|
|
894
|
-
fi
|
|
895
|
-
|
|
896
|
-
if [ -n "$fbsplash" ] && [ -e "$fbsplash" ]; then
|
|
897
|
-
ebegin "Starting bootsplash"
|
|
898
|
-
mkfifo $sysroot/$splashfile
|
|
899
|
-
config="${fbsplash%.*}.cfg"
|
|
900
|
-
[ -e "$config" ] || config=/tmp/fbsplash.cfg
|
|
901
|
-
setsid fbsplash -T 16 -s "$fbsplash" -i $config -f $sysroot/$splashfile &
|
|
902
|
-
eend 0
|
|
903
|
-
else
|
|
904
|
-
KOPT_splash="no"
|
|
905
|
-
fi
|
|
906
|
-
|
|
907
|
-
if [ -f $sysroot/etc/fstab ]; then
|
|
908
|
-
has_fstab=1
|
|
909
|
-
fstab=$sysroot/etc/fstab
|
|
910
|
-
|
|
911
|
-
# let user override tmpfs size in fstab in apkovl
|
|
912
|
-
mountopts=$(awk '$2 == "/" && $3 == "tmpfs" { print $4 }' $sysroot/etc/fstab)
|
|
913
|
-
if [ -n "$mountopts" ]; then
|
|
914
|
-
$MOCK mount -o remount,$mountopts $sysroot
|
|
915
|
-
fi
|
|
916
|
-
# relocate mounts and adjust mount options
|
|
917
|
-
# this is so a generated /etc/apk/repositories will use correct
|
|
918
|
-
# mount dir
|
|
919
|
-
remount_fstab_entry "$sysroot"/etc/fstab
|
|
920
|
-
elif [ -f "$ROOT"/etc/fstab ]; then
|
|
921
|
-
remount_fstab_entry "$ROOT"/etc/fstab
|
|
922
|
-
fi
|
|
923
|
-
|
|
924
|
-
# hack so we get openrc
|
|
925
|
-
pkgs="$pkgs alpine-base"
|
|
926
|
-
|
|
927
|
-
# copy keys so apk finds them. apk looks for stuff relative --root
|
|
928
|
-
mkdir -p $sysroot/etc/apk/keys/
|
|
929
|
-
$MOCK cp -a /etc/apk/keys $sysroot/etc/apk
|
|
930
|
-
|
|
931
|
-
# generate apk repositories file. needs to be done after relocation
|
|
932
|
-
find_boot_repositories > $repofile
|
|
933
|
-
|
|
934
|
-
# silently fix apk arch in case the apkovl does not match
|
|
935
|
-
if [ -r "$sysroot"/etc/apk/arch ]; then
|
|
936
|
-
apk_arch="$(apk --print-arch)"
|
|
937
|
-
if [ -n "$apk_arch" ]; then
|
|
938
|
-
echo "$apk_arch" > "$sysroot"/etc/apk/arch
|
|
939
|
-
fi
|
|
940
|
-
fi
|
|
941
|
-
|
|
942
|
-
# generate repo opts for apk
|
|
943
|
-
for i in $(cat $repofile); do
|
|
944
|
-
repo_opt="$repo_opt --repository $i"
|
|
945
|
-
done
|
|
946
|
-
|
|
947
|
-
# install new root
|
|
948
|
-
ebegin "Installing packages to root filesystem"
|
|
949
|
-
|
|
950
|
-
if [ "$KOPT_chart" = yes ]; then
|
|
951
|
-
pkgs="$pkgs acct"
|
|
952
|
-
fi
|
|
953
|
-
|
|
954
|
-
# use swclock if no RTC is found
|
|
955
|
-
if rtc_exists || [ "$(uname -m)" = "s390x" ]; then
|
|
956
|
-
rc_add hwclock boot
|
|
957
|
-
else
|
|
958
|
-
rc_add swclock boot
|
|
959
|
-
fi
|
|
960
|
-
|
|
961
|
-
# enable support for modloop verification
|
|
962
|
-
for _pubkey in "$ROOT"/var/cache/misc/*modloop*.SIGN.RSA.*.pub; do
|
|
963
|
-
# check only if the glob matched something
|
|
964
|
-
[ -f "$_pubkey" ] || continue
|
|
965
|
-
|
|
966
|
-
# then do it in one iteration anyway
|
|
967
|
-
mkdir -p "$sysroot"/var/cache/misc
|
|
968
|
-
cp "$ROOT"/var/cache/misc/*modloop*.SIGN.RSA.*.pub "$sysroot"/var/cache/misc
|
|
969
|
-
pkgs="$pkgs openssl"
|
|
970
|
-
break
|
|
971
|
-
done
|
|
972
|
-
|
|
973
|
-
apkflags="--initramfs-diskless-boot --progress"
|
|
974
|
-
if [ -z "$MAC_ADDRESS" ]; then
|
|
975
|
-
apkflags="$apkflags --no-network"
|
|
976
|
-
else
|
|
977
|
-
apkflags="$apkflags --update-cache"
|
|
978
|
-
fi
|
|
979
|
-
|
|
980
|
-
if [ "$KOPT_quiet" = yes ]; then
|
|
981
|
-
apkflags="$apkflags --quiet"
|
|
982
|
-
fi
|
|
983
|
-
|
|
984
|
-
if [ "$KOPT_keep_apk_new" != yes ]; then
|
|
985
|
-
apkflags="$apkflags --clean-protected"
|
|
986
|
-
[ -n "$ovlfiles" ] && apkflags="$apkflags --overlay-from-stdin"
|
|
987
|
-
fi
|
|
988
|
-
mkdir -p $sysroot/sys $sysroot/proc $sysroot/dev
|
|
989
|
-
$MOCK mount -o bind /sys $sysroot/sys
|
|
990
|
-
$MOCK mount -o bind /proc $sysroot/proc
|
|
991
|
-
$MOCK mount -o bind /dev $sysroot/dev
|
|
992
|
-
if [ -n "$ovlfiles" ]; then
|
|
993
|
-
apk add --root $sysroot $repo_opt $apkflags $pkgs <$ovlfiles
|
|
994
|
-
else
|
|
995
|
-
apk add --root $sysroot $repo_opt $apkflags $pkgs
|
|
996
|
-
fi
|
|
997
|
-
$MOCK umount $sysroot/sys $sysroot/proc $sysroot/dev
|
|
998
|
-
eend $?
|
|
999
|
-
|
|
1000
|
-
# unmount ovl mount if needed
|
|
1001
|
-
if [ -n "$ovl_unmount" ]; then
|
|
1002
|
-
$MOCK umount $ovl_unmount 2>/dev/null
|
|
1003
|
-
fi
|
|
1004
|
-
|
|
1005
|
-
# remount according default fstab from package
|
|
1006
|
-
if [ -z "$has_fstab" ] && [ -f "$sysroot"/etc/fstab ]; then
|
|
1007
|
-
remount_fstab_entry "$sysroot"/etc/fstab
|
|
1008
|
-
fi
|
|
1009
|
-
|
|
1010
|
-
# generate repositories if none exists. this needs to be done after relocation
|
|
1011
|
-
if ! [ -f "$sysroot"/etc/apk/repositories ]; then
|
|
1012
|
-
find_boot_repositories > "$sysroot"/etc/apk/repositories
|
|
1013
|
-
fi
|
|
1014
|
-
|
|
1015
|
-
# fix inittab if alternative console
|
|
1016
|
-
setup_inittab_console
|
|
1017
|
-
|
|
1018
|
-
! [ -f "$sysroot"/etc/resolv.conf ] && [ -f /etc/resolv.conf ] && \
|
|
1019
|
-
cp /etc/resolv.conf "$sysroot"/etc
|
|
1020
|
-
|
|
1021
|
-
# setup bootchart for switch_root
|
|
1022
|
-
chart_init=""
|
|
1023
|
-
if [ "$KOPT_chart" = yes ]; then
|
|
1024
|
-
/sbin/bootchartd stop-initfs "$sysroot"
|
|
1025
|
-
chart_init="/sbin/bootchartd start-rootfs"
|
|
1026
|
-
fi
|
|
1027
|
-
|
|
1028
|
-
if [ ! -x "${sysroot}${KOPT_init}" ]; then
|
|
1029
|
-
[ "$KOPT_splash" != "no" ] && echo exit > $sysroot/$splashfile
|
|
1030
|
-
echo "$KOPT_init not found in new root. Launching emergency recovery shell"
|
|
1031
|
-
echo "Type exit to continue boot."
|
|
1032
|
-
/bin/busybox sh
|
|
1033
|
-
fi
|
|
1034
|
-
|
|
1035
|
-
# switch over to new root
|
|
1036
|
-
cat "$ROOT"/proc/mounts 2>/dev/null | while read DEV DIR TYPE OPTS ; do
|
|
1037
|
-
if [ "$DIR" != "/" -a "$DIR" != "$sysroot" -a -d "$DIR" ]; then
|
|
1038
|
-
mkdir -p $sysroot/$DIR
|
|
1039
|
-
$MOCK mount -o move $DIR $sysroot/$DIR
|
|
1040
|
-
fi
|
|
1041
|
-
done
|
|
1042
|
-
sync
|
|
1043
|
-
|
|
1044
|
-
[ "$KOPT_splash" = "init" ] && echo exit > $sysroot/$splashfile
|
|
1045
|
-
echo ""
|
|
1046
|
-
exec switch_root $switch_root_opts $sysroot $chart_init "$KOPT_init" $KOPT_init_args
|
|
1047
|
-
|
|
1048
|
-
[ "$KOPT_splash" != "no" ] && echo exit > $sysroot/$splashfile
|
|
1049
|
-
echo "initramfs emergency recovery shell launched"
|
|
1050
|
-
exec /bin/busybox sh
|
|
1051
|
-
reboot
|