ΠŸΡ€ΠΎΠ΅ΠΊΡ‚ ΠΏΠΎ запуску ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ FreeBSD Π² Linux. ΠšΠ²Π°Ρ€Ρ‚Π°Π»ΡŒΠ½Ρ‹ΠΉ ΠΎΡ‚Ρ‡Ρ‘Ρ‚ FreeBSD

Π Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ FreeBSD ΠΎΠΏΡƒΠ±Π»ΠΈΠΊΠΎΠ²Π°Π»ΠΈ ΠΎΡ‚Ρ‡Ρ‘Ρ‚ ΠΎ Ρ€Π°Π·Π²ΠΈΡ‚ΠΈΠΈ Π·Π° Ρ‡Π΅Ρ‚Π²Ρ‘Ρ€Ρ‚Ρ‹ΠΉ ΠΊΠ²Π°Ρ€Ρ‚Π°Π» 2024 Π³ΠΎΠ΄Π°, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ упомянут ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ bsd-user-4-linux, Ρ€Π°Π·Π²ΠΈΠ²Π°ΡŽΡ‰ΠΈΠΉ инструмСнтарий для запуска Π² Linux ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ, собранных для FreeBSD. ЦСлью ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° заявлСно достиТСниС возмоТности собствСнной сборки, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ инструмСнтарий FreeBSD Π² Linux, Π° Ρ‚Π°ΠΊΠΆΠ΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΡΠΎΠ±ΠΈΡ€Π°Ρ‚ΡŒ ΠΏΠ°ΠΊΠ΅Ρ‚Ρ‹ для FreeBSD Π² Linux, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ Ρ€ΠΎΠ΄Π½ΠΎΠΉ сборочный инструмСнтарий FreeBSD.

Для запуска исполняСмых Ρ„Π°ΠΉΠ»ΠΎΠ² FreeBSD задСйствован Ρ„ΠΎΡ€ΠΊ эмулятора QEMU, Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‰ΠΈΠΉ Π² Ρ€Π΅ΠΆΠΈΠΌΠ΅ User Mode Emulation, ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½Π½ΠΎΠΌ для запуска процСссов, скомпилированных для Π΄Ρ€ΡƒΠ³ΠΈΡ… CPU ΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½Ρ‹Ρ… систСм. Π’ Π΄Π°Π½Π½ΠΎΠΌ Ρ€Π΅ΠΆΠΈΠΌΠ΅ QEMU выполняСт Ρ‚Ρ€Π°Π½ΡΠ»ΡΡ†ΠΈΡŽ систСмных Π²Ρ‹Π·ΠΎΠ²ΠΎΠ² ΠΈ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΡƒ сигналов. Для запуска ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ трСбуСтся Ρ€Π°Π·Π²Ρ‘Ρ€Ρ‚Ρ‹Π²Π°Π½ΠΈΠ΅ Π² локальном ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π΅ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊ ΠΈ настроСк ΠΈΠ· Π±Π°Π·ΠΎΠ²ΠΎΠΉ систСмы FreeBSD. ΠŸΡ€ΠΎΠ΅ΠΊΡ‚ ΠΌΠΎΠΆΠ½ΠΎ Ρ€Π°ΡΡΠΌΠ°Ρ‚Ρ€ΠΈΠ²Π°Ρ‚ΡŒ ΠΊΠ°ΠΊ BSDlator β€” ΠΎΠ±Ρ€Π°Ρ‚Π½Ρ‹ΠΉ Π°Π½Π°Π»ΠΎΠ³ Linuxulator.

На Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΌ этапС Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ запуск основных систСмных ΡƒΡ‚ΠΈΠ»ΠΈΡ‚ (sh, bash, find, grep, git, clang ΠΈ Ρ‚.ΠΏ.), поддСрТиваСтся динамичСскоС связываниС ΠΈ раздСляСмыС Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ, доступны сСтСвыС Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ. НапримСр, ΡƒΠΆΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠ΅Ρ€Π΅ΡΠΎΠ±Ρ€Π°Ρ‚ΡŒ FreeBSD ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ Β«make -j80 buildworldΒ», Π½Π°Ρ…ΠΎΠ΄ΡΡΡŒ Π² Linux. Из ΠΎΡ‚ΡΡƒΡ‚ΡΡ‚Π²ΡƒΡŽΡ‰Π΅ΠΉ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ отмСчаСтся Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ запуска ΠΎΡ‚Π»Π°Π΄Ρ‡ΠΈΠΊΠ° GDB, Π½Π΅Π΄ΠΎΡΡ‚ΡƒΠΏΠ½ΠΎΡΡ‚ΡŒ IPC, Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ kevent/kqueue ΠΈ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… sysctl (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, name2oid).

