Nkwupụta mmepe FreeBSD maka nkeji mbụ nke 2020

bipụtara akụkọ banyere mmepe nke ọrụ FreeBSD site na Jenụwarị ruo Maachị 2020. N'ime mgbanwe ndị anyị nwere ike ịhụ:

  • Ihe gbasara izugbe na usoro
    • E wepụrụ ihe nchịkọta GCC n'osisi isi FreeBSD-CURRENT, yana ngwa gperf, gcov na gtc (ngwakọ ngwaọrụ). Agbanwela nyiwe niile na-anaghị akwado Clang ka ọ bụrụ iji ngwaọrụ nrụpụta mpụga arụnyere na ọdụ ụgbọ mmiri. Sistemụ ntọala ahụ butere ntọhapụ nke GCC 4.2.1 emechiela, yana njikọta nke ụdị ọhụrụ agaghị ekwe omume n'ihi ngbanwe nke 4.2.2 na ikike GPLv3, nke e weere na ezighi ezi maka akụrụngwa ntọala FreeBSD. Mwepụta GCC dị ugbu a, gụnyere GCC 9, ka enwere ike itinye ya na ngwugwu na ọdụ ụgbọ mmiri.
    • Ihe akụrụngwa emulation nke Linux (Linuxulator) agbakwunyela nkwado maka oku sistemụ izipu, ọnọdụ TCP_CORK (chọrọ maka nginx), yana ọkọlọtọ MAP_32BIT (na-edozi nsogbu ahụ na mbido ngwugwu na Mono sitere na Ubuntu Bionic). E doziela nsogbu dị na mkpebi DNS mgbe ị na-eji glibc ọhụrụ karịa 2.30 (dịka ọmụmaatụ sitere na CentOS 8).
      Akụrụngwa ntinye aka na-aga n'ihu na-enye ike iji rụọ ọrụ LTP (Linux Testing Project) na-agba ọsọ Linuxulator iji nwalee mmelite emere na koodu iji kwado Linux. Ihe dị ka ule 400 na-ada ma na-achọ ndozi (ụfọdụ njehie na-akpata site na ụgha ụgha, ụfọdụ na-achọ ndozi dị ntakịrị, ma e nwere ndị ọzọ na-achọ ịgbakwunye nkwado maka oku usoro ọhụrụ iji dozie). Emeela ọrụ iji hichaa koodu Linuxulator na ime ka nbipu dị mfe. A kwadoro patches nwere nkwado maka àgwà agbatịkwuru yana oku usoro fexecve, mana enyochabeghị ya.

    • Nzukọ nke otu ndị na-arụ ọrụ emepụtara iji mee njem nke koodu isi mmalite sitere na sistemụ njikwa isi mmalite mebie na sistemụ enweghị isi Git na-aga n'ihu. Akụkọ nwere atụmatụ maka mbugharị na-aga n'ihu na nkwadebe.
    • В rtld (onye na-agba ọsọ oge njikọ) ụdị mmebe ozugbo emelitere ("/libexec/ld-elf.so.1 {ụzọ} {arguments}").
    • Ihe oru ngo maka nnwale fuzzing nke kernel FreeBSD na-eji sistemu syzkaller na-aga n'ihu na-etolite. N'ime oge mkpesa, a kpochapụrụ nsogbu dị na nchịkọta netwọkụ na koodu maka ịrụ ọrụ na tebụl nkọwa faịlụ nke ejiri syzkaller mee ihe. N'ịgbaso nchọpụta njehie ahụ, agbakwunyela mgbanwe na nchịkọta SCTP iji mee ka nbipu dị mfe. Iwu agbakwunyere na nrụgide2 setịpụrụ iji chọpụta ngbanwe enwere ike. Nkwado agbakwunyere maka nnwale fuzz nke oku sistemụ ọhụrụ, gụnyere copy_file_range(), __realpathat() na oku subsystem Capsicum. Ọrụ na-aga n'ihu na-eji ule fuzz kpuchie oyi akwa emulation Linux. Anyị tụlere wee kpochapụ njehie ndị edepụtara na mkpesa mkpuchi mkpuchi kachasị ọhụrụ.
    • Sistemụ njikọta na-aga n'ihu agbanweela iji mezuo ule ngalaba isi naanị site na iji clang/ld. Mgbe ị na-anwale maka RISC-V, a na-ahụta nguzobe nke onyonyo diski zuru oke maka ule na-agba ọsọ na QEMU site na iji OpenSBI. Agbakwunyere ihe aga-eme ọhụrụ maka ịnwale onyonyo yana igwe igwe mebere powerpc64 (FreeBSD-head-powerpc64-images, FreeBSD-head-powerpc64-testvm).
    • A na-arụ ọrụ iji nyefee ụlọ nyocha Kyua site na ọdụ ụgbọ mmiri (devel / kyua) gaa na sistemụ ntọala iji dozie nsogbu (a na-etinye ngwugwu ngwa ngwa ngwa ngwa) nke na-ebilite mgbe ị na-eji Kyua na ụlọ ọhụrụ, mmepe nke a na-eme site na iji emulator ma ọ bụ FPGA. Ntinye n'ime usoro ntọala ga-eme ka nnwale nke nyiwe agbakwunyere na interface dị mfe na sistemụ njikọta na-aga n'ihu.
    • Emebela oru ngo iji kwalite arụmọrụ nke ọkwọ ụgbọ mmiri netwọk ọ bụrụ_bridge, nke na-eji otu mutex iji kpọchie data dị n'ime, nke na-adịghị ekwe ka imezu ọrụ a chọrọ na sistemụ nwere ọnụ ọgụgụ buru ibu nke gburugburu ụlọ mkpọrọ ma ọ bụ igwe mebere nke jikọtara n'otu netwọkụ. N'oge a, agbakwunyere ule na koodu iji gbochie nlọghachi azụ n'oge ọgbara ọhụrụ nke ịrụ ọrụ na mkpọchi. A na-atụle ohere nke iji ConcurrencyKit iji mekọrịta ndị na-ebufe data (bridge_input(), bridge_output(), bridge_forward(), ...).
    • Agbakwunyere oku sistemu sigfastblock ọhụrụ iji kwe ka eri kọwaa ngọngọ ebe nchekwa maka onye na-ahụ maka mgbama ngwa ngwa iji kwalite arụmọrụ nke ndị na-ahụ maka ewepu.
    • kernel na-agbakwunye nkwado maka LSE (Large System Extension) ntuziaka atọm nke sistemu ARMv8.1 kwadoro. Achọrọ ntuziaka ndị a iji melite arụmọrụ mgbe ị na-agba ọsọ na bọọdụ Cavium ThunderX2 na AWS Graviton 2. Mgbanwe ndị a gbakwunyere na-achọpụta nkwado LSE na ike na-eme ka mmejuputa atomiki dabere na ha. N'oge ule, iji LSE mere ka o kwe omume ibelata oge nhazi a na-etinye mgbe a na-ejikọta kernel site na 15%.
    • Emeela njikarịcha arụmọrụ yana agbasawanye ọrụ nke ngwa ngwa maka faịlụ ndị enwere ike ime n'ụdị ELF.
      agbakwunyere nkwado maka caching DWARF ozi debugging, doziri nsogbu na elfcopy/objcopy utilities, kwukwara DW_AT_ranges nhazi,
      readelf na-arụ ọrụ iji dekọọ ọkọlọtọ PROTMAX_DISABLE, STKGAP_DISABLE na WXNEEDED yana Xen na GNU Build-ID.

  • Nche
    • Iji meziwanye arụmọrụ nke FreeBSD na gburugburu igwe ojii Azure, a na-arụ ọrụ iji nye nkwado maka usoro HyperV Socket, nke na-enye ohere iji oghere oghere maka mmekọrịta n'etiti usoro ndị ọbịa na ebe ndị ọbịa na-enweghị ịtọlite ​​​​netwọọdụ.
    • A na-arụ ọrụ iji weta ihe nrụpụta FreeBSD na-emegharị ugboro ugboro, na-eme ka o kwe omume ịhụ na achịkọtara faịlụ ndị nwere ike ime nke sistemu ahụ kpọmkwem site na koodu isi mmalite ekwuputara na enweghị mgbanwe pụrụ iche.
    • Ike ịchịkwa nsonye nke usoro nchebe ndị ọzọ (ASLR, PROT_MAX, stack gap, W + X mapping) na ọkwa nke usoro onye ọ bụla agbakwunyere na ọrụ elfctl.
  • Sistemụ nchekwa na faịlụ
    • A na-arụ ọrụ iji mejuputa ikike maka NFS iji rụọ ọrụ n'elu ọwa nkwurịta okwu ezoro ezo dabere na TLS 1.3, kama iji Kerberos (sec = krb5p mode), nke na-ejedebe na izo ya ezo naanị ozi RPC ma na-emejuputa ya na ngwanrọ. Mmejuputa ọhụrụ a na-eji kernel TLS tojupụtara iji mee ngwangwa ngwaike. Koodu NFS karịrị TLS fọrọ nke nta ka ọ dị njikere maka nnwale, mana ọ ka na-achọ ọrụ iji kwado asambodo ndị ahịa bịanyere aka na ya wee megharịa kernel TLS stack iji zipu data NFS (patches maka ịnata adịlarịrị).
  • Nkwado ngwaike
    • A na-arụ ọrụ iji tinye nkwado maka Chinese x86 CPU Hygon dabere na teknụzụ AMD;
    • Dịka akụkụ nke CheriBSD, ndụdụ nke FreeBSD maka nhazi nhazi nhazi nyocha CHERI (Ntuziaka RISC Akụrụngwa Akụrụngwa), nkwado maka ARM Morello processor na-aga n'ihu na-emejuputa atumatu, nke ga-akwado usoro njikwa ohere nchekwa CHERI dabere na ụdị nchekwa nchekwa Capsicum. Morello mgbawa na-eme atụmatụ ewepụtara na 2021. A na-elekwasị anya ugbu a n'ịgbakwunye nkwado maka ikpo okwu Arm Neoverse N1 nke na-enye Morello ike. Egosiputala ọdụ ụgbọ mmiri mbụ nke CheriBSD maka ihe owuwu RISC-V. Mmepe CheriBSD na-aga n'ihu maka ụdị ntụaka CHERI dabere na nhazi ụlọ MIPS64.
    • Porting FreeBSD na-aga n'ihu maka 64-bit SoC NXP LS1046A dabere na ARMv8 Cortex-A72 processor nwere igwe nrụnye ngwa ngwa nhazi netwọkụ agbakwunyere, 10 Gb Ethernet, PCIe 3.0, SATA 3.0 na USB 3.0. Ugbu a, a na-akwado ndị ọkwọ ụgbọ ala QorIQ na LS1046A, GPIO, QorIQ LS10xx AHCI, VF610 I2C, Epson RX-8803 RTC, QorIQ LS10xx SDHCI maka ịnyefe na ihe mejupụtara FreeBSD bụ isi.
    • Emelitela onye ọkwọ ụgbọ ala ena na ụdị 2.1.1 na nkwado maka ọgbọ nke abụọ nke ENAv2 (Elastic Network Adapter) nkwụnye netwọkụ ejiri na akụrụngwa Elastic Compute Cloud (EC2) iji hazie nkwukọrịta n'etiti oghere EC2 na ọsọ nke ruru 25 Gb / s. A na-akwado nkwalite ENA 2.2.0.
    • Mmelite na ọdụ ụgbọ mmiri FreeBSD maka ikpo okwu powerpc64 na-aga n'ihu. Ihe a na-elekwasị anya bụ ịnye arụmọrụ dị mma na sistemụ na IBM POWER8 na POWER9 processors. N'ime oge mkpesa ahụ, ebufere FreeBSD-CURRENT ka ọ jiri LLVM/Clang 10.0 compiler na ld linker kama GCC. Site na ndabara, sistemu powerpc64 na-eji ELFv2 ABI ma akwụsịla nkwado maka ELFv1 ABI. FreeBSD-STABLE ka nwere gcc 4.2.1. E doziela nsogbu dị na virtio, acraid na ixl ọkwọ ụgbọala. Na sistemu powerpc64 ọ ga-ekwe omume ịgba ọsọ QEMU na-enweghị nkwado ibe.
    • Ọrụ na-aga n'ihu na-akwado nkwado maka ụkpụrụ ụlọ RISC-V. N'ụdị ọ dị ugbu a, FreeBSD abanyelarị nke ọma na bọọdụ SiFive Hifive Unleashed, nke edozila ndị ọkwọ ụgbọ ala.
      UART, SPI na PRCI, na-akwado OpenSBI na SBI 0.2 firmware. N'ime oge mkpesa ahụ, ọrụ lekwasịrị anya na mbugharị site na GCC gaa na clang na ld.

  • Ngwa na usoro ọdụ ụgbọ mmiri
    • Nchịkọta ọdụ ụgbọ mmiri FreeBSD agafeela ọnụ ụzọ nke ọdụ ụgbọ mmiri 39, ọnụ ọgụgụ nke PR na-emechighị agafe karịa 2400, nke 640 PR na-edozibeghị. N'ime oge mkpesa, 8146 gbanwere site na ndị mmepe 173. Ndị sonyere ọhụrụ anọ nwetara ikike ntinye aka (Loïc Bartoletti, Mikael Urankar, Kyle Evans, Lorenzo Salvadore). Agbakwunyere USES=qca ọkọlọtọ wee wepụ USES=ọkọlọtọ zope (n'ihi enweghị ndakọrịta na Python 3). A na-arụ ọrụ iji wepụ Python 2.7 na osisi ọdụ ụgbọ mmiri - niile Python 2 ọdụ ụgbọ mmiri ga-ebufe na Python 3 ma ọ bụ wepụ ya. Emelitere njikwa ngwugwu pkg ka ọ wepụta 1.13.2.
    • Ngwa nchịkọta eserese emelitere yana ọdụ ụgbọ mmiri metụtara xorg.
      Emelitela ihe nkesa X.org ka ọ bụrụ ụdị 1.20.8 (bụ nke ebuburu na ngalaba 1.18), nke nyere FreeBSD aka ndabara iji udev/evdev backend maka ijikwa ngwaọrụ ntinye. Agbanyela ngwungwu Mesa ka ọ jiri ndọtị DRI3 kama DRI2 na ndabara. A na-arụ ọrụ iji dobe ndị ọkwọ ụgbọ ala eserese, nchịkọta ngwaọrụ ntinye, yana akụrụngwa drm-kmod (ọdụ ụgbọ mmiri na-enyere aka ịrụ ọrụ amdgpu, i915 na radeon DRM modul, na-eji linuxkpi framework maka ndakọrịta na Direct Rendering Manager nke Linux kernel) kwalitere ruo ugbu a.

    • A na-edobe desktọpụ Plasma KDE, KDE Frameworks, Ngwa KDE na Qt ka ọ dị ọhụrụ wee na-emelite ya na mwepụta kacha ọhụrụ. agbakwunyere kstars ngwa ọhụrụ (star atlas) na ọdụ ụgbọ mmiri.
    • Emeela ọrụ iji kpochapụ mgbanwe mgbanwe na njikwa windo xfwm4 nke pụtara mgbe emelitere Xfce na ụdị 4.14 (dịka ọmụmaatụ, arịa dị iche iche pụtara mgbe a na-achọ windo mma).
    • Emelitela ọdụ ụgbọ mmiri mmanya iji hapụ Wine 5.0 (a na-enyebu 4.0.3).
    • Malite na ụdị 1.14, onye nchịkọta asụsụ Go gbakwunyere nkwado gọọmentị maka ụlọ ọrụ ARM64 maka FreeBSD 12.0.
    • Emelitela OpenSSH na sistemụ ntọala iji wepụta 7.9p1.
    • E tinyela ọba akwụkwọ sysctlmibinfo2 ma tinye ya na ọdụ ụgbọ mmiri (devel/libsysctlmibinfo2), na-enye API maka ịnweta sysctl MIB na ịtụgharị aha sysctl ka ọ bụrụ ihe nchọpụta ihe (OIDs).
    • Ewepụtala mmelite nkesa NomadBSD 1.3.1, nke bụ mbipụta FreeBSD emegharịrị maka ojiji dị ka obere desktọpụ bootable site na draịvụ USB. Mpaghara eserese dabere na njikwa windo Openbox. A na-eji draịva rịgoro DSBMD (na-akwado CD9660, FAT, HFS+, NTFS, Ext2/3/4), iji hazie netwọk ikuku - wifimgr, na ijikwa olu - DSBMixer.
    • Amalitere ọrụ na ide akwụkwọ zuru oke maka onye njikwa gburugburu ụlọ mkpọrọ ite. A na-akwado ite 0.11.0 maka ntọhapụ, nke ga-agụnye ngwaọrụ maka ijikwa nchịkọta netwọkụ.

isi: opennet.ru

Tinye a comment