Tlaleho ea ntlafatso ea FreeBSD bakeng sa kotara ea pele ea 2020

e hatisitsoeng tlaleha ka nts'etsopele ea projeke ea FreeBSD ho tloha ka Pherekhong ho isa Hlakubele 2020. Har'a liphetoho tseo re ka li hlokomelang:

  • Litaba tse akaretsang le tsa tsamaiso
    • E tlositse setsi sa pokello ea GCC ho tloha sefateng sa mohloli oa FreeBSD-CURRENT, hammoho le lisebelisoa tse sa sebelisoeng tsa gperf, gcov le gtc (devicetree compiler). Li-platform tsohle tse sa tšehetseng Clang li fetotsoe ho sebelisa lisebelisoa tsa kaho tsa kantle tse kentsoeng likoung. Tsamaiso ea motheo e rometse tokollo ea khale ea GCC 4.2.1, 'me ho kopanngoa ha liphetolelo tse ncha ho ne ho sa khonehe ka lebaka la phetoho ea 4.2.2 ho laesense ea GPLv3, e neng e nkoa e sa tšoanelehe bakeng sa likarolo tsa motheo tsa FreeBSD. Lintlafatso tsa hajoale tsa GCC, ho kenyeletsoa le GCC 9, li ntse li ka kenngoa ho tsoa liphutheloana le likoung.
    • The Linux environment emulation infrastructure (Linuxulator) e kentse tšehetso bakeng sa mohala oa tsamaiso ea sendfile, mokhoa oa TCP_CORK (o hlokehang bakeng sa nginx), le folakha ea MAP_32BIT (e rarolla bothata ka ho qala liphutheloana ka Mono ho tloha ho Ubuntu Bionic). Mathata a tharollo ea DNS ha o sebelisa glibc e ncha ho feta 2.30 (mohlala ho tloha CentOS 8) a rarollotsoe.
      Mohaho o tsoelang pele oa ho kopanya o fana ka bokhoni ba ho tsamaisa mesebetsi ea LTP (Linux Testing Project) e tsamaisang Linuxulator ho hlahloba lintlafatso tse entsoeng ho khoutu ho tšehetsa Linux. Liteko tse ka bang 400 li hloleha 'me li hloka ho lokisoa (liphoso tse ling li bakoa ke lintlha tse fosahetseng, tse ling li hloka litokiso tse nyane, empa ho na le tse ling tse hlokang ho eketsa tšehetso bakeng sa mehala e mecha ea ho lokisoa). Mosebetsi o se o entsoe ho hloekisa khoutu ea Linuxulator le ho nolofatsa bothata. Lipache tse nang le tšehetso bakeng sa litšobotsi tse atolositsoeng le mohala oa sistimi ea fexecve li se li lokisitsoe, empa ha li so hlahlojoe.

    • Likopano tsa sehlopha se sebetsang se entsoeng ho phethahatsa ho falla ha likhoutu tsa mohloli ho tloha tsamaisong e bohareng ea tsamaiso ea mohloli Ho fetola tsamaiso ea tsamaiso ea Git e tsoela pele. Tlaleho e nang le litlhahiso tsa ho falla e mothating oa ho hlophisoa.
    • В rtld (runtime linker) e ntlafalitse mokhoa oa ho phethahatsa ka ho toba ("/libexec/ld-elf.so.1 {path} {arguments}").
    • Morero oa tlhahlobo ea fuzzing ea kernel ea FreeBSD e sebelisang sistimi ea syzkaller e ntse e tsoela pele ho hola. Nakong ea tlaleho, mathata a marang-rang a marang-rang le khoutu ea ho sebetsa le litafole tse hlalosang lifaele tse khethiloeng ho sebelisa syzkaller li ile tsa felisoa. Kamora tlhahlobo ea phoso, ho kentsoe liphetoho ho stack ea SCTP ho etsa hore bothata bo be bobebe. Melao e kenyelelitsoe khatellong ea 2 e behiloeng ho khetholla ho fokotseha ho ka bang teng. Ts'ehetso e ekelitsoeng bakeng sa tlhahlobo ea fuzz ea mehala e mecha ea sistimi, ho kenyeletsoa copy_file_range(), __realpathat() le Capsicum subsystem call. Mosebetsi o ntse o tsoela pele ho koahela lera la emulation ea Linux ka tlhahlobo ea fuzz. Re hlahlobile le ho tlosa liphoso tse hlahang litlalehong tsa morao-rao tsa Coverity Scan.
    • Sistimi e tsoelang pele ea ho kopanya e fetohetse ho etsa liteko tsohle tsa lekala la hlooho feela ka ho sebelisa clang/lld. Ha ho etsoa liteko tsa RISC-V, ho netefatsoa hore ho etsoa setšoantšo sa disk se felletseng bakeng sa ho etsa liteko QEMU ho sebelisoa OpenSBI. E kentse mesebetsi e mecha bakeng sa ho hlahloba litšoantšo le mechine ea sebele ea powerpc64 (FreeBSD-head-powerpc64-images, FreeBSD-head-powerpc64-testvm).
    • Mosebetsi o ntse o tsoela pele ho fetisetsa tlhahlobo ea teko ea Kyua ho tloha likoung (devel/kyua) ho ea tsamaisong ea motheo ho rarolla mathata (liphutheloana li kenngoa butle haholo) tse hlahang ha u sebelisa Kyua ka meralo e mecha, nts'etsopele e etsoang ho sebelisoa emulator kapa FPGA. Ho kenyeletsoa tsamaisong ea motheo ho tla nolofatsa haholo liteko tsa li-platform tse kentsoeng le sebopeho se nang le mekhoa e tsoelang pele ea ho kopanya.
    • Ho entsoe morero oa ho ntlafatsa ts'ebetso ea mokhanni oa borokho ba marang-rang haeba_borokho, e sebelisang mutex e le 'ngoe ho koala lintlha tsa ka hare, tse sa lumelle ho finyella ts'ebetso e lakatsehang ho litsamaiso tse nang le palo e kholo ea libaka tsa chankana kapa mechine ea sebele e kopantsoeng marang-rang a le mong. Nakong ena, liteko li kenyelelitsoe khoutu ho thibela ho fokotseha ho etsahala nakong ea morao-rao ea ho sebetsa ka liloko. Monyetla oa ho sebelisa ConcurrencyKit ho tsamaisana le batho ba tsamaisang data (bridge_input(), bridge_output(), bridge_forward(), ...) ho ntse ho nahanoa.
    • E kentse mohala o mocha oa sigfastblock ho lumella khoele ho hlakisa boloko ba memori bakeng sa setshwari sa lets'oao le potlakileng ho ntlafatsa ts'ebetso ea batshwari ba ikhethang.
    • Kernel e eketsa tšehetso bakeng sa LSE (Large System Extension) litaelo tsa athomo tse tšehetsoeng ke litsamaiso tsa ARMv8.1. Litaelo tsena li hlokoa ho ntlafatsa ts'ebetso ha u sebetsa ka liboto tsa Cavium ThunderX2 le AWS Graviton 2. Liphetoho tse ekelitsoeng li lemoha tšehetso ea LSE 'me ka matla li nolofalletsa ts'ebetsong ea athomo e thehiloeng ho tsona. Nakong ea tlhahlobo, tšebeliso ea LSE e entse hore ho khonehe ho fokotsa nako ea processor e sebelisoang ha ho bokelloa kernel ka 15%.
    • Ntlafatso ea ts'ebetso e se e entsoe mme ts'ebetso ea sephutheloana sa lisebelisoa e ekelitsoe bakeng sa lifaele tse phethiloeng ka sebopeho sa ELF.
      Ts'ehetso e ekelitsoeng bakeng sa tlhaiso-leseling ea caching ea DWARF, e rarollotse mathata lits'ebetsong tsa elfcopy/objcopy, e kenyellelitse ts'ebetso ea DW_AT_ranges,
      Readelf e sebelisa bokhoni ba ho khetholla lifolakha tsa PROTMAX_DISABLE, STKGAP_DISABLE le WXNEEDED, hammoho le Xen le GNU Build-ID.

  • Tshireletso
    • Ho ntlafatsa ts'ebetso ea FreeBSD libakeng tsa maru a Azure, mosebetsi o ntse o tsoela pele ho fana ka ts'ehetso bakeng sa mochine oa HyperV Socket, o lumellang tšebeliso ea sebopeho sa socket bakeng sa ho sebelisana pakeng tsa tsamaiso ea baeti le tikoloho ea baeti ntle le ho theha marang-rang.
    • Mosebetsi o ntse o tsoela pele oa ho fana ka meaho e phetoang ea FreeBSD, e etsa hore ho khonehe ho etsa bonnete ba hore lifaele tse sebetsang tsa likarolo tsa sistimi li hlophisitsoe hantle ho tsoa ho likhoutu tse phatlalalitsoeng tsa mohloli mme ha li na liphetoho tse kantle ho naha.
    • Bokhoni ba ho laola ho kenyelletsoa ha mekhoa e meng ea ts'ireletso (ASLR, PROT_MAX, lekhalo la stack, 'mapa oa W+X) boemong ba lits'ebetso tsa motho ka mong bo kentsoe ts'ebelisong ea elfctl.
  • Litsamaiso tsa polokelo le lifaele
    • Mosebetsi o ntse o tsoela pele ho kenya ts'ebetsong bokhoni ba NFS ba ho sebetsa holim'a mocha oa puisano o patiloeng o thehiloeng ho TLS 1.3, ho e-na le ho sebelisa Kerberos (sec=krb5p mode), e lekanyelitsoeng ho encrypting feela melaetsa ea RPC mme e kenngoa ts'ebetsong feela ka software. Ts'ebetsong e ncha e sebelisa stack ea TLS e fanoeng ke kernel ho thusa ho potlakisa hardware. Khoutu ea NFS holim'a TLS e se e loketse ho hlahlojoa, empa e ntse e hloka mosebetsi ho ts'ehetsa litifikeiti tsa bareki tse saenneng le ho fetola kernel stack ea TLS ho romella data ea NFS (lipache tsa ho amohela li se li lokile).
  • Tšehetso ea lisebelisoa
    • Mosebetsi o ntse o tsoela pele ho eketsa tšehetso bakeng sa Chinese x86 CPU Hygon e thehiloeng ho theknoloji ea AMD;
    • Joalo ka karolo ea CheriBSD, fereko ea FreeBSD bakeng sa meralo ea meralo ea lipatlisiso CHERI (Capability Hardware Enhanced RISC Instructions), tšehetso bakeng sa processor ea ARM Morello e ntse e tsoela pele ho kengoa ts'ebetsong, e tla ts'ehetsa sistimi ea taolo ea phihlello ea memori ea CHERI e ipapisitseng le mohlala oa ts'ireletso ea morero oa Capsicum. Morello chip ba rera e lokolloa ka 2021. Mosebetsi hajoale o tsepamisitse maikutlo ho eketseng tšehetso bakeng sa sethala sa Arm Neoverse N1 se matlafatsang Morello. Ho hlahisitsoe boema-kepe ba pele ba CheriBSD bakeng sa meralo ea RISC-V. Nts'etsopele ea CheriBSD e ntse e tsoela pele bakeng sa prototype ea litšupiso ea CHERI e ipapisitseng le meralo ea MIPS64.
    • FreeBSD porting e ntse e tsoela pele bakeng sa 64-bit SoC NXP LS1046A e ipapisitseng le processor ea ARMv8 Cortex-A72 e nang le enjene e potlakisang ea pakete ea marang-rang, 10 Gb Ethernet, PCIe 3.0, SATA 3.0 le USB 3.0. Hajoale, bakhanni ba QorIQ le LS1046A, GPIO, QorIQ LS10xx AHCI, VF610 I2C, Epson RX-8803 RTC, QorIQ LS10xx SDHCI ba ntse ba lokisetsoa ho fetisetsoa ho sebopeho sa mantlha sa FreeBSD.
    • Mokhanni oa ena o ntlafalitsoe hore e be mofuta oa 2.1.1 ka ts'ehetso ea moloko oa bobeli oa li-adapter tsa marang-rang tsa ENAv2 (Elastic Network Adapter) tse sebelisoang mohahong oa motheo oa Elastic Compute Cloud (EC2) ho hlophisa puisano pakeng tsa EC2 nodes ka lebelo la ho fihla ho 25 Gb / s. Ntlafatso ea ENA 2.2.0 e ntse e lokisoa.
    • Lintlafatso ho boema-kepe ba FreeBSD bakeng sa sethala sa powerpc64 li ntse li tsoela pele. Sepheo ke ho fana ka ts'ebetso ea boleng ho litsamaiso tse nang le li-processor tsa IBM POWER8 le POWER9. Nakong ea tlaleho, FreeBSD-CURRENT e ile ea fetisetsoa ho sebelisa LLVM/Clang 10.0 compiler le lld linker sebakeng sa GCC. Ka linako tsohle, litsamaiso tsa powerpc64 li sebelisa ELFv2 ABI 'me tšehetso ea ELFv1 ABI e khaolitse. FreeBSD-STABLE e ntse e na le gcc 4.2.1. Mathata a bakhanni ba virtio, aacraid le ixl a rarollotsoe. Lits'ebetsong tsa powerpc64 hoa khoneha ho tsamaisa QEMU ntle le tšehetso ea Maqephe a Maholo.
    • Mosebetsi o ntse o tsoela pele ho kenya ts'ehetso bakeng sa meralo ea RISC-V. Ka sebopeho sa eona sa hajoale, FreeBSD e se e ntse e sebetsa ka katleho botong ea SiFive Hifive Unleashed, eo bakhanni ba e lokiselitsoeng.
      UART, SPI le PRCI, li tšehetsa OpenSBI le SBI 0.2 firmware. Nakong ea tlaleho, mosebetsi o ne o shebane le ho falla ho tloha GCC ho ea ho clang le lld.

  • Likopo le tsamaiso ea boema-kepe
    • Pokello ea likou tsa FreeBSD e tšetse moeli oa likou tse likete tse 39, palo ea li-PRs tse sa koaloang li feta hanyane 2400, tseo 640 PRs li e-so hlophisoe. Nakong ea tlaleho, liphetoho tse 8146 li entsoe ho tsoa ho baetsi ba 173. Barupeluoa ba bane ba bacha ba fumane litokelo tsa boipelaetso (Loïc Bartoletti, Mikael Urankar, Kyle Evans, Lorenzo Salvadore). E kentsoe USES=qca folakha mme e tlositsoe USES=folakha ea zope (ka lebaka la ho se lumellane le Python 3). Mosebetsi o ntse o tsoela pele ho tlosa Python 2.7 sefateng sa likou - likou tsohle tse thehiloeng ho Python 2 li tlameha ho romelloa ho Python 3 kapa li tla tlosoa. Motsamaisi oa sephutheloana sa pkg o ntlafalitsoe ho lokolla 1.13.2.
    • Likarolo tse ntlafalitsoeng tsa li-graphics stack le li-ports tse amanang le xorg.
      Seva ea X.org e ntlafalitsoe hore e be mofuta oa 1.20.8 (e neng e rometsoe lekaleng la 1.18), e ileng ea lumella FreeBSD hore e be ea kamehla ho sebelisa udev/evdev backend bakeng sa ho sebetsana le lisebelisoa tsa ho kenya. Sephutheloana sa Mesa se fetotsoe ho sebelisa katoloso ea DRI3 sebakeng sa DRI2 ka ho sa feleng. Mosebetsi o ntse o tsoela pele oa ho boloka li-driver tsa graph, stack ea sesebelisoa sa ho kenya, le likarolo tsa drm-kmod (kou e nolofalletsang ts'ebetso ea li-module tsa amdgpu, i915 le radeon DRM, ho sebelisa moralo oa linuxkpi bakeng sa ho lumellana le Direct Rendering Manager ea Linux kernel) e maemong.

    • KDE Plasma desktop, KDE Frameworks, KDE Applications le Qt li lula li le teng le ho nchafatsoa ho fihlela likhatisong tsa morao-rao. Kstars ea ts'ebeliso e ncha (atlas ea linaleli) e kentsoe likoung.
    • Mosebetsi o entsoe ho felisa liphetoho tse khelohang ho mookameli oa fensetere ea xfwm4 e hlahileng ka mor'a ho ntlafatsa Xfce ho version 4.14 (mohlala, lintho tse entsoeng ka matsoho li ile tsa hlaha ha lifensetere li khabisa).
    • Boema-kepe ba Veine bo ntlafalitsoe ho lokolla Wine 5.0 (eo pele e neng e fanoa ka 4.0.3).
    • Ho qala ka mofuta oa 1.14, moqapi oa puo ea Go o kentse tšehetso ea semmuso bakeng sa meralo ea ARM64 bakeng sa FreeBSD 12.0.
    • OpenSSH tsamaisong ea motheo e ntlafalitsoe ho lokolla 7.9p1.
    • Laeborari ea sysctlmibinfo2 e kentsoe tšebetsong le ho beoa likoung (devel/libsysctlmibinfo2), e fana ka API bakeng sa ho fihlella sysctl MIB le ho fetolela mabitso a sysctl ho li-identifiers tsa ntho (OIDs).
    • Ho entsoe ntlafatso ea kabo NomadBSD 1.3.1, e leng khatiso ea FreeBSD e lokiselitsoeng ho sebelisoa e le "desktop bootable" e tsoang ho drive ea USB. Tikoloho ea litšoantšo e thehiloe ho mookameli oa fensetere Openbox. E sebelisetsoa ho kenya li-drive DSBMD (ho kenya CD9660, FAT, HFS +, NTFS, Ext2/3/4 e tšehetsoa), ho lokisa marang-rang a se nang mohala - wifimgr, le ho laola molumo - DSBMixer.
    • E qalile mosebetsi ka ho ngola litokomane tse felletseng bakeng sa mookameli oa tikoloho ea chankana pitsa. Pot 0.11.0 e ntse e lokisetsoa ho lokolloa, e tla kenyelletsa lisebelisoa tsa ho laola stack ea marang-rang.

Source: opennet.ru

Eketsa ka tlhaloso