Π”ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ занимаСтся ΠΏΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²ΠΊΠΎΠΉ ΠΎΠ±Ρ€Π°Π·ΠΎΠ² ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ΠΎΠ² с Ρ€Π°Π±ΠΎΡ‡ΠΈΠΌ ΠΎΠΊΡ€ΡƒΠΆΠ΅Π½ΠΈΠ΅ΠΌ FreeBSD для Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€ (linux/386, linux/amd64, linux/arm/v5 ΠΈ linux/arm64/v8) ΠΈ прСдоставлСниСм GitHub Actions для формирования ΠΏΠΎΠ΄ΠΎΠ±Π½Ρ‹Ρ… ΠΎΠ±Ρ€Π°Π·ΠΎΠ².

Из Π΄Ρ€ΡƒΠ³ΠΈΡ… событий ΠΈΠ· ΠΊΠ²Π°Ρ€Ρ‚Π°Π»ΡŒΠ½ΠΎΠ³ΠΎ ΠΎΡ‚Ρ‡Ρ‘Ρ‚Π° FreeBSD ΠΌΠΎΠΆΠ½ΠΎ ΠΎΡ‚ΠΌΠ΅Ρ‚ΠΈΡ‚ΡŒ:

  • Π£Ρ‚ΠΈΠ»ΠΈΡ‚Π° mdo для запуска ΠΊΠΎΠΌΠ°Π½Π΄ ΠΏΠΎΠ΄ Π΄Ρ€ΡƒΠ³ΠΈΠΌ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΌ, похоТая Π½Π° ΡƒΡ‚ΠΈΠ»ΠΈΡ‚Ρƒ su, Π½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‰Π°Ρ вмСсто setuid ΠΌΠΎΠ΄ΡƒΠ»ΡŒ ядра mac_do ΠΈ систСмный Π²Ρ‹Π·ΠΎΠ² setcred.
  • Π Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€Π° AMD IOMMU для FreeBSD.
  • ΠŸΡ€ΠΎΠ΅ΠΊΡ‚ ΠΏΠΎ ΡƒΠ»ΡƒΡ‡ΡˆΠ΅Π½ΠΈΡŽ Ρ€Π°Π±ΠΎΡ‚Ρ‹ FreeBSD Π½Π° Π½ΠΎΡƒΡ‚Π±ΡƒΠΊΠ°Ρ….
  • ΠŸΡ€ΠΎΠ΅ΠΊΡ‚ ΠΏΠΎ ΠΌΠΎΠ΄Π΅Ρ€Π½ΠΈΠ·Π°Ρ†ΠΈΠΈ инфраструктуры.
  • Π Π°Π±ΠΎΡ‚Π° ΠΏΠΎ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ΅ Ρ€Π΅ΠΆΠΈΠΌΠΎΠ² Π½ΠΈΠ·ΠΊΠΎΠ³ΠΎ энСргопотрСблСния S0ix ΠΈ s2idle (Suspend-To-Idle).
  • Π£Π»ΡƒΡ‡ΡˆΠ΅Π½ΠΈΠ΅ Ρ€Π°Π±ΠΎΡ‚Ρ‹ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹ OpenStack Π²ΠΎ FreeBSD.
  • Π£Π»ΡƒΡ‡ΡˆΠ΅Π½ΠΈΠ΅ Π·Π²ΡƒΠΊΠΎΠ²ΠΎΠ³ΠΎ стСка FreeBSD.
  • Π£Π»ΡƒΡ‡ΡˆΠ΅Π½ΠΈΠ΅ Ρ€Π°Π±ΠΎΡ‚Ρ‹ OpenJDK Π²ΠΎ FreeBSD.
  • ΠœΠΎΠ΄Π΅Ρ€Π½ΠΈΠ·Π°Ρ†ΠΈΡ ΠΏΠ°ΠΊΠ΅Ρ‚Π½ΠΎΠ³ΠΎ ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅Ρ€Π° pkg для ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° PkgBase (ΠΎΡ„ΠΎΡ€ΠΌΠ»Π΅Π½ΠΈΠ΅ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠ² Π±Π°Π·ΠΎΠ²ΠΎΠΉ систСмы Π² Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π΅, ΠΏΡ€ΠΈΠ³ΠΎΠ΄Π½ΠΎΠΌ для управлСния ΠΈ обновлСния ΠΏΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ ΠΏΠ°ΠΊΠ΅Ρ‚Π½ΠΎΠ³ΠΎ ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅Ρ€Π° pkg).
  • Π’ΠΎΠ·ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ Ρ€Π°Π±ΠΎΡ‚Ρ‹ Π½Π°Π΄ Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€ΠΎΠΌ umb для MBIM USB 4G/5G ΠΌΠΎΠ΄Π΅ΠΌΠΎΠ².
  • ΠŸΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΈΠ· OpenBSD Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€Π° iwx для Wi-Fi Ρ‡ΠΈΠΏΠΎΠ² Intel.
  • ΠŸΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠ΅Π½ΠΈΠ΅ Ρ€Π°Π±ΠΎΡ‚Ρ‹ Π½Π°Π΄ прослойкой LinuxKPI для запуска Linux-Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€ΠΎΠ² ΠΊ бСспроводным Ρ‡ΠΈΠΏΠ°ΠΌ.
  • Число ΠΏΠΎΡ€Ρ‚ΠΎΠ² ΡΠΎΠΊΡ€Π°Ρ‚ΠΈΠ»ΠΎΡΡŒ с 36504 Π΄ΠΎ 36332. Π’ ΠΏΠΎΡ€Ρ‚Π°Ρ… ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½Ρ‹ Xfce 4.20, LXQt 2.1.0, PHP 8.3, KDE Plasma 6.2.4, Qt 6.8.1, Python 3.9.21 Python 3.11.11, Ruby 3.3.6, Rust 1.83.0, SDL 3.1.6, Sway 1.10, Tor Browser 14.0.3.
  • Π’Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ Π°ΡƒΠ΄ΠΈΡ‚ бСзопасности ΠΊΠΎΠ΄Π° подсистСм bhyve ΠΈ Capsicum.
  • БовмСстно с ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠ΅ΠΉ Framework вСдётся Ρ€Π°Π±ΠΎΡ‚Π° Π½Π°Π΄ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΎΠΉ Π²ΠΎ FreeBSD Π½ΠΎΡƒΡ‚Π±ΡƒΠΊΠΎΠ² Framework (ΡƒΠΆΠ΅ заявлСн ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅ΠΌΡ‹ΠΌ Framework Laptop 13 Π½Π° Π±Π°Π·Π΅ AMD Ryzen 7040).
  • ВСдётся Ρ€Π°Π±ΠΎΡ‚Π° ΠΏΠΎ добавлСнию Π² инсталлятор Ρ€Π΅ΠΆΠΈΠΌΠΎΠ² восстановлСния ΠΈ обновлСния систСмы, Π° Ρ‚Π°ΠΊΠΆΠ΅ возмоТности установки ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ² Π² Live-окруТСниях.
  • ΠŸΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠ°Π΅Ρ‚ΡΡ ΠΏΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ FreeBSD Π½Π° смартфон Pinephone Pro.
  • Π Π°Π·Π²ΠΈΠ²Π°ΡŽΡ‚ΡΡ инструмСнтарии AppJail ΠΈ Director ΠΈ LittleJet для ΠΎΡ€Π³Π°Π½ΠΈΠ·Π°Ρ†ΠΈΠΈ Ρ€Π°Π±ΠΎΡ‚Ρ‹ с OCI-совмСстимыми ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Π°ΠΌΠΈ Π²ΠΎ FreeBSD, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌ изоляции FreeBSD jail.
  • РазвиваСтся инструмСнтарий Pot для управлСния ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Π°ΠΌΠΈ Π½Π° Π±Π°Π·Π΅ jail-ΠΎΠΊΡ€ΡƒΠΆΠ΅Π½ΠΈΠΉ, ZFS, pf ΠΈ rctl, ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°ΡŽΡ‰ΠΈΠΉ ΠΈΠ½Ρ‚Π΅Π³Ρ€Π°Ρ†ΠΈΡŽ с ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠΎΠΉ оркСстровки ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ΠΎΠ² nomad. ΠŸΡ€Π΅Π΄Π»Π°Π³Π°Π΅Ρ‚ΡΡ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ ΠΎΠ±Ρ€Π°Π·ΠΎΠ² ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ΠΎΠ² Potluck, Π²Ρ‹ΡΡ‚ΡƒΠΏΠ°ΡŽΡ‰ΠΈΠΉ Π°Π½Π°Π»ΠΎΠ³ΠΎΠΌ Dockerhub для FreeBSD.
  • ВСдётся Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° графичСского интСрфСйса для управлСния систСмой Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ Π½Π° Π±Π°Π·Π΅ Π³ΠΈΠΏΠ΅Ρ€Π²ΠΈΠ·ΠΎΡ€Π° Bhyve. Для Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Freepascal/Lazarus.

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

0 0 голоса
Π Π΅ΠΉΡ‚ΠΈΠ½Π³ ΡΡ‚Π°Ρ‚ΡŒΠΈ
ΠŸΠΎΠ΄ΠΏΠΈΡΠ°Ρ‚ΡŒΡΡ
Π£Π²Π΅Π΄ΠΎΠΌΠΈΡ‚ΡŒ ΠΎ
0 ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠ΅Π²
Π‘Ρ‚Π°Ρ€Ρ‹Π΅
НовыС ΠŸΠΎΠΏΡƒΠ»ΡΡ€Π½Ρ‹Π΅
ΠœΠ΅ΠΆΡ‚Π΅ΠΊΡΡ‚ΠΎΠ²Ρ‹Π΅ ΠžΡ‚Π·Ρ‹Π²Ρ‹
ΠŸΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ всС ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΈ
0
ΠžΡΡ‚Π°Π²ΡŒΡ‚Π΅ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΉ! ΠΠ°ΠΏΠΈΡˆΠΈΡ‚Π΅, Ρ‡Ρ‚ΠΎ Π΄ΡƒΠΌΠ°Π΅Ρ‚Π΅ ΠΏΠΎ ΠΏΠΎΠ²ΠΎΠ΄Ρƒ ΡΡ‚Π°Ρ‚ΡŒΠΈ.x