Rapò Devlopman FreeBSD pou premye trimès 2020 la

pibliye rapò sou devlopman pwojè FreeBSD soti janvye jiska mas 2020. Pami chanjman sa yo nou ka remake:

  • Pwoblèm jeneral ak sistemik
    • Retire seri konpilatè GCC la nan pyebwa sous FreeBSD-CURRENT la, ansanm ak sèvis piblik gperf, gcov ak gtc (devicetree du) ki pa itilize yo. Tout platfòm ki pa sipòte Clang yo te chanje lè l sèvi avèk zouti konstriksyon ekstèn enstale nan pò yo. Sistèm debaz la te voye yon lage demode GCC 4.2.1, epi entegrasyon nouvo vèsyon yo pa t posib akòz tranzisyon 4.2.2 a lisans GPLv3, ki te konsidere kòm pa apwopriye pou eleman baz FreeBSD yo. Degaje aktyèl GCC, ki gen ladan GCC 9, ka toujou enstale nan pakè ak pò.
    • Enfrastrikti emulasyon anviwònman Linux (Linuxulator) te ajoute sipò pou apèl sistèm sendfile a, mòd TCP_CORK (obligatwa pou nginx), ak drapo MAP_32BIT (rezoud pwoblèm lan ak lansman pakè ak Mono soti nan Ubuntu Bionic). Pwoblèm ak rezolisyon DNS lè w ap itilize glibc ki pi nouvo pase 2.30 (pa egzanp nan CentOS 8) yo te rezoud.
      Enfrastrikti entegrasyon kontinyèl la bay kapasite pou kouri travay LTP (Linux Testing Project) ki kouri Linuxulator pou teste amelyorasyon ki fèt nan kòd la pou sipòte Linux. Apeprè 400 tès yo echwe epi yo mande pou repare (kèk erè ki te koze pa fo pozitif, gen kèk ki mande pou ranje trivial, men gen lòt ki mande pou ajoute sipò pou nouvo apèl sistèm yo ranje). Travay yo te fèt pou netwaye kòd Linuxulator la epi senplifye debogaj. Patch ak sipò pou atribi pwolonje ak apèl sistèm fexecve yo te prepare, men yo poko revize.

    • Reyinyon gwoup travay la te kreye pou pote soti nan migrasyon kòd sous soti nan sistèm kontwòl sous santralize Subversion nan sistèm desantralize Git la kontinye. Yon rapò ak pwopozisyon pou migrasyon an nan pwosesis preparasyon an.
    • В rtld (runtime linker) amelyore mòd ekzekisyon dirèk ("/libexec/ld-elf.so.1 {chemen} {agiman}").
    • Pwojè pou tès fuzzing nan nwayo a FreeBSD lè l sèvi avèk sistèm syzkaller la ap kontinye devlope. Pandan peryòd rapò a, pwoblèm nan pile rezo a ak kòd pou travay ak tab deskriptè dosye yo te idantifye lè l sèvi avèk syzkaller yo te elimine. Apre dyagnostik erè a, chanjman yo te ajoute nan pil SCTP pou fè debogaj pi fasil. Règ yo te ajoute nan mete stress2 pou idantifye regressions posib. Te ajoute sipò pou tès fuzz nan nouvo apèl sistèm, ki gen ladan copy_file_range (), __realpathat () ak apèl subsystem Capsicum. Travay ap kontinye kouvri kouch emulasyon Linux la ak tès fuzz. Nou analize epi elimine erè ki te note nan dènye rapò Coverity Scan yo.
    • Sistèm entegrasyon kontinyèl la te chanje nan egzekite tout tès branch tèt sèlman lè l sèvi avèk clang/lld. Lè tès pou RISC-V, fòmasyon yon imaj ki gen kapasite konplè asire pou fè tès nan QEMU lè l sèvi avèk OpenSBI. Te ajoute nouvo travay pou tès imaj ak powerpc64 machin vityèl (FreeBSD-head-powerpc64-images, FreeBSD-head-powerpc64-testvm).
    • Travay ap fèt pou transfere suite tès Kyua soti nan pò yo (devel/kyua) nan sistèm baz la pou rezoud pwoblèm (pake yo enstale trè dousman) ki parèt lè w ap itilize Kyua sou nouvo achitekti, devlopman ki fèt ak yon Emulation oswa FPGA. Entegrasyon nan sistèm baz la pral siyifikativman senplifye tès platfòm entegre ak koòdone ak sistèm entegrasyon kontinyèl.
    • Yo te lanse yon pwojè pou optimize pèfòmans chofè pon rezo a si_pon, ki itilize yon sèl mutex pou fèmen done entèn yo, ki pa pèmèt reyalize pèfòmans vle sou sistèm ki gen yon gwo kantite anviwònman prizon oswa machin vityèl ini nan yon sèl rezo. Nan etap sa a, tès yo te ajoute nan kòd la pou anpeche regressions rive pandan modènizasyon travay ak kadna. Yo konsidere posiblite pou itilize ConcurrencyKit pou paralelize moun kap okipe transfè done (bridge_input(), bridge_output(), bridge_forward(), ...).
    • Te ajoute yon nouvo apèl sistèm sigfastblock pou pèmèt yon fil presize yon blòk memwa pou yon moun kap okipe siyal rapid pou amelyore pèfòmans moun kap okipe eksepsyon yo.
    • Kernel la ajoute sipò pou enstriksyon atomik LSE (Large System Extension) ki sipòte pa sistèm ARMv8.1. Enstriksyon sa yo oblije amelyore pèfòmans lè w ap kouri sou tablo Cavium ThunderX2 ak AWS Graviton 2. Chanjman ki ajoute yo detekte sipò LSE ak dinamikman pèmèt aplikasyon atomik ki baze sou yo. Pandan tès la, itilizasyon LSE te fè li posib pou redwi tan processeur a te pase lè rasanble nwayo a pa 15%.
    • Optimizasyon pèfòmans yo te pote soti ak fonksyonalite nan bwat zouti a te elaji pou dosye ègzèkutabl nan fòma ELF la.
      Te ajoute sipò pou kachèt enfòmasyon debogaj DWARF, rezoud pwoblèm nan sèvis piblik elfcopy/objcopy, te ajoute pwosesis DW_AT_ranges,
      readelf aplike kapasite pou dekode drapo PROTMAX_DISABLE, STKGAP_DISABLE ak WXNEEDED, osi byen ke Xen ak GNU Build-ID.

  • Безопасность
    • Pou amelyore pèfòmans FreeBSD nan anviwònman nwaj Azure, travay ap fèt pou bay sipò pou mekanis HyperV Socket, ki pèmèt itilizasyon yon koòdone priz pou entèraksyon ant sistèm envite ak anviwònman lame a san yo pa mete yon rezo.
    • Travay ap fèt pou bay bati FreeBSD ki repete, sa ki fè li posib asire ke dosye yo ègzèkutabl nan eleman yo sistèm yo konpile egzakteman nan kòd sous yo deklare epi yo pa genyen chanjman ki pa etranje.
    • Kapasite pou kontwole enklizyon mekanis pwoteksyon adisyonèl (ASLR, PROT_MAX, espas pile, kat W + X) nan nivo pwosesis endividyèl yo te ajoute nan sèvis piblik elfctl la.
  • Depo ak sistèm dosye
    • Travay ap fèt pou aplike kapasite NFS pou opere sou yon chanèl kominikasyon ankripte ki baze sou TLS 1.3, olye pou yo itilize Kerberos (sec=krb5p mòd), ki limite a sèlman ankripte mesaj RPC epi li aplike sèlman nan lojisyèl. Nouvo aplikasyon an sèvi ak pil TLS ki bay nwayo a pou pèmèt akselerasyon pyès ki nan konpitè. Kòd NFS sou TLS prèske pare pou tès la, men li toujou bezwen travay pou sipòte sètifika kliyan ki siyen yo epi adapte pil TLS nwayo a pou voye done NFS (patch pou resevwa yo deja pare).
  • Sipò pou pyès ki nan konpitè
    • Travay ap fèt pou ajoute sipò pou Chinwa x86 CPU Hygon ki baze sou teknoloji AMD;
    • Kòm yon pati nan CheriBSD, yon fouchèt nan FreeBSD pou rechèch achitekti processeur CHERI (Capability Hardware Enhanced RISC Instructions), sipò pou processeur ARM Morello a kontinye ap aplike, ki pral sipòte sistèm kontwòl aksè memwa CHERI ki baze sou modèl sekirite pwojè Capsicum. Chip Morello ap planifye lage nan 2021. Kounye a travay konsantre sou ajoute sipò pou platfòm Arm Neoverse N1 ki bay Morello. Yo te prezante yon pò inisyal CheriBSD pou achitekti RISC-V. Devlopman CheriBSD kontinye pou pwototip referans CHERI ki baze sou achitekti MIPS64 la.
    • Portaj FreeBSD ap kontinye pou SoC NXP LS64A 1046-bit ki baze sou processeur ARMv8 Cortex-A72 ak yon motè akselerasyon pwosesis rezo entegre, 10 Gb Ethernet, PCIe 3.0, SATA 3.0 ak USB 3.0. Kounye a, chofè QorIQ ak LS1046A, GPIO, QorIQ LS10xx AHCI, VF610 I2C, Epson RX-8803 RTC, QorIQ LS10xx SDHCI yo ap prepare pou transfere nan konpozisyon prensipal FreeBSD la.
    • Chofè ena a te mete ajou nan vèsyon 2.1.1 ak sipò pou dezyèm jenerasyon adaptè rezo ENAv2 (Elastic Network Adapter) yo itilize nan enfrastrikti Elastic Compute Cloud (EC2) pou òganize kominikasyon ant nœuds EC2 a yon vitès ki rive jiska 25 Gb/ s. Y ap prepare yon aktyalizasyon ENA 2.2.0.
    • Amelyorasyon nan pò FreeBSD pou platfòm powerpc64 la kontinye. Konsantre a se sou bay bon jan kalite pèfòmans sou sistèm ak IBM POWER8 ak POWER9 processeurs. Pandan peryòd rapò a, FreeBSD-CURRENT te transfere pou itilize LLVM/Clang 10.0 du ak lld linker olye de GCC. Pa defo, sistèm powerpc64 yo itilize ELFv2 ABI epi sipò pou ELFv1 ABI yo sispann. FreeBSD-STABLE toujou gen gcc 4.2.1. Pwoblèm ak chofè virtio, aacraid ak ixl yo te rezoud. Sou sistèm powerpc64 li posib pou kouri QEMU san sipò Paj gwo.
    • Travay ap kontinye aplike sipò pou achitekti RISC-V. Nan fòm li ye kounye a, FreeBSD deja bòt avèk siksè sou tablo a SiFive Hifive Unleashed, pou ki chofè yo te prepare.
      UART, SPI ak PRCI, sipòte OpenSBI ak SBI 0.2 firmwèr. Pandan peryòd rapò a, travay yo te konsantre sou migrasyon soti nan GCC nan clang ak lld.

  • Aplikasyon ak sistèm pò
    • Koleksyon pò FreeBSD yo te travèse papòt 39 mil pò, kantite PR ki pa fèmen yo yon ti kras depase 2400, nan ki 640 PR yo poko klase. Pandan peryòd rapò a, yo te fè 8146 chanjman nan 173 devlopè. Kat nouvo patisipan yo te resevwa dwa komèt (Loïc Bartoletti, Mikael Urankar, Kyle Evans, Lorenzo Salvadore). Te ajoute USES = drapo qca epi retire USES = drapo zope (akòz enkonpatibilite ak Python 3). Travay ap fèt pou retire Python 2.7 nan pye bwa pò a - tout pò ki baze sou Python 2 yo dwe pote sou Python 3 oswa yo pral retire. Manadjè pakè pkg yo te mete ajou pou lage 1.13.2.
    • Mete ajou eleman pile grafik ak pò ki gen rapò ak xorg.
      Sèvè X.org la te mete ajou nan vèsyon 1.20.8 (devan anbake sou branch 1.18 la), ki te pèmèt FreeBSD itilize defo pou itilize backend udev/evdev pou manyen aparèy antre. Pake Mesa a te chanje pou sèvi ak ekstansyon DRI3 olye de DRI2 pa default. Travay ap fèt pou kenbe chofè grafik yo, pile aparèy antre, ak konpozan drm-kmod (yon pò ki pèmèt operasyon modil amdgpu, i915 ak radeon DRM, lè l sèvi avèk kad linuxkpi pou konpatibilite ak Manadjè rann dirèk nan nwayo Linux la) Alamòd.

    • KDE Plasma Desktop, KDE Frameworks, Aplikasyon KDE ak Qt yo kenbe ajou epi mete ajou ak dènye degaje yo. Yon nouvo aplikasyon kstars (star atlas) te ajoute nan pò yo.
    • Travay yo te fèt pou elimine chanjman regressif nan manadjè fenèt xfwm4 ki te parèt apre mete ajou Xfce nan vèsyon 4.14 (pa egzanp, zafè parèt lè dekore fenèt yo).
    • Port Wine a te mete ajou pou lage Wine 5.0 (devan 4.0.3 te ofri).
    • Kòmanse ak vèsyon 1.14, konpilatè lang Go a te ajoute sipò ofisyèl pou achitekti ARM64 pou FreeBSD 12.0.
    • OpenSSH sou sistèm baz la te mete ajou pou lage 7.9p1.
    • Bibliyotèk sysctlmibinfo2 yo te aplike epi mete yo nan pò (devel/libsysctlmibinfo2), bay yon API pou jwenn aksè nan sysctl MIB la ak tradui non sysctl nan idantifyan objè (OID).
    • Yo te pwodwi yon ajou distribisyon NomadBSD 1.3.1, ki se yon edisyon FreeBSD adapte pou itilize kòm yon pòtab Desktop demaraj soti nan yon kondwi USB. Anviwònman grafik la baze sou yon manadjè fenèt Openbox. Itilize pou monte kondui DSBMD (sipòte CD9660, FAT, HFS+, NTFS, Ext2/3/4), pou konfigirasyon yon rezo san fil - wifimgr, ak kontwole volim nan - DSBMixer.
    • Te kòmanse travay sou ekri dokiman konplè pou manadjè anviwònman prizon an po. Pot 0.11.0 ap prepare pou lage, ki pral gen ladan zouti pou jere pile rezo a.

Sous: opennet.ru

Add nouvo kòmantè