Hoʻokuʻu ʻia o ka systemd system manager 252 me ke kākoʻo UKI (Unified Kernel Image).

Ma hope o ʻelima mau mahina o ka hoʻomohala ʻana, ua hōʻike ʻia ka hoʻokuʻu ʻana o ka system manager systemd 252. ʻO ka hoʻololi koʻikoʻi i ka mana hou ʻo ia ka hoʻohui ʻana o ke kākoʻo no ke kaʻina hana boot hou, e hiki ai iā ʻoe ke hōʻoia ʻaʻole wale i ka kernel a me ka bootloader, akā nā ʻāpana pū kekahi. o ka puni ʻōnaehana kumu me ka hoʻohana ʻana i nā pūlima kikohoʻe.

ʻO ke ala i manaʻo ʻia e pili ana i ka hoʻohana ʻana i kahi kiʻi kernel unified UKI (Unified Kernel Image) i ka wā e hoʻouka ai, kahi e hui pū ai i kahi mea lima no ka hoʻouka ʻana i ka kernel mai UEFI (UEFI boot stub), kahi kiʻi kernel Linux a me ka ʻōnaehana initrd i hoʻokomo ʻia i ka hoʻomanaʻo, hoʻohana ʻia. no ka hoʻomaka mua ʻana ma ke kahua ma mua o ke kau ʻana i ke kumu FS. Hoʻopili ʻia ke kiʻi UKI ma ke ʻano he faila hiki ke hoʻokō ʻia ma ka format PE, hiki ke hoʻouka ʻia me ka hoʻohana ʻana i nā bootloaders kuʻuna a i kāhea pololei ʻia mai ka firmware UEFI. Ke kāhea ʻia mai UEFI, hiki ke hōʻoia i ka pono a me ka hilinaʻi o ka pūlima kikohoʻe ʻaʻole wale i ka kernel, akā i nā mea o ka initrd.

No ka helu ʻana i nā ʻāpana o ka TPM PCR (Trusted Platform Module Platform Configuration Register) i hoʻohana ʻia no ka nānā ʻana i ka pono a me ka hoʻopuka ʻana i kahi pūlima kikohoʻe o ke kiʻi UKI, ua hoʻokomo ʻia kahi ana systemd-mea hou. Hiki ke hoʻokomo pololei ʻia ke kī ākea a me ka ʻike PCR i hoʻohana ʻia i ka pūlima i loko o ke kiʻi boot UKI (ua mālama ʻia ke kī a me ka pūlima ma kahi faila PE ma nā kahua '.pcrsig' a ​​me '.pcrkey') a unuhi ʻia mai ia mea e waho. a i ʻole nā ​​mea pono kūloko.

Ma keʻano kūikawā, ua hoʻololi ʻia nā ʻōnaehana systemd-cryptsetup, systemd-cryptenroll a me systemd-creds e hoʻohana i kēia ʻike, me ia e hiki ai iā ʻoe ke hōʻoia i ka paʻa ʻana o nā ʻāpana disk i hoʻopili ʻia i kahi kernel i hoʻopaʻa inoa ʻia (i kēia hihia, ke komo i ka ʻāpana i hoʻopili ʻia. hāʻawi ʻia inā ua hala ke kiʻi UKI i ka hōʻoia e ka pūlima kikohoʻe e pili ana i nā ʻāpana i loaʻa ma TPM).

Hoʻohui ʻia, ua hoʻokomo ʻia ka pono systemd-pcrphase, kahi e hiki ai iā ʻoe ke hoʻomalu i ka hoʻopaʻa ʻana o nā pae boot i nā ʻāpana i loaʻa i ka hoʻomanaʻo o nā cryptoprocessors e kākoʻo ana i ka kikoʻī TPM 2.0 (no ka laʻana, hiki iā ʻoe ke hana i ke kī decryption partition LUKS2 i loaʻa wale i loko. ke kiʻi initrd a ālai i ke komo ʻana iā ia ma nā pae hope e hoʻoiho).

ʻO kekahi mau hoʻololi ʻē aʻe:

  • E hōʻoia i ka C.UTF-8 ka wahi paʻamau inā ʻaʻole i kuhikuhi ʻia kahi wahi ʻē aʻe i nā hoʻonohonoho.
  • I kēia manawa hiki ke hana i kahi hana preset lawelawe piha ("systemctl preset") i ka wā o ka pahu mua. ʻO ka ʻae ʻana i nā preset i ka wā boot e pono ai ke kūkulu ʻana me ke koho "-Dfirst-boot-full-preset", akā ua hoʻolālā ʻia e hiki ke hoʻohana ʻia ma ka paʻamau i nā hoʻokuʻu e hiki mai ana.
  • Hoʻopili nā ʻāpana hoʻokele mea hoʻohana i kahi mea hoʻokele waiwai CPU, kahi i hiki ai ke hōʻoia i ka hoʻopili ʻia ʻana o nā hoʻonohonoho CPUWeight i nā ʻāpana ʻāpana āpau i hoʻohana ʻia e hoʻokaʻawale i ka ʻōnaehana i nā ʻāpana (app.slice, background.slice, session.slice) e hoʻokaʻawale i nā kumuwaiwai ma waena o nā lawelawe mea hoʻohana like ʻole, e hoʻokūkū ana i nā kumuwaiwai CPU. Kākoʻo pū ʻo CPUWeight i ka waiwai "idle" e hoʻāla i ke ʻano hoʻolako waiwai kūpono.
  • Ma nā ʻāpana pōkole ("transient") a ma ka ʻōnaehana systemd-repart, ʻae ʻia nā hoʻonohonoho overriding ma ka hana ʻana i nā faila i loko o ka papa kuhikuhi /etc/systemd/system/name.d/.
  • No nā kiʻi ʻōnaehana, ua hoʻonohonoho ʻia ka hae kākoʻo, e hoʻoholo ana i kēia ʻoiaʻiʻo e pili ana i ka waiwai o ka mea hoʻohālikelike hou "SUPPORT_END=" i loko o ka faila /etc/os-release.
  • Hoʻohui ʻia nā hoʻonohonoho "ConditionCredential =" a me "AssertCredential =", hiki ke hoʻohana ʻia no ka nānā ʻole ʻana a i ʻole nā ​​​​hui ʻāpana inā ʻaʻole i loaʻa kekahi mau hōʻoia i ka ʻōnaehana.
  • Hoʻohui ʻia nā hoʻonohonoho "DefaultSmackProcessLabel =" a me "DefaultDeviceTimeoutSec =" i system.conf a me user.conf e wehewehe i ka pae palekana SMACK paʻamau a me ka manawa hoʻāla ʻana o ka wae.
  • Ma nā hoʻonohonoho "ConditionFirmware =" a me "AssertFirmware =", ua hoʻohui ʻia ka hiki ke kuhikuhi i nā kahua SMBIOS pākahi, no ka laʻana, e hoʻomaka i kahi ʻāpana wale nō inā loaʻa i ka / sys/class/dmi/id/board_name ka waiwai "Custom. Papa", hiki iā ʻoe ke kuhikuhi i ka "ConditionFirmware=smbios" -field(board_name = "Custom Board")".
  • I ka wā o ka hoʻomaka ʻana (PID 1), ua hoʻohui ʻia ka hiki ke hoʻokomo i nā hōʻoia mai nā kahua SMBIOS (Type 11, "OEM vendor strings") i hoʻohui ʻia i kā lākou wehewehe ʻana ma o qemu_fwcfg, e hoʻomaʻamaʻa i ka hāʻawi ʻana i nā hōʻoia i nā mīkini virtual a hoʻopau i ka pono no nā mea hana ʻaoʻao ʻekolu e like me ke ao -init a me ka ignition.
  • I ka wā o ka pani ʻana, ua hoʻololi ʻia ka loiloi no ka wehe ʻana i nā ʻōnaehana faila virtual (proc, sys) a mālama ʻia ka ʻike e pili ana i nā kaʻina hana e pale ana i ka wehe ʻana o nā ʻōnaehana faila i loko o ka log.
  • ʻO ka kānana kelepona pūnaewele (SystemCallFilter) hiki ke komo i ke kelepona ʻōnaehana riscv_flush_icache ma ka paʻamau.
  • Hoʻohui ka SD-boot bootloader i ka hiki ke hoʻomaka i ke ʻano hui ʻia, kahi e holo ai ka 64-bit Linux kernel mai 32-bit UEFI firmware. Hoʻohui ʻia ka mana hoʻokolohua e hoʻopili i nā kī SecureBoot mai nā faila i loaʻa ma ESP (EFI system partition).
  • Ua hoʻohui ʻia nā koho hou i ka pono bootctl: "—all-architectures" no ka hoʻokomo ʻana i nā binaries no nā hale kūkulu EFI i kākoʻo ʻia, "—root =" a me "—image =" no ka hana ʻana me kahi papa kuhikuhi a i ʻole kiʻi disk, "-install-source. =" no ka wehewehe ʻana i ke kumu no ka hoʻokomo ʻana, "-efi-boot-option-description =" e hoʻokele i nā inoa komo boot.
  • Ua hoʻohui ʻia ke kauoha 'list-automounts' i ka systemctl utility e hōʻike i kahi papa inoa o nā papa kuhikuhi i kau ʻia a me ka koho "--image=" e hoʻokō i nā kauoha e pili ana i ke kiʻi disk i kuhikuhi ʻia. Hoʻohui ʻia nā koho "--state =" a me "--type =" i ka 'hōʻike' a me nā kauoha 'status'.
  • systemd-networkd i hoʻohui i nā koho "TCPCongestionControlAlgorithm =" e koho i ka TCP congestion control algorithm, "KeepFileDescriptor =" e mālama i ka faila wehewehe o TUN / TAP interfaces, "NetLabel =" e hoʻonohonoho i nā NetLabels, "RapidCommit =" e wikiwiki i ka hoʻonohonoho ma o DHCPv6 (RFC 3315). Hiki i ka "RouteTable=" parameter ke kuhikuhi i nā inoa o nā papa kuhikuhi.
  • ʻAe ʻo systemd-nspawn i ka hoʻohana ʻana i nā ala faila pili i nā koho "--bind =" a me "--overlay =". Hoʻohui ʻia ke kākoʻo no ka ʻāpana 'rootidmap' i ke koho "--bind=" e hoʻopaʻa i ka ID mea hoʻohana kumu i loko o ka ipu i ka mea nona ka papa kuhikuhi i kau ʻia ma ka ʻaoʻao hoʻokipa.
  • hoʻohana ʻo systemd-resolved i ka OpenSSL ma ke ʻano o kāna hoʻopiʻi ʻana ma ka paʻamau (ua mālama ʻia ke kākoʻo gnutls ma ke ʻano he koho). Ua mālama ʻia nā algorithms DNSSEC i kākoʻo ʻole ʻia ma kahi palekana ma mua o ka hoʻihoʻi ʻana i kahi hewa (SERVFAIL).
  • systemd-sysusers, systemd-tmpfiles a me systemd-sysctl e hoʻokō i ka hiki ke hoʻololi i nā hoʻonohonoho ma o kahi mīkini mālama hōʻoia.
  • Hoʻohui ʻia ke kauoha 'compare-versions' i systemd-analyse e hoʻohālikelike i nā kaula me nā helu helu (e like me 'rpmdev-vercmp' a me 'dpkg --compare-versions'). Hoʻohui i ka hiki ke kānana i nā ʻāpana e ka mask i ke kauoha 'systemd-analyze dump'.
  • Ke koho ʻana i ke ʻano hiamoe nui (suspend-then-hibernate), ua koho ʻia ka manawa i hoʻohana ʻia ma ke ʻano standby ma muli o ka wānana o ke ola pākaukau. Hiki ke hoʻololi koke i ke ʻano moe ke emi iho ma lalo o 5% ka nui o ka pākaukau.
  • Ua hoʻohui ʻia kahi ʻano hoʻopuka hou "-o short-delta" i 'journalctl', e hōʻike ana i ka ʻokoʻa manawa ma waena o nā memo like ʻole i ka log.
  • hoʻohui ʻo systemd-repart i ke kākoʻo no ka hana ʻana i nā ʻāpana me ka ʻōnaehana faila Squashfs a me nā ʻāpana no ka dm-verity, me nā pūlima kikohoʻe.
  • Hoʻohui ʻia "StopIdleSessionSec=" hoʻonohonoho i systemd-logind e hoʻopau i kahi kau hana ʻole ma hope o kahi manawa i ʻōlelo ʻia.
  • Ua hoʻohui ʻo Systemd-cryptenroll i kahi koho "--unlock-key-file =" e unuhi i ke kī decryption mai kahi faila ma mua o ke koi ʻana i ka mea hoʻohana.
  • Hiki i kēia manawa ke holo i ka pono systemd-growfs i nā wahi me ka ʻole o ka udev.
  • Ua hoʻomaikaʻi ʻo systemd-backlight i ke kākoʻo no nā ʻōnaehana me nā kāleka kiʻi nui.
  • Ua hoʻololi ʻia ka laikini no nā code code i hāʻawi ʻia i ka palapala mai CC0 a i MIT-0.

Nā hoʻololi e uhaki ana i ka hoʻohālikelike:

  • I ka nānā ʻana i ka helu helu kernel me ka ConditionKernelVersion kuhikuhi, ua hoʻohana ʻia kahi hoʻohālikelike string maʻalahi i nā mea hoʻohana '=' a me '!=', a inā ʻaʻole i kuhikuhi ʻia ka mea hoʻohālikelike, hiki ke hoʻohana ʻia ka hoʻohālikelike glob-mask me ka hoʻohana ʻana i ka hua'ōlelo '*', '?' A '[', ']'. No ka hoʻohālikelike ʻana i nā mana ʻano stverscmp(), e hoʻohana i nā mea hoʻohana '<', '>', '<=' a me '>='.
  • ʻO ka tag SELinux i hoʻohana ʻia e nānā i ke komo ʻana mai kahi faila i kēia manawa i heluhelu ʻia i ka manawa i hoʻouka ʻia ai ka faila, ma mua o ka manawa o ka nānā ʻana.
  • Hoʻomaka ʻia ke kūlana "ConditionFirstBoot" i ka pahu mua o ka ʻōnaehana ma ke kahua boot a hoʻihoʻi i ka "false" i ke kāhea ʻana i nā ʻāpana ma hope o ka pau ʻana o ka pahu.
  • Ma 2024, hoʻolālā ʻo systemd e hoʻōki i ke kākoʻo ʻana i ka cgroup v1 resource limiting mechanism, i hoʻopau ʻia ma ka systemd release 248. Manaʻo ʻia nā luna e mālama ma mua o ka neʻe ʻana i nā lawelawe cgroup v2 i cgroup v1. ʻO ka ʻokoʻa nui ma waena o cgroups v2 a me v1 ka hoʻohana ʻana i kahi hierarchy cgroups maʻamau no nā ʻano waiwai āpau, ma kahi o nā hierarchies kaʻawale no ka hoʻokaʻawale ʻana i nā kumuwaiwai CPU, no ka hoʻoponopono ʻana i ka hoʻohana ʻana i ka hoʻomanaʻo, a no I/O. ʻO nā hierarchies kaʻawale e alakaʻi i nā pilikia i ka hoʻonohonoho ʻana i ka launa pū ʻana ma waena o nā mea lawelawe a me nā kumukūʻai kumu kernel hou i ka wā e noi ai i nā lula no kahi kaʻina i kuhikuhi ʻia i nā hierarchies like ʻole.
  • Ma ka hapa lua o 2023, hoʻolālā mākou e hoʻopau i ke kākoʻo no nā hierarchies papa kuhikuhi, kahi i hoʻokaʻawale ʻia ai /usr mai ke kumu, a i ʻole / bin a me / usr/bin, / lib a me /usr/lib ua hoʻokaʻawale ʻia.

Source: opennet.ru

Pākuʻi i ka manaʻo hoʻopuka