ΠžΡ‚Ρ‡Ρ‘Ρ‚ ΠΎ Ρ€Π°Π·Π²ΠΈΡ‚ΠΈΠΈ FreeBSD Π·Π° ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ ΠΊΠ²Π°Ρ€Ρ‚Π°Π» 2020 Π³ΠΎΠ΄Π°

ΠžΠΏΡƒΠ±Π»ΠΈΠΊΠΎΠ²Π°Π½ ΠΎΡ‚Ρ‡Ρ‘Ρ‚ ΠΎ Ρ€Π°Π·Π²ΠΈΡ‚ΠΈΠΈ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° FreeBSD с января ΠΏΠΎ ΠΌΠ°Ρ€Ρ‚ 2020 Π³ΠΎΠ΄Π°. Из ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ ΠΌΠΎΠΆΠ½ΠΎ ΠΎΡ‚ΠΌΠ΅Ρ‚ΠΈΡ‚ΡŒ:

  • ΠžΠ±Ρ‰ΠΈΠ΅ ΠΈ систСмныС вопросы
    • Из Π΄Π΅Ρ€Π΅Π²Π° исходных тСкстов FreeBSD-CURRENT ΡƒΠ΄Π°Π»Ρ‘Π½ Π½Π°Π±ΠΎΡ€ компиляторов GCC, Π° Ρ‚Π°ΠΊΠΆΠ΅ Π½Π΅ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹Π΅ ΡƒΡ‚ΠΈΠ»ΠΈΡ‚Ρ‹ gperf, gcov ΠΈ gtc (компилятор devicetree). ВсС ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹, Π½Π΅ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°ΡŽΡ‰ΠΈΠ΅ Clang, ΠΏΠ΅Ρ€Π΅Π²Π΅Π΄Π΅Π½Ρ‹ Π½Π° использованиС внСшнСго сборочного инструмСнтария, устанавливаСмого ΠΈΠ· ΠΏΠΎΡ€Ρ‚ΠΎΠ². Π’ Π±Π°Π·ΠΎΠ²ΠΎΠΉ систСмС поставлялся ΡƒΡΡ‚Π°Ρ€Π΅Π²ΡˆΠΈΠΉ выпуск GCC 4.2.1, Π° интСграция Π±ΠΎΠ»Π΅Π΅ Π½ΠΎΠ²Ρ‹Ρ… вСрсий Π±Ρ‹Π»Π° Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Π° ΠΈΠ·-Π·Π° ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄Π° 4.2.2 Π½Π° Π»ΠΈΡ†Π΅Π½Π·ΠΈΡŽ GPLv3, которая Π±Ρ‹Π»Π° ΠΏΡ€ΠΈΠ·Π½Π°Π½Π° Π½Π΅ΠΏΡ€ΠΈΠ΅ΠΌΠ»Π΅ΠΌΠΎΠΉ для Π±Π°Π·ΠΎΠ²Ρ‹Ρ… ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠ² FreeBSD. ΠΠΊΡ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹Π΅ выпуски GCC, Π²ΠΊΠ»ΡŽΡ‡Π°Ρ GCC 9, ΠΊΠ°ΠΊ ΠΈ Ρ€Π°Π½ΡŒΡˆΠ΅, ΠΌΠΎΠΆΠ½ΠΎ ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ ΠΈΠ· ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ² ΠΈ ΠΏΠΎΡ€Ρ‚ΠΎΠ².
    • Π’ инфраструктурС эмуляции окруТСния Linux (Linuxulator) Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° систСмного Π²Ρ‹Π·ΠΎΠ²Π° sendfile, Ρ€Π΅ΠΆΠΈΠΌΠ° TCP_CORK (трСбуСтся для nginx), Ρ„Π»Π°Π³Π° MAP_32BIT (Ρ€Π΅ΡˆΠ°Π΅Ρ‚ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡƒ с запуском ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ² с Mono ΠΈΠ· Ubuntu Bionic). Π Π΅ΡˆΠ΅Π½Ρ‹ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹ с Ρ€Π΅Π·ΠΎΠ»Π²ΠΈΠ½Π³ΠΎΠΌ DNS ΠΏΡ€ΠΈ использовании glibc Π½ΠΎΠ²Π΅Π΅ 2.30 (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ ΠΈΠ· CentOS 8).
      Π’ инфраструктурС Π½Π΅ΠΏΡ€Π΅Ρ€Ρ‹Π²Π½ΠΎΠΉ ΠΈΠ½Ρ‚Π΅Π³Ρ€Π°Ρ†ΠΈΠΈ обСспСчСн запуск Π·Π°Π΄Π°Π½ΠΈΠΉ для запуска LTP (Linux Testing Project) ΠΏΠΎΠ΄ ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ΠΌ Linuxulator для тСстирования ΡƒΠ»ΡƒΡ‡ΡˆΠ΅Π½ΠΈΠΉ, вносимых Π² ΠΊΠΎΠ΄ для ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΈ Linux. Около 400 тСстов Π·Π°Π²Π΅Ρ€ΡˆΠ°ΡŽΡ‚ΡΡ ошибкой ΠΈ Ρ‚Ρ€Π΅Π±ΡƒΡŽΡ‚ исправлСния (Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ошибки Π²Ρ‹Π·Π²Π°Π½Ρ‹ Π»ΠΎΠΆΠ½Ρ‹ΠΌΠΈ срабатываниями, Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Ρ‚Ρ€Π΅Π±ΡƒΡŽΡ‚ Ρ‚Ρ€ΠΈΠ²ΠΈΠ°Π»ΡŒΠ½Ρ‹Ρ… исправлСний, Π½ΠΎ Π΅ΡΡ‚ΡŒ ΠΈ Ρ‚Π°ΠΊΠΈΠ΅, для устранСния ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Π½ΡƒΠΆΠ½ΠΎ Π΄ΠΎΠ±Π°Π²Π»ΡΡ‚ΡŒ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΡƒ Π½ΠΎΠ²Ρ‹Ρ… систСмных Π²Ρ‹Π·ΠΎΠ²ΠΎΠ²). ΠŸΡ€ΠΎΠ²Π΅Π΄Π΅Π½Π° Ρ€Π°Π±ΠΎΡ‚Π° ΠΏΠΎ чисткС ΠΊΠΎΠ΄Π° Linuxulator ΠΈ ΡƒΠΏΡ€ΠΎΡ‰Π΅Π½ΠΈΡŽ ΠΎΡ‚Π»Π°Π΄ΠΊΠΈ. ΠŸΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²Π»Π΅Π½Ρ‹, Π½ΠΎ Π΅Ρ‰Ρ‘ Π½Π΅ Ρ€Π΅Ρ†Π΅Π½Π·ΠΈΡ€ΠΎΠ²Π°Π½Ρ‹, ΠΏΠ°Ρ‚Ρ‡ΠΈ с ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΎΠΉ Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½Π½Ρ‹Ρ… Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚ΠΎΠ² ΠΈ систСмного Π²Ρ‹Π·ΠΎΠ²Π° fexecve.

    • ΠŸΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠ°ΡŽΡ‚ΡΡ засСдания Ρ€Π°Π±ΠΎΡ‡Π΅ΠΉ Π³Ρ€ΡƒΠΏΠΏΡ‹, созданной для провСдСния ΠΌΠΈΠ³Ρ€Π°Ρ†ΠΈΠΈ исходных тСкстов ΠΈΠ· Ρ†Π΅Π½Ρ‚Ρ€Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π½ΠΎΠΉ систСмы управлСния исходными тСкстами Subversion Π² Π΄Π΅Ρ†Π΅Π½Ρ‚Ρ€Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π½ΡƒΡŽ систСму Git. ΠžΡ‚Ρ‡Ρ‘Ρ‚ с прСдлоТСниями ΠΏΠΎ ΠΌΠΈΠ³Ρ€Π°Ρ†ΠΈΠΈ находится Π² процСссС ΠΏΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²ΠΊΠΈ.
    • Π’ rtld (runtime linker) ΡƒΠ»ΡƒΡ‡ΡˆΠ΅Π½ Ρ€Π΅ΠΆΠΈΠΌ прямого исполнСния («/libexec/ld-elf.so.1 {ΠΏΡƒΡ‚ΡŒ} {Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚Ρ‹}»).
    • ΠŸΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠ°Π΅Ρ‚ Ρ€Π°Π·Π²ΠΈΠ²Π°Ρ‚ΡŒΡΡ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ ΠΏΠΎ fuzzing-Ρ‚Π΅ΡΡ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΡŽ ядра FreeBSD с использованиСм систСмы syzkaller. Π—Π° ΠΎΡ‚Ρ‡Ρ‘Ρ‚Π½Ρ‹ΠΉ ΠΏΠ΅Ρ€ΠΈΠΎΠ΄ устранСны ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹ Π² сСтСвом стСкС ΠΈ ΠΊΠΎΠ΄Π΅ для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с Ρ‚Π°Π±Π»ΠΈΡ†Π°ΠΌΠΈ Ρ„Π°ΠΉΠ»ΠΎΠ²Ρ‹Ρ… дСскрипторов, выявлСнныС ΠΏΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ syzkaller. По слСдам диагностики ошибок Π² стСк SCTP Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Ρ‹ измСнСния, ΡƒΠΏΡ€ΠΎΡ‰Π°ΡŽΡ‰ΠΈΠ΅ ΠΎΡ‚Π»Π°Π΄ΠΊΡƒ. Π’ Π½Π°Π±ΠΎΡ€ stress2 Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Ρ‹ ΠΏΡ€Π°Π²ΠΈΠ»Π° для выявлСния Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Ρ‹Ρ… рСгрСссий. Π”ΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° fuzzing-тСстирования Π½ΠΎΠ²Ρ‹Ρ… систСмных Π²Ρ‹Π·ΠΎΠ²ΠΎΠ², Π²ΠΊΠ»ΡŽΡ‡Π°Ρ copy_file_range(), __realpathat() ΠΈ Π²Ρ‹Π·ΠΎΠ²Ρ‹ подсистСмы Capsicum. ΠŸΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠ°Π΅Ρ‚ΡΡ Ρ€Π°Π±ΠΎΡ‚Π° ΠΏΠΎ ΠΎΡ…Π²Π°Ρ‚Ρƒ fuzzing-тСстированиСм слоя эмуляции Linux. ΠŸΡ€ΠΎΠ²Π΅Π΄Ρ‘Π½ Ρ€Π°Π·Π±ΠΎΡ€ ΠΈ устранСниС ошибок, ΠΎΡ‚ΠΌΠ΅Ρ‡Π΅Π½Π½Ρ‹Ρ… Π² свСТих ΠΎΡ‚Ρ‡Ρ‘Ρ‚Π°Ρ… Coverity Scan.
    • Π’ систСмС Π½Π΅ΠΏΡ€Π΅Ρ€Ρ‹Π²Π½ΠΎΠΉ ΠΈΠ½Ρ‚Π΅Π³Ρ€Π°Ρ†ΠΈΠΈ осущСствлён ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ ΠΊ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΡŽ всСх тСстов Π²Π΅Ρ‚ΠΊΠΈ head Ρ‚ΠΎΠ»ΡŒΠΊΠΎ с использованиСм clang/lld. ΠŸΡ€ΠΈ тСстировании для RISC-V обСспСчСно Ρ„ΠΎΡ€ΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΏΠΎΠ»Π½ΠΎΠ³ΠΎ дискового ΠΎΠ±Ρ€Π°Π·Π° для запуска тСстов Π² QEMU с использованиСм OpenSBI. Π”ΠΎΠ±Π°Π²Π»Π΅Π½Ρ‹ Π½ΠΎΠ²Ρ‹Π΅ задания для тСстирования ΠΎΠ±Ρ€Π°Π·ΠΎΠ² ΠΈ Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹Ρ… машин powerpc64 (FreeBSD-head-powerpc64-images, FreeBSD-head-powerpc64-testvm).
    • ВСдётся Ρ€Π°Π±ΠΎΡ‚Π° ΠΏΠΎ пСрСносу тСстового Π½Π°Π±ΠΎΡ€Π° Kyua ΠΈΠ· ΠΏΠΎΡ€Ρ‚ΠΎΠ² (devel/kyua) Π² Π±Π°Π·ΠΎΠ²ΡƒΡŽ систСму для Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ (ΠΏΠ°ΠΊΠ΅Ρ‚Ρ‹ ставятся ΠΎΡ‡Π΅Π½ΡŒ ΠΌΠ΅Π΄Π»Π΅Π½Π½ΠΎ), Π²ΠΎΠ·Π½ΠΈΠΊΠ°ΡŽΡ‰ΠΈΡ… ΠΏΡ€ΠΈ использовании Kyua Π½Π° Π½ΠΎΠ²Ρ‹Ρ… Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Π°Ρ…, Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° для ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… вСдётся с использованиСм эмулятора ΠΈΠ»ΠΈ FPGA. Π˜Π½Ρ‚Π΅Π³Ρ€Π°Ρ†ΠΈΡ Π² Π±Π°Π·ΠΎΠ²ΡƒΡŽ систСму сущСствСнно упростит тСстированиС встраиваСмых ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌ ΠΈ сопряТСниС с систСмами Π½Π΅ΠΏΡ€Π΅Ρ€Ρ‹Π²Π½ΠΎΠΉ ΠΈΠ½Ρ‚Π΅Π³Ρ€Π°Ρ†ΠΈΠΈ.
    • Π‘Ρ‚Π°Ρ€Ρ‚ΠΎΠ²Π°Π» ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ ΠΏΠΎ ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€Π° сСтСвых мостов if_bridge, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ ΠΎΠ΄ΠΈΠ½ mutex для Π±Π»ΠΎΠΊΠΈΡ€ΠΎΠ²ΠΊΠΈ Π²Π½ΡƒΡ‚Ρ€Π΅Π½Π½ΠΈΡ… Π΄Π°Π½Π½Ρ‹Ρ…, Ρ‡Ρ‚ΠΎ Π½Π΅ позволяСт Π΄ΠΎΠ±ΠΈΡ‚ΡŒΡΡ ΠΆΠ΅Π»Π°Π΅ΠΌΠΎΠΉ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ Π½Π° систСмах с большим числом jail-ΠΎΠΊΡ€ΡƒΠΆΠ΅Π½ΠΈΠΉ ΠΈΠ»ΠΈ Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹Ρ… машин, ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½Ρ‘Π½Π½Ρ‹Ρ… Π² ΠΎΠ΄Π½Ρƒ ΡΠ΅Ρ‚ΡŒ. На Π΄Π°Π½Π½ΠΎΠΌ этапС Π² ΠΊΠΎΠ΄ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Ρ‹ тСсты, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΡ€Π΅Π΄ΠΎΡ‚Π²Ρ€Π°Ρ‚ΠΈΡ‚ΡŒ Π²ΠΎΠ·Π½ΠΈΠΊΠ½ΠΎΠ²Π΅Π½ΠΈΠ΅ рСгрСссий Π² процСссС ΠΌΠΎΠ΄Π΅Ρ€Π½ΠΈΠ·Π°Ρ†ΠΈΠΈ Ρ€Π°Π±ΠΎΡ‚Ρ‹ с Π±Π»ΠΎΠΊΠΈΡ€ΠΎΠ²ΠΊΠ°ΠΌΠΈ. РассматриваСтся Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ использования ConcurrencyKit для распараллСливания ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ² ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡ΠΈ Π΄Π°Π½Π½Ρ‹Ρ… (bridge_input(), bridge_output(), bridge_forward(), …).
    • Π”ΠΎΠ±Π°Π²Π»Π΅Π½ Π½ΠΎΠ²Ρ‹ΠΉ систСмный Π²Ρ‹Π·ΠΎΠ² sigfastblock, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‰ΠΈΠΉ ΠΏΠΎΡ‚ΠΎΠΊΡƒ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ Π±Π»ΠΎΠΊ памяти для быстрого ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ° сигналов с Ρ†Π΅Π»ΡŒΡŽ ΠΏΠΎΠ²Ρ‹ΡˆΠ΅Π½ΠΈΡ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ² ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠΉ.
    • Π’ ядрС Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° Π°Ρ‚ΠΎΠΌΠ°Ρ€Ρ‚Π½Ρ‹Ρ… инструкций LSE (Large System Extension), ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅ΠΌΡ‹Ρ… систСмами ARMv8.1. Π£ΠΊΠ°Π·Π°Π½Π½Ρ‹Π΅ инструкции Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹ для ΠΏΠΎΠ²Ρ‹ΡˆΠ΅Π½ΠΈΡ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ ΠΏΡ€ΠΈ Ρ€Π°Π±ΠΎΡ‚Π΅ Π½Π° ΠΏΠ»Π°Ρ‚Π°Ρ… Cavium ThunderX2 ΠΈ AWS Graviton 2. Π”ΠΎΠ±Π°Π²Π»Π΅Π½Π½Ρ‹Π΅ измСнСния ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΡŽΡ‚ Π½Π°Π»ΠΈΡ‡ΠΈΠ΅ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΈ LSE ΠΈ динамичСски Π²ΠΊΠ»ΡŽΡ‡Π°ΡŽΡ‚ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΡŽ atomic Π½Π° ΠΈΡ… основС. ΠŸΡ€ΠΈ тСстировании использованиС LSE ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΠ»ΠΎ Π½Π° 15% ΡΠ½ΠΈΠ·ΠΈΡ‚ΡŒ процСссорноС врСмя, расходуСмоС ΠΏΡ€ΠΈ сборкС ядра.
    • ΠŸΡ€ΠΎΠ²Π΅Π΄Π΅Π½Π° оптимизация ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ ΠΈ Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½Π° Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ инструмСнтария для исполняСмых Ρ„Π°ΠΉΠ»ΠΎΠ² Π² Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π΅ ELF.
      Π”ΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° ΠΊΡΡˆΠΈΡ€ΠΎΠ²Π°Π½ΠΈΡ ΠΎΡ‚Π»Π°Π΄ΠΎΡ‡Π½ΠΎΠΉ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ DWARF, Ρ€Π΅ΡˆΠ΅Π½Ρ‹ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹ Π² ΡƒΡ‚ΠΈΠ»ΠΈΡ‚Π°Ρ… elfcopy/objcopy, Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° DW_AT_ranges,
      Π² readelf Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π° Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ дСкодирования Ρ„Π»Π°Π³ΠΎΠ² PROTMAX_DISABLE, STKGAP_DISABLE ΠΈ WXNEEDED, Π° Ρ‚Π°ΠΊΠΆΠ΅ Xen ΠΈ GNU Build-ID.

  • Π‘Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡ‚ΡŒ
    • Для ΡƒΠ»ΡƒΡ‡ΡˆΠ΅Π½ΠΈΡ Ρ€Π°Π±ΠΎΡ‚Ρ‹ FreeBSD Π² ΠΎΠ±Π»Π°Ρ‡Π½Ρ‹Ρ… окруТСниях Azure вСдётся Ρ€Π°Π±ΠΎΡ‚Π° ΠΏΠΎ ΠΎΠ±Π΅ΡΠΏΠ΅Ρ‡Π΅Π½ΠΈΡŽ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΈ ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΠ° HyperV Socket, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‰Π΅Π³ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ интСрфСйс сокСтов для взаимодСйствия гостСвой систСмы с хост-ΠΎΠΊΡ€ΡƒΠΆΠ΅Π½ΠΈΠ΅ΠΌ Π±Π΅Π· настройки сСти.
    • ВСдётся Ρ€Π°Π±ΠΎΡ‚Π° ΠΏΠΎ ΠΎΠ±Π΅ΡΠΏΠ΅Ρ‡Π΅Π½ΠΈΡŽ повторяСмых сборок FreeBSD, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‰ΠΈΡ… ΡƒΠ΄ΠΎΡΡ‚ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒΡΡ, Ρ‡Ρ‚ΠΎ исполняСмыС Ρ„Π°ΠΉΠ»Ρ‹ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠ² систСмы собраны ΠΈΠΌΠ΅Π½Π½ΠΎ ΠΈΠ· заявлСнных исходных тСкстов ΠΈ Π½Π΅ содСрТит посторонних ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ.
    • Π’ ΡƒΡ‚ΠΈΠ»ΠΈΡ‚Ρƒ elfctl Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ управлСния Π²ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ΠΌ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΠΎΠ² Π·Π°Ρ‰ΠΈΡ‚Ρ‹ (ASLR, PROT_MAX, stack gap, W+X mapping) Π½Π° ΡƒΡ€ΠΎΠ²Π½Π΅ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹Ρ… процСссов
  • БистСмы хранСния ΠΈ Ρ„Π°ΠΉΠ»ΠΎΠ²Ρ‹Π΅ систСмы
    • ВСдётся Ρ€Π°Π±ΠΎΡ‚Π° ΠΏΠΎ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ возмоТности Ρ€Π°Π±ΠΎΡ‚Ρ‹ NFS ΠΏΠΎΠ²Π΅Ρ€Ρ… ΡˆΠΈΡ„Ρ€ΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ ΠΊΠ°Π½Π°Π»Π° связи Π½Π° Π±Π°Π·Π΅ TLS 1.3, вмСсто использования Kerberos (Ρ€Π΅ΠΆΠΈΠΌ sec=krb5p), ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ограничиваСтся ΡˆΠΈΡ„Ρ€ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ RPC-сообщСний ΠΈ рСализуСтся Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎ. Новая рСализация ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ прСдоставляСмый ядром стСк TLS, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‰ΠΈΠΉ Π·Π°Π΄Π΅ΠΉΡΡ‚Π²ΠΎΠ²Π°Ρ‚ΡŒ срСдства Π°ΠΏΠΏΠ°Ρ€Π°Ρ‚Π½ΠΎΠ³ΠΎ ускорСния. Код NFS ΠΏΠΎΠ²Π΅Ρ€Ρ… TLS ΡƒΠΆΠ΅ ΠΏΠΎΡ‡Ρ‚ΠΈ Π³ΠΎΡ‚ΠΎΠ² для тСстирования, Π½ΠΎ Π΅Ρ‰Ρ‘ Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ провСдСния Ρ€Π°Π±ΠΎΡ‚Ρ‹ ΠΏΠΎ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ΅ подписанных клиСнтских сСртификатов ΠΈ Π°Π΄Π°ΠΏΡ‚Π°Ρ†ΠΈΠΈ TLS-стСка ядра для ΠΎΡ‚ΠΏΡ€Π°Π²ΠΊΠΈ Π΄Π°Π½Π½Ρ‹Ρ… NFS (ΠΏΠ°Ρ‚Ρ‡ΠΈ для ΠΏΡ€ΠΈΡ‘ΠΌΠ° ΡƒΠΆΠ΅ Π³ΠΎΡ‚ΠΎΠ²Ρ‹).
  • ΠŸΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° оборудования
    • ВСдётся Ρ€Π°Π±ΠΎΡ‚Π° ΠΏΠΎ добавлСнию ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΈ китайских x86 CPU Hygon Π½Π° основС Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΉ AMD;
    • Π’ Ρ€Π°ΠΌΠΊΠ°Ρ… CheriBSD, отвСтвлСния ΠΎΡ‚ FreeBSD для ΠΈΡΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΎΠΉ процСссорной Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Ρ‹ CHERI (Capability Hardware Enhanced RISC Instructions), продолТаСтся рСализация ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΈ процСссора ARM Morello, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Ρ‚ΡŒ систСму управлСния доступом ΠΊ памяти CHERI, ΠΎΡΠ½ΠΎΠ²Π°Π½Π½ΡƒΡŽ Π½Π° ΠΌΠΎΠ΄Π΅Π»ΠΈ Π·Π°Ρ‰ΠΈΡ‚Ρ‹ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° Capsicum. Π§ΠΈΠΏ Morello ΠΏΠ»Π°Π½ΠΈΡ€ΡƒΡŽΡ‚ Π²Ρ‹ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ Π² 2021 Π³ΠΎΠ΄Ρƒ. Π’ настоящСС врСмя Ρ€Π°Π±ΠΎΡ‚Π° сосрСдоточСна Π½Π° Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠΈ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΈ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹ Arm Neoverse N1, Π»Π΅ΠΆΠ°Ρ‰Π΅ΠΉ Π² основС Morello. ΠŸΡ€Π΅Π΄ΡΡ‚Π°Π²Π»Π΅Π½ Π½Π°Ρ‡Π°Π»ΡŒΠ½Ρ‹ΠΉ ΠΏΠΎΡ€Ρ‚ CheriBSD для Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Ρ‹ RISC-V. ΠŸΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠ°Π΅Ρ‚ΡΡ Ρ€Π°Π·Π²ΠΈΡ‚ΠΈΠ΅ CheriBSD для эталонного ΠΏΡ€ΠΎΡ‚ΠΎΡ‚ΠΈΠΏΠ° CHERI Π½Π° Π±Π°Π·Π΅ Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Ρ‹ MIPS64.
    • ΠŸΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠ΅Π½ΠΎ ΠΏΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ FreeBSD для 64-разрядного SoC NXP LS1046A Π½Π° Π±Π°Π·Π΅ процСссора ARMv8 Cortex-A72 с ΠΈΠ½Ρ‚Π΅Π³Ρ€ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΌ Π΄Π²ΠΈΠΆΠΊΠΎΠΌ ускорСния ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ сСтСвых ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ², 10 Gb Ethernet, PCIe 3.0, SATA 3.0 ΠΈ USB 3.0. Π’ настоящСС врСмя для ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡ΠΈ Π² основной состав FreeBSD готовятся Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€Ρ‹ QorIQ ΠΈ LS1046A, GPIO, QorIQ LS10xx AHCI, VF610 I2C, Epson RX-8803 RTC, QorIQ LS10xx SDHCI.
    • Π”ΠΎ вСрсии 2.1.1 ΠΎΠ±Π½ΠΎΠ²Π»Ρ‘Π½ Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€ ena с ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΎΠΉ Π²Ρ‚ΠΎΡ€ΠΎΠ³ΠΎ поколСния сСтСвых Π°Π΄Π°ΠΏΡ‚Π΅Ρ€ΠΎΠ² ENAv2 (Elastic Network Adapter), ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹Ρ… Π² инфраструктурС Elastic Compute Cloud (EC2) для ΠΎΡ€Π³Π°Π½ΠΈΠ·Π°Ρ†ΠΈΠΈ связи ΠΌΠ΅ΠΆΠ΄Ρƒ ΡƒΠ·Π»Π°ΠΌΠΈ EC2 Π½Π° скоростях Π΄ΠΎ 25 Gb/s. Готовится ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ Π΄ΠΎ ENA 2.2.0.
    • ΠŸΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠ°Π΅Ρ‚ΡΡ ΡƒΡΠΎΠ²Π΅Ρ€ΡˆΠ΅Π½ΡΡ‚Π²ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΏΠΎΡ€Ρ‚Π° FreeBSD для ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹ powerpc64. ОсновноС Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ удСляСтся ΠΎΠ±Π΅ΡΠΏΠ΅Ρ‡Π΅Π½ΠΈΡŽ качСствСнной Ρ€Π°Π±ΠΎΡ‚Ρ‹ Π½Π° систСмах с процСссорами IBM POWER8 ΠΈ POWER9. Π—Π° ΠΎΡ‚Ρ‡Ρ‘Ρ‚Π½Ρ‹ΠΉ ΠΏΠ΅Ρ€ΠΈΠΎΠ΄ осущСствлён ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄ FreeBSD-CURRENT Π½Π° использованиС компилятора LLVM/Clang 10.0 ΠΈ ΠΊΠΎΠΌΠΏΠΎΠ½ΠΎΠ²Ρ‰ΠΈΠΊΠ° lld вмСсто GCC. По ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ для систСм powerpc64 задСйствован ELFv2 ABI, Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° ELFv1 ABI ΠΏΡ€Π΅ΠΊΡ€Π°Ρ‰Π΅Π½Π°. Π’ΠΎ FreeBSD-STABLE ΠΏΠΎΠΊΠ° остаётся gcc 4.2.1. Π Π΅ΡˆΠ΅Π½Ρ‹ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹ с Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€Π°ΠΌΠΈ virtio, aacraid ΠΈ ixl. На систСмах powerpc64 обСспСчСна Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ запуска QEMU Π±Π΅Π· ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΈ Huge Pages.
    • ΠŸΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠ΅Π½Π° Ρ€Π°Π±ΠΎΡ‚Π° ΠΏΠΎ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΈ Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Ρ‹ RISC-V. Π’ Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΌ Π²ΠΈΠ΄Π΅ FreeBSD ΡƒΠΆΠ΅ ΡƒΡΠΏΠ΅ΡˆΠ½ΠΎ загруТаСтся Π½Π° ΠΏΠ»Π°Ρ‚Π΅ SiFive Hifive Unleashed, для ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ ΠΏΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²Π»Π΅Π½Ρ‹ Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€Ρ‹
      UART, SPI ΠΈ PRCI, ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ ΠΏΡ€ΠΎΡˆΠΈΠ²ΠΊΡƒ OpenSBI ΠΈ SBI 0.2. Π—Π° ΠΎΡ‚Ρ‡Ρ‘Ρ‚Π½Ρ‹ΠΉ ΠΏΠ΅Ρ€ΠΈΠΎΠ΄ Ρ€Π°Π±ΠΎΡ‚Π° Π±Ρ‹Π»Π° сосрСдоточСна Π½Π° ΠΌΠΈΠ³Ρ€Π°Ρ†ΠΈΠΈ с GCC Π½Π° clang ΠΈ lld.

  • ΠŸΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ ΠΈ систСма ΠΏΠΎΡ€Ρ‚ΠΎΠ²
    • ΠšΠΎΠ»Π»Π΅ΠΊΡ†ΠΈΡ ΠΏΠΎΡ€Ρ‚ΠΎΠ² FreeBSD ΠΏΡ€Π΅ΠΎΠ΄ΠΎΠ»Π΅Π»Π° Ρ€ΡƒΠ±Π΅ΠΆ Π² 39 тысяч ΠΏΠΎΡ€Ρ‚ΠΎΠ², число Π½Π΅Π·Π°ΠΊΡ€Ρ‹Ρ‚Ρ‹Ρ… PR Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ ΠΏΡ€Π΅Π²Ρ‹ΡˆΠ°Π΅Ρ‚ 2400, ΠΈΠ· ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… 640 PR Π΅Ρ‰Ρ‘ Π½Π΅ Ρ€Π°Π·ΠΎΠ±Ρ€Π°Π½Ρ‹. Π—Π° ΠΎΡ‚Ρ‡Ρ‘Ρ‚Π½Ρ‹ΠΉ ΠΏΠ΅Ρ€ΠΈΠΎΠ΄ внСсСно 8146 ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ ΠΎΡ‚ 173 Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ². ΠŸΡ€Π°Π²Π° ΠΊΠΎΠΌΠΌΠΈΡ‚Ρ‚Π΅Ρ€Π° ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠ»ΠΈ Ρ‡Π΅Ρ‚Ρ‹Ρ€Π΅ Π½ΠΎΠ²Ρ‹Ρ… участника (Loïc Bartoletti, Mikael Urankar, Kyle Evans, Lorenzo Salvadore). Π”ΠΎΠ±Π°Π²Π»Π΅Π½ Ρ„Π»Π°Π³ USES=qca ΠΈ ΡƒΠ΄Π°Π»Ρ‘Π½ Ρ„Π»Π°Π³ USES=zope (ΠΈΠ·-Π·Π° нСсовмСстимости с Python 3). ВСдётся Ρ€Π°Π±ΠΎΡ‚Π° ΠΏΠΎ ΡƒΠ΄Π°Π»Π΅Π½ΠΈΡŽ Python 2.7 ΠΈΠ· Π΄Π΅Ρ€Π΅Π²Π° ΠΏΠΎΡ€Ρ‚ΠΎΠ² — всС завязанныС Π½Π° Python 2 ΠΏΠΎΡ€Ρ‚Ρ‹ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π±Ρ‹Ρ‚ΡŒ ΠΏΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Ρ‹ Π½Π° Python 3 ΠΈΠ»ΠΈ Π±ΡƒΠ΄ΡƒΡ‚ ΡƒΠ΄Π°Π»Π΅Π½Ρ‹. ΠŸΠ°ΠΊΠ΅Ρ‚Π½Ρ‹ΠΉ ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅Ρ€ pkg ΠΎΠ±Π½ΠΎΠ²Π»Ρ‘Π½ Π΄ΠΎ выпуска 1.13.2.
    • ΠžΠ±Π½ΠΎΠ²Π»Π΅Π½Ρ‹ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρ‹ графичСского стСка ΠΈ ΠΏΠΎΡ€Ρ‚Ρ‹, связанныС с xorg.
      CΠ΅Ρ€Π²Π΅Ρ€ X.org ΠΎΠ±Π½ΠΎΠ²Π»Ρ‘Π½ Π΄ΠΎ вСрсии 1.20.8 (Ρ€Π°Π½Π΅Π΅ ΠΏΠΎΡΡ‚Π°Π²Π»ΡΠ»Π°ΡΡŒ Π²Π΅Ρ‚ΠΊΠ° 1.18), Ρ‡Ρ‚ΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΠ»ΠΎ пСрСвСсти FreeBSD ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ Π½Π° использованиС бэкСнда udev/evdev для ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ устройств Π²Π²ΠΎΠ΄Π°. ΠŸΠ°ΠΊΠ΅Ρ‚ Mesa ΠΏΠ΅Ρ€Π΅Π²Π΅Π΄Ρ‘Π½ ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ Π½Π° использованиС Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΡ DRI3 вмСсто DRI2. ВСдётся Ρ€Π°Π±ΠΎΡ‚Π° ΠΏΠΎ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠ°Π½ΠΈΡŽ Π² Π°ΠΊΡ‚ΡƒΠ°Π»ΡŒΠ½ΠΎΠΌ состоянии графичСских Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€ΠΎΠ², стСка устройств Π²Π²ΠΎΠ΄Π° ΠΈ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠ² drm-kmod (ΠΏΠΎΡ€Ρ‚, ΠΎΠ±Π΅ΡΠΏΠ΅Ρ‡ΠΈΠ²Π°ΡŽΡ‰ΠΈΠΉ Ρ€Π°Π±ΠΎΡ‚Ρƒ DRM-ΠΌΠΎΠ΄ΡƒΠ»Π΅ΠΉ amdgpu, i915 ΠΈ radeon, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊ linuxkpi для совмСстимости с Direct Rendering Manager ядра Linux).

    • Π Π°Π±ΠΎΡ‡ΠΈΠΉ стол KDE Plasma, KDE Frameworks, KDE Applications ΠΈ Qt ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°ΡŽΡ‚ΡΡ Π² Π°ΠΊΡ‚ΡƒΠ°Π»ΡŒΠ½ΠΎΠΌ состоянии ΠΈ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½Ρ‹ Π΄ΠΎ самых свСТих выпусков. Π’ ΠΏΠΎΡ€Ρ‚Ρ‹ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΎ Π½ΠΎΠ²ΠΎΠ΅ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ kstars (Π·Π²Ρ‘Π·Π΄Π½Ρ‹ΠΉ атлас).
    • ΠŸΡ€ΠΎΠ²Π΅Π΄Π΅Π½Π° Ρ€Π°Π±ΠΎΡ‚Π° ΠΏΠΎ ΡƒΡΡ‚Ρ€Π°Π½Π΅Π½ΠΈΡŽ рСгрСссивных ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ Π² ΠΎΠΊΠΎΠ½Π½ΠΎΠΌ ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅Ρ€Π΅ xfwm4, Π²ΡΠΏΠ»Ρ‹Π²ΡˆΠΈΡ… послС обновлСния Xfce Π΄ΠΎ вСрсии 4.14 (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, появилась Π°Ρ€Ρ‚Π΅Ρ„Π°ΠΊΡ‚Ρ‹ ΠΏΡ€ΠΈ Π΄Π΅ΠΊΠΎΡ€ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ ΠΎΠΊΠΎΠ½).
    • ΠŸΠΎΡ€Ρ‚ с Wine ΠΎΠ±Π½ΠΎΠ²Π»Ρ‘Π½ Π΄ΠΎ выпуска Wine 5.0 (Ρ€Π°Π½Π΅Π΅ прСдлагался 4.0.3).
    • Начиная с вСрсии 1.14 Π² компиляторС языка Go Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΎΡ„ΠΈΡ†ΠΈΠ°Π»ΡŒΠ½Π°Ρ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Ρ‹ ARM64 для FreeBSD 12.0.
    • OpenSSH Π² Π±Π°Π·ΠΎΠ²ΠΎΠΉ систСмС ΠΎΠ±Π½ΠΎΠ²Π»Ρ‘Π½ Π΄ΠΎ выпуска 7.9p1.
    • Π Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π° ΠΈ Ρ€Π°Π·ΠΌΠ΅Ρ‰Π΅Π½Π° Π² ΠΏΠΎΡ€Ρ‚Π°Ρ… (devel/libsysctlmibinfo2) Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° sysctlmibinfo2, ΠΏΡ€Π΅Π΄ΠΎΡΡ‚Π°Π²Π»ΡΡŽΡ‰Π°Ρ API для доступа ΠΊ sysctl MIB ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡŽΡ‰Π°Ρ Ρ‚Ρ€Π°Π½ΡΠ»ΡΡ†ΠΈΡŽ ΠΈΠΌΡ‘Π½ sysctl Π² ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€Ρ‹ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² (OID).
    • Π‘Ρ„ΠΎΡ€ΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΎ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ дистрибутива NomadBSD 1.3.1, ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²Π»ΡΡŽΡ‰Π΅Π³ΠΎ собой Ρ€Π΅Π΄Π°ΠΊΡ†ΠΈΡŽ FreeBSD, Π°Π΄Π°ΠΏΡ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½ΡƒΡŽ для использования Π² качСствС пСрСносного Ρ€Π°Π±ΠΎΡ‡Π΅Π³ΠΎ стола, Π·Π°Π³Ρ€ΡƒΠΆΠ°Π΅ΠΌΠΎΠ³ΠΎ с USB-накопитСля. ГрафичСскоС ΠΎΠΊΡ€ΡƒΠΆΠ΅Π½ΠΈΠ΅ основано Π½Π° ΠΎΠΊΠΎΠ½Π½ΠΎΠΌ ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅Ρ€Π΅ Openbox. Для монтирования Π½Π°ΠΊΠΎΠΏΠΈΡ‚Π΅Π»Π΅ΠΉ примСняСтся DSBMD (поддСрТиваСтся ΠΌΠΎΠ½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ CD9660, FAT, HFS+, NTFS, Ext2/3/4), для настройки бСспроводной сСти — wifimgr, Π° для управлСния Π³Ρ€ΠΎΠΌΠΊΠΎΡΡ‚ΡŒΡŽ — DSBMixer.
    • ΠΠ°Ρ‡Π°Π»Π°ΡΡŒ Ρ€Π°Π±ΠΎΡ‚Π° ΠΏΠΎ написанию ΠΏΠΎΠ»Π½ΠΎΡ†Π΅Π½Π½ΠΎΠΉ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΠΈ для ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅Ρ€Π° jail-ΠΎΠΊΡ€ΡƒΠΆΠ΅Π½ΠΈΠΉ pot. Готовится ΠΊ выпуску pot 0.11.0, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ появятся срСдства управлСния сСтСвым стСком.

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ: opennet.ru

Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΉