Новая Unix-like ОБ Bunnyx, дошСдшая Π΄ΠΎ Ρ€Π΅Π»ΠΈΠ·Π° мСньшС Ρ‡Π΅ΠΌ Π·Π° мСсяц

Π”Ρ€ΡŽ Π”Π΅Π’ΠΎΠ»Ρ‚ (Drew DeVault), Π°Π²Ρ‚ΠΎΡ€ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΎΠ³ΠΎ окруТСния Sway, ΠΏΠΎΡ‡Ρ‚ΠΎΠ²ΠΎΠ³ΠΎ ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π° Aerc, ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹ совмСстной Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ SourceHut ΠΈ языка программирования Hare, сообщил, Ρ‡Ρ‚ΠΎ ΠΎΠ½ смог Π½Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ ΡΠΎΠ±ΡΡ‚Π²Π΅Π½Π½ΡƒΡŽ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΡŽ ΠΊΠ»ΠΎΠ½Π° UNIX всСго Π·Π° 27 Π΄Π½Π΅ΠΉ. Автор Π½Π°Π·Π²Π°Π» свою ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΡƒΡŽ систСму Bunnix.

БистСма являСтся ΠΌΠΎΠ½ΠΎΠ»ΠΈΡ‚Π½ΠΎΠΉ Unix-like ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉ систСмой, написанной Π½Π° Hare с нСбольшими Π²ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡΠΌΠΈ языка C.

Π’ ΡŽΠ·Π΅Ρ€ΡΠΏΠ΅ΠΉΡΠ΅ сдСлана сборка ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΡ… инструмСнтов:

  • dash (/bin/sh)
  • gzip
  • less (pager)
  • lok (/bin/awk)
  • lolcat
  • mandoc (man pages)
  • sbase (core utils)1
  • tcc (C compiler)
  • Vim 5.7

Π’Π°ΠΊ ΠΆΠ΅ для дСмонстрации возмоТностСй систСмы Π±Ρ‹Π»ΠΈ собраны ΠΈΠ³Ρ€Ρ‹ Doom ΠΈ Colossal Cave Adventure.

БистСму ΠΌΠΎΠΆΠ½ΠΎ Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ QEmu ΠΈΠ»ΠΈ Π·Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ Π½Π° USB-Ρ„Π»Π΅ΡˆΠΊΡƒ. Π Π°Π±ΠΎΡ‚Π° с самим USB Π½Π΅ поддСрТиваСтся, поэтому Π½Π° Ρ€Π΅Π°Π»ΡŒΠ½ΠΎΠΌ ΠΆΠ΅Π»Π΅Π·Π΅ Π½Π°Π΄ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ PS2/ΠΊΠ»Π°Π²ΠΈΠ°Ρ‚ΡƒΡ€Ρƒ. Π’ ядрС ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°ΡŽΡ‚ΡΡ Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€Ρ‹:

  • PCI,
  • устройства AHCI,
  • Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ Ρ€Π°Π·Π΄Π΅Π»ΠΎΠ² GPT ΠΈ MBR,
  • ΠΊΠ»Π°Π²ΠΈΠ°Ρ‚ΡƒΡ€Π° PS/2,
  • ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ ΠΏΠΎΡ€Ρ‚Ρ‹ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹,
  • КМОП-часы,
  • Ρ„Ρ€Π΅ΠΉΠΌΠ±ΡƒΡ„Π΅Ρ€,
  • файловая систСма ext4 ΠΈ memfs (Ρ‡Π΅Ρ€Π΅Π· lwext4).

Π€ΡƒΠ½ΠΊΡ†ΠΈΠΈ ядра Π²ΠΊΠ»ΡŽΡ‡Π°ΡŽΡ‚ Π² сСбя:

  • Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½ΡƒΡŽ Ρ„Π°ΠΉΠ»ΠΎΠ²ΡƒΡŽ систСму,
  • /dev, /dev/kbd ΠΈ /dev/fb0,
  • ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ ΠΈ VideoTTY,
  • ΡƒΠΏΡ€Π°Π²Π»ΡΡŽΡ‰ΠΈΠΉ Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π» /dev/tty,
  • эмулятор Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π»Π°,
  • termios,
  • ΠΎΠΊΠΎΠ»ΠΎ 40 систСмных Π²Ρ‹Π·ΠΎΠ²ΠΎΠ² (clock_gettime, poll, openat, fork, exec, Pipe, dup, dup2, ioctl ΠΈ Ρ‚. Π΄.)

Автор сдСлал этот ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ для собствСнного интСрСса ΠΈ Π½Π΅ собираСтся Π΅Π³ΠΎ Ρ€Π°Π·Π²ΠΈΠ²Π°Ρ‚ΡŒ дальшС. Π•Π³ΠΎ интСрСсовало насколько просто ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ ядро ΠΈ ΠΏΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ стороннСС ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ΅ обСспСчСниС с использованиСм соврСмСнного инструмСнтария. Как Π³ΠΎΠ²ΠΎΡ€ΠΈΡ‚ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ, стороннСС ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ΅ обСспСчСниС Π±Ρ‹Π»ΠΎ ΠΎΡ‚Π½ΠΎΡΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ Π»Π΅Π³ΠΊΠΎ ΠΏΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ благодаря Ρ‚ΠΎΠΌΡƒ, Ρ‡Ρ‚ΠΎ Π΅Π³ΠΎ libc Π±Ρ‹Π»Π° основана Π½Π° musl libc, вслСдствиС Ρ‡Π΅Π³ΠΎ ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΡ‹ libc Π±Ρ‹Π»ΠΈ Π»Π΅Π³ΠΊΠΎ Π°Π΄Π°ΠΏΡ‚ΠΈΡ€ΠΎΠ²Π°Π½Ρ‹ для Ρ€Π°Π±ΠΎΡ‚Ρ‹ Π½Π° Bunnix.

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