Ijabọ Idagbasoke FreeBSD fun mẹẹdogun akọkọ ti 2020

atejade ṣe ijabọ lori idagbasoke iṣẹ akanṣe FreeBSD lati Oṣu Kini si Oṣu Kẹta 2020. Lara awọn iyipada a le ṣe akiyesi:

  • Gbogbogbo ati eto eto
    • Ti yọkuro eto alakojo GCC kuro lati inu igi orisun FreeBSD-CURRENT, bakannaa gperf ti ko lo, gcov ati gtc (akojọpọ ẹrọ) awọn ohun elo. Gbogbo awọn iru ẹrọ ti ko ṣe atilẹyin Clang ti yipada si lilo awọn irinṣẹ ikole ita ti a fi sori ẹrọ lati awọn ebute oko oju omi. Eto ipilẹ ti a firanṣẹ itusilẹ ti igba atijọ ti GCC 4.2.1, ati isọpọ ti awọn ẹya tuntun ko ṣee ṣe nitori iyipada ti 4.2.2 si iwe-aṣẹ GPLv3, eyiti a ka pe ko yẹ fun awọn paati ipilẹ FreeBSD. Awọn idasilẹ lọwọlọwọ ti GCC, pẹlu GCC 9, tun le fi sii lati awọn idii ati awọn ebute oko oju omi.
    • Awọn amayederun imulation ayika Linux (Linuxulator) ti ṣafikun atilẹyin fun ipe eto fifiranṣẹ, ipo TCP_CORK (ti a beere fun nginx), ati asia MAP_32BIT (yanju iṣoro naa pẹlu awọn idii ifilọlẹ pẹlu Mono lati Ubuntu Bionic). Awọn iṣoro pẹlu ipinnu DNS nigba lilo glibc tuntun ju 2.30 (fun apẹẹrẹ lati CentOS 8) ti ni ipinnu.
      Awọn amayederun iṣọpọ lemọlemọfún n pese agbara lati ṣiṣe awọn iṣẹ LTP (Iṣẹ Idanwo Linux) nṣiṣẹ Linuxulator lati ṣe idanwo awọn ilọsiwaju ti a ṣe si koodu lati ṣe atilẹyin Linux. O fẹrẹ to awọn idanwo 400 kuna ati nilo atunṣe (diẹ ninu awọn aṣiṣe ni o ṣẹlẹ nipasẹ awọn idaniloju eke, diẹ ninu awọn nilo awọn atunṣe bintin, ṣugbọn awọn miiran wa ti o nilo afikun atilẹyin fun awọn ipe eto titun lati ṣatunṣe). A ti ṣe iṣẹ lati nu koodu Linuxulator kuro ati ki o rọrun n ṣatunṣe aṣiṣe. Awọn abulẹ pẹlu atilẹyin fun awọn abuda ti o gbooro ati ipe eto fexecve ti pese, ṣugbọn ko sibẹsibẹ ṣe atunyẹwo.

    • Awọn ipade ti ẹgbẹ iṣiṣẹ ti a ṣẹda lati ṣe iṣiwa ti awọn koodu orisun lati inu eto iṣakoso orisun ti aarin Subversion si eto isọdọtun Git tẹsiwaju. Iroyin pẹlu awọn igbero fun ijira wa ninu ilana igbaradi.
    • В rtld (asopọ akoko asiko) ilọsiwaju ipo ipaniyan taara (“/libexec/ld-elf.so.1 {path} {arguments}”).
    • Ise agbese fun idanwo iruju ti ekuro FreeBSD nipa lilo eto syzkaller tẹsiwaju lati dagbasoke. Lakoko akoko ijabọ, awọn iṣoro ninu akopọ nẹtiwọọki ati koodu fun ṣiṣẹ pẹlu awọn tabili asọye faili ti a mọ nipa lilo syzkaller ti yọkuro. Ni atẹle ayẹwo aṣiṣe, awọn ayipada ti ni afikun si akopọ SCTP lati jẹ ki n ṣatunṣe aṣiṣe rọrun. Awọn ofin ti ni afikun si eto wahala2 lati ṣe idanimọ awọn ifasilẹyin ti o ṣeeṣe. Atilẹyin ti a ṣafikun fun idanwo fuzz ti awọn ipe eto tuntun, pẹlu copy_file_range (), __realpathat () ati awọn ipe subsystem Capsicum. Iṣẹ tẹsiwaju lati bo Layer emulation Layer pẹlu idanwo fuzz. A ṣe atupale ati imukuro awọn aṣiṣe ti a ṣe akiyesi ninu awọn ijabọ Iwoye Ideri tuntun.
    • Eto iṣọpọ lemọlemọfún ti yipada si ṣiṣe gbogbo awọn idanwo ẹka ori nikan ni lilo clang/ld. Nigbati o ba ṣe idanwo fun RISC-V, dida aworan disk pipe ni idaniloju fun ṣiṣe awọn idanwo ni QEMU ni lilo OpenSBI. Awọn iṣẹ-ṣiṣe tuntun ti a ṣafikun fun idanwo awọn aworan ati awọn ẹrọ foju powerpc64 (FreeBSD-head-powerpc64-images, FreeBSD-head-powerpc64-testvm).
    • Iṣẹ ti nlọ lọwọ lati gbe suite idanwo Kyua lati awọn ebute oko oju omi (devel / kyua) si eto ipilẹ lati yanju awọn iṣoro (awọn idii ti fi sori ẹrọ laiyara) ti o dide nigba lilo Kyua lori awọn ile-iṣọ tuntun, idagbasoke eyiti a ṣe nipasẹ lilo emulator tabi FPGA. Ijọpọ sinu eto ipilẹ yoo jẹ irọrun ni pataki idanwo ti awọn iru ẹrọ ti a fi sinu ati ni wiwo pẹlu awọn eto iṣọpọ ilọsiwaju.
    • A ti ṣe ifilọlẹ iṣẹ akanṣe lati mu iṣẹ ṣiṣe ti awakọ afara nẹtiwọki pọ si if_bridge, eyiti o nlo mutex ẹyọkan lati tii data inu inu, eyiti ko gba laaye iyọrisi iṣẹ ti o fẹ lori awọn eto pẹlu nọmba nla ti awọn agbegbe ẹwọn tabi awọn ẹrọ foju ti iṣọkan ni nẹtiwọọki kan. Ni ipele yii, a ti ṣafikun awọn idanwo si koodu lati yago fun awọn ifaseyin lati waye lakoko isọdọtun ti ṣiṣẹ pẹlu awọn titiipa. O ṣeeṣe ti lilo ConcurrencyKit lati ṣe afiwe awọn olutọju gbigbe data (bridge_input (), bridge_output (), bridge_forward (), ...) ni a gbero.
    • Ṣafikun ipe eto sigfastblock tuntun lati gba o tẹle ara kan lati ṣalaye bulọọki iranti kan fun oluṣakoso ami ifihan iyara lati mu ilọsiwaju iṣẹ ti awọn olutọju imukuro.
    • Ekuro ṣe afikun atilẹyin fun LSE (Imugboroosi Eto Nla) awọn ilana atomiki ti o ni atilẹyin nipasẹ awọn eto ARMv8.1. Awọn ilana wọnyi nilo lati mu ilọsiwaju ṣiṣẹ nigbati o nṣiṣẹ lori awọn igbimọ Cavium ThunderX2 ati AWS Graviton. Lakoko idanwo, lilo LSE jẹ ki o ṣee ṣe lati dinku akoko ero isise ti o lo nigbati o ba ṣajọpọ ekuro nipasẹ 2%.
    • Imudara iṣẹ ṣiṣe ti ṣe ati iṣẹ-ṣiṣe ti ohun elo irinṣẹ ti pọ si fun awọn faili ṣiṣe ni ọna kika ELF.
      Atilẹyin ti a ṣafikun fun fifipamọ alaye n ṣatunṣe aṣiṣe DWARF, awọn iṣoro ti o yanju ni awọn ohun elo elfcopy/objcopy, fikun sisẹ DW_AT_ranges,
      readelf ṣe imuse agbara lati ṣe iyipada PROTMAX_DISABLE, STKGAP_DISABLE ati awọn asia WXNEEDED, bakanna bi Xen ati GNU Build-ID.

  • Aabo
    • Lati mu iṣẹ ṣiṣe ti FreeBSD ni awọn agbegbe awọsanma Azure, iṣẹ n lọ lọwọ lati pese atilẹyin fun ẹrọ HyperV Socket, eyiti ngbanilaaye lilo wiwo iho fun ibaraenisepo laarin eto alejo ati agbegbe agbalejo laisi eto nẹtiwọọki kan.
    • Iṣẹ ti n lọ lọwọ lati pese awọn itumọ atunṣe ti FreeBSD, ti o jẹ ki o ṣee ṣe lati rii daju pe awọn faili ṣiṣe ti awọn paati eto ti wa ni akopọ ni deede lati awọn koodu orisun ti a kede ati pe ko ni awọn ayipada ajeji.
    • Agbara lati ṣakoso ifisi ti awọn ọna aabo afikun (ASLR, PROT_MAX, aafo akopọ, W + X maapu) ni ipele ti awọn ilana kọọkan ti ṣafikun si ohun elo elfctl.
  • Ibi ipamọ ati awọn ọna ṣiṣe faili
    • Iṣẹ n lọ lọwọ lati ṣe imuse agbara fun NFS lati ṣiṣẹ lori ikanni ibaraẹnisọrọ ti paroko ti o da lori TLS 1.3, dipo lilo Kerberos (ipo sec = krb5p), eyiti o ni opin si fifi ẹnọ kọ nkan awọn ifiranṣẹ RPC nikan ati imuse ni sọfitiwia nikan. Imuse tuntun nlo akopọ TLS ti a pese ekuro lati mu isare ohun elo ṣiṣẹ. NFS lori koodu TLS ti fẹrẹ ṣetan fun idanwo, ṣugbọn tun nilo iṣẹ lati ṣe atilẹyin awọn iwe-ẹri alabara ti o fowo si ati mu akopọ TLS ekuro lati firanṣẹ data NFS (awọn abulẹ fun gbigba ti ṣetan tẹlẹ).
  • Hardware support
    • Iṣẹ ti nlọ lọwọ lati ṣafikun atilẹyin fun Chinese x86 CPU Hygon da lori awọn imọ-ẹrọ AMD;
    • Gẹgẹbi apakan ti CheriBSD, orita ti FreeBSD fun faaji ero isise iwadi CHERI (Agbara Hardware Imudara Awọn ilana RISC), atilẹyin fun ero isise ARM Morello tẹsiwaju lati ṣe imuse, eyiti yoo ṣe atilẹyin eto iṣakoso wiwọle iranti CHERI ti o da lori awoṣe aabo iṣẹ akanṣe Capsicum. Morello ërún ti wa ni gbimọ Tu silẹ ni 2021. Iṣẹ ti wa ni idojukọ lọwọlọwọ lori fifi atilẹyin fun Arm Neoverse N1 Syeed ti o ni agbara Morello. Ibudo akọkọ ti CheriBSD fun faaji RISC-V ti gbekalẹ. Idagbasoke CheriBSD tẹsiwaju fun apẹrẹ itọkasi CHERI ti o da lori faaji MIPS64.
    • Porting FreeBSD tẹsiwaju fun 64-bit SoC NXP LS1046A ti o da lori ero isise ARMv8 Cortex-A72 pẹlu ẹrọ isare processing soso nẹtiwọọki kan, 10 Gb Ethernet, PCIe 3.0, SATA 3.0 ati USB 3.0. Lọwọlọwọ, awakọ QorIQ ati LS1046A, GPIO, QorIQ LS10xx AHCI, VF610 I2C, Epson RX-8803 RTC, QorIQ LS10xx SDHCI ti wa ni ipese fun gbigbe si ipilẹ FreeBSD akọkọ.
    • Awakọ ena ti ni imudojuiwọn si ẹya 2.1.1 pẹlu atilẹyin fun iran keji ti awọn oluyipada nẹtiwọki ENAv2 (Elastic Network Adapter) ti a lo ninu awọn amayederun Elastic Compute Cloud (EC2) lati ṣeto ibaraẹnisọrọ laarin awọn apa EC2 ni awọn iyara ti o to 25 Gb/ s. Imudojuiwọn si ENA 2.2.0 ti wa ni ipese.
    • Awọn ilọsiwaju si ibudo FreeBSD fun pẹpẹ powerpc64 tẹsiwaju. Idojukọ wa lori ipese iṣẹ didara lori awọn ọna ṣiṣe pẹlu IBM POWER8 ati awọn ilana POWER9. Lakoko akoko ijabọ, FreeBSD-CURRENT ti gbe lọ lati lo alakojo LLVM/Clang 10.0 ati ld linker dipo GCC. Nipa aiyipada, awọn ọna ṣiṣe powerpc64 lo ELFv2 ABI ati atilẹyin fun ELFv1 ABI ti dawọ duro. FreeBSD-STABLE tun ni gcc 4.2.1. Awọn iṣoro pẹlu virtio, aacraid ati awọn awakọ ixl ti ni ipinnu. Lori awọn ọna ṣiṣe agbarapc64 o ṣee ṣe lati ṣiṣẹ QEMU laisi atilẹyin Awọn oju-iwe nla.
    • Iṣẹ tẹsiwaju lati ṣe atilẹyin fun faaji RISC-V. Ni fọọmu lọwọlọwọ rẹ, FreeBSD ti ṣaṣeyọri ni aṣeyọri lori igbimọ SiFive Hifive Unleashed, eyiti a ti pese awọn awakọ
      UART, SPI ati PRCI, ṣe atilẹyin OpenSBI ati SBI 0.2 famuwia. Lakoko akoko ijabọ naa, iṣẹ ti dojukọ lori ijira lati GCC si clang ati ld.

  • Awọn ohun elo ati eto ibudo
    • Gbigba awọn ebute oko oju omi FreeBSD ti kọja iloro ti awọn ebute oko oju omi 39 ẹgbẹrun, nọmba awọn PRs ti a ko tii diẹ ju 2400 lọ, eyiti 640 PRs ko ti ni lẹsẹsẹ. Lakoko akoko ijabọ, awọn ayipada 8146 ni a ṣe lati ọdọ awọn idagbasoke 173. Awọn olukopa tuntun mẹrin gba awọn ẹtọ oluṣe (Loïc Bartoletti, Mikael Urankar, Kyle Evans, Lorenzo Salvadore). Ṣafikun USES=qca asia ati yọ USES=asia zope kuro (nitori aibaramu pẹlu Python 3). Iṣẹ ti nlọ lọwọ lati yọ Python 2.7 kuro ni igi awọn ibudo - gbogbo awọn ebute oko oju omi Python 2 gbọdọ wa ni gbigbe si Python 3 tabi yoo yọkuro. Alakoso package pkg ti ni imudojuiwọn lati tu silẹ 1.13.2.
    • Awọn paati akopọ eya aworan imudojuiwọn ati awọn ebute oko oju omi ti o ni ibatan.
      Olupin X.org ti ni imudojuiwọn si ẹya 1.20.8 (ti a firanṣẹ tẹlẹ lori ẹka 1.18), eyiti o fun laaye FreeBSD si aiyipada si lilo udev/evdev backend fun mimu awọn ẹrọ titẹ sii. Apo Mesa naa ti yipada lati lo itẹsiwaju DRI3 dipo DRI2 nipasẹ aiyipada. Iṣẹ n lọ lọwọ lati tọju awọn awakọ eya aworan, akopọ ẹrọ titẹ sii, ati awọn paati drm-kmod (ibudo kan ti o jẹ ki iṣẹ amdgpu, i915 ati awọn modulu DRM radeon, ni lilo ilana linuxkpi fun ibamu pẹlu Oluṣakoso Rendering taara ti ekuro Linux) fun asiko.

    • Kọǹpútà Plasma KDE, Awọn ilana KDE, Awọn ohun elo KDE ati Qt ti wa ni imudojuiwọn ati imudojuiwọn si awọn idasilẹ tuntun. Ohun elo tuntun kstars (star atlas) ti fi kun si awọn ibudo.
    • A ti ṣe iṣẹ lati yọkuro awọn ayipada ifasilẹyin ninu oluṣakoso window xfwm4 ti o han lẹhin mimu dojuiwọn Xfce si ẹya 4.14 (fun apẹẹrẹ, awọn ohun-ọṣọ farahan nigbati o ṣe ọṣọ awọn window).
    • Ibudo Waini ti ni imudojuiwọn lati tu silẹ Waini 5.0 (ti a funni tẹlẹ 4.0.3).
    • Bibẹrẹ pẹlu ẹya 1.14, alakojọ ede Go ṣafikun atilẹyin osise fun faaji ARM64 fun FreeBSD 12.0.
    • ṢiiSSH lori eto ipilẹ ti ni imudojuiwọn lati tu 7.9p1 silẹ.
    • Ile-ikawe sysctlmibinfo2 ti ni imuse ati gbe sinu awọn ebute oko oju omi (devel/libsysctlmibinfo2), pese API kan fun iwọle si sysctl MIB ati itumọ awọn orukọ sysctl sinu awọn idamọ ohun (OIDs).
    • Imudojuiwọn pinpin ti jẹ ipilẹṣẹ NomadBSD 1.3.1, eyiti o jẹ ẹya ti FreeBSD ti a ṣe atunṣe fun lilo bi tabili itẹwe to ṣee gbe lati kọnputa USB kan. Ayika ayaworan da lori oluṣakoso window kan Ṣii silẹ. Lo fun iṣagbesori drives DSBMD (iṣagbesori CD9660, FAT, HFS+, NTFS, Ext2/3/4 ni atilẹyin), lati tunto nẹtiwọọki alailowaya - wifimgrati lati ṣakoso iwọn didun - DSBMixer.
    • Bibẹrẹ Job lori kikọ iwe pipe fun oluṣakoso ayika tubu ikoko. Ikoko 0.11.0 ti wa ni ipese fun itusilẹ, eyiti yoo pẹlu awọn irinṣẹ fun iṣakoso akopọ nẹtiwọọki.

orisun: opennet.ru

Fi ọrọìwòye kun