Toaruos-NIH adalah distribusi Toaruos yang tidak mengandung komponen pihak ketiga. Bootloader, kernel, modul, perpustakaan C, dan aplikasi dan perpustakaan Userspace semuanya ditulis oleh tim pengembangan Toaruos dan kontributor langsung.
Distribusi ini bertujuan untuk pada akhirnya menggantikan inti dari jalur utama Toaruos, dengan berbagai komponen pihak ketiga yang membangun terhadap perpustakaan C kita sendiri. Ini adalah proyek jangka panjang, dan mengembangkan perpustakaan C ke titik di mana ia berguna untuk tujuan ini tidak diharapkan akan diselesaikan untuk beberapa waktu.
Toaruos-NIH hadir dengan lingkungan desktop grafis dengan pengelola jendela yang komposit, emulator terminal yang menonjol, shell, beberapa alat baris perintah, editor teks (dengan sintaksis sintaks), loader dinamis, dan dapat meng-host Python 3.6 (yang termasuk dalam rilis CD pra-built). Kernel dan termasuk driver mendukung hard disk ATA dan drive CD, sistem file ext2, sistem file ISO 9660, tikus dan keyboard PS/2, Serial RS232, Intel E1000, RTL8139, dan Virtual Frame (TCP/IPV4, dan beberapa virtual. framebuffers initialized by EFI), advanced VM integration (including absolute pointing devices in VMware, QEMU, and VirtualBox, as well as automatic display resizing, "Seamless Desktop" and hardware cursors in VirtualBox specifically), an implementation of the /proc virtual filesystem, Unix-style pipes and TTYs, shared memory, in-memory read-write temporary filesystem, Audio Intel AC'97 (dengan mixer), dan banyak lagi.
Rilis sesekali diposting di GitHub, dan Nightlies tersedia dari Toaruos.org.
Dianjurkan agar Anda menjalankan Toaruos -NIH dalam emulator - khususnya QEMU atau VirtualBox, meskipun beberapa pengujian telah dilakukan di Workstation VMware (masuk akal, tetapi dukungan driver yang hilang) dan BOCH (tidak disarankan).
1GB RAM dan chip suara Intel AC'97 direkomendasikan:
qemu-system-i386 -cdrom image.iso -serial mon:stdio -m 1G -soundhw ac97,pcspk -enable-kvm -rtc base=localtime
Anda juga dapat menggunakan OVMF dengan target sistem QEMU yang sesuai. EFI Loader kami mendukung IA32 dan X64 EFIS:
qemu-system-x86_64 -cdrom image.iso -serial mon:stdio -m 1G -soundhw ac97,pcspk -enable-kvm -rtc base=localtime
-bios /usr/share/qemu/OVMF.fd
qemu-system-i386 -cdrom image.iso -serial mon:stdio -m 1G -soundhw ac97,pcspk -enable-kvm -rtc base=localtime
-bios /path/to/OVMFia32.fd
Toaruos harus berfungsi sebagai tamu "lain/tidak dikenal" atau tamu "lain/uknom 64-bit" dengan EFI.
Semua opsi chipset jaringan harus berfungsi kecuali untuk virtio-net (bekerja pada driver virtio belum dimulai).
Sangat disarankan, karena adanya driver penambahan tamu, bahwa Anda memberi VM Anda setidaknya 32MB memori video untuk mendukung resolusi tampilan yang lebih besar - terutama jika Anda menggunakan layar 4K.
Pastikan pengontrol audio diatur ke ICH AC97 dan bahwa output audio diaktifkan (karena dinonaktifkan secara default di beberapa versi VirtualBox).
Jaga agar chipset sistem diatur ke PIIX3 untuk kompatibilitas terbaik. 1GB RAM direkomendasikan.
Dukungan untuk VMware bersifat eksperimental.
Pada saat menulis, konfigurasi berikut telah diuji berfungsi:
Menggunakan Bochs untuk menjalankan Toaruos tidak disarankan; Namun opsi konfigurasi berikut disarankan jika Anda ingin mencobanya:
pcivga diaktifkan atau Toaruos tidak akan dapat menemukan kartu video melalui PCI.e1000 menggunakan backend slirp .sync=realtime, time0=local, rtc_sync=1 disarankan. Semua kode sumber untuk seluruh sistem operasi termasuk dalam repositori ini.
Kernel NIH pada dasarnya sama dengan kernel arus utama, meskipun vendor PCI dan daftar ID perangkat telah diganti dengan versi kami yang ramping. Ini adalah satu-satunya elemen pihak ketiga dari kernel Toaruos. Selain itu, header untuk kernel telah dipindahkan dari direktori aslinya untuk memfasilitasi bangunan yang lebih bersih. Kernel NIH harus dianggap sebagai versi terbaru dari kernel Toaruos.
Toaruos utama dikirimkan dengan Grub, yang menyediakan loader ELF yang kompatibel dengan multiboot. Untuk itu, bootloader asli kami juga mengimplementasikan multiboot. Namun, karena menulis bootloader fitur-lengkap bukanlah tujuan dari proyek ini, bootloader asli sangat terbatas, hanya mendukung ATAPI CD pada sistem dengan dukungan "tanpa emulasi" El Torito. Ini tidak dijamin untuk bekerja pada perangkat keras nyata, tetapi telah diuji di qemu, bochs, virtualbox, dan vmware player.
Userspace menyertakan perpustakaan standar C yang sedang bekerja, perpustakaan asli Toaruos, kompositor (hanya menggunakan rutinitas grafis in-house), dan berbagai utilitas dan aplikasi pihak pertama lainnya.
Pertama, pastikan Anda memiliki alat build yang diperlukan, yang sebagian besar sama dengan Toaruos arus utama: yasm , xorriso , genext2fs (dengan patch debian), python , mtools (untuk membangun muatan EFI lemak) dan gnu-efi life yang lebih mudah di masa depan) untuk masa depan.
Jalankan make dan Anda akan diminta untuk membangun toolchain. Balas y dan biarkan toolchain membangun.
Ada instruksi tentang membangun Python 3.6 yang tersedia dari Gitlab Wiki.
Saat ini hanya terminal yang mendukung menggunakan Freetype sebagai backend teks, tetapi ini akan diperluas di masa depan.
Freetype harus membangun apa adanya, meskipun libtool perlu diajarkan cara membangun objek bersama untuk Toaruos yang disebut libfreetype.so - ini dibiarkan sebagai latihan untuk pembaca sampai saya punya waktu untuk memformalkan proses.
Setelah Freetype dibangun dan diinstal ke base/usr , make ext-freetype akan membangun perpustakaan ekstensi. Tempatkan font yang diperlukan, yang bisa Anda dapatkan dari Maineline Toaruos, di base/usr/share/fonts .
Dengan font yang tersedia, skrip build akan membangun ramdisk yang lebih besar untuk mengakomodasi file tambahan. Server font akan secara otomatis berjalan pada startup jika target boot GUI dipilih, dan terminal akan secara otomatis menggunakan backend freetype jika dimuat.
Kompositor dapat menggunakan Kairo untuk rendering, yang meningkatkan kinerja di atas blitter yang diakelerasi SSE di rumah naif.
Tidak ada kompatibilitas ABI atau API yang dijamin melalui pengembangan Toaruos-NIH. Sampai korpus yang lebih besar dari perangkat lunak pihak ketiga diangkut ke perpustakaan C baru kami, API dapat berubah untuk meningkatkan atau menyederhanakan penggunaan perpustakaan, atau untuk memperbaiki bug. Bahkan kompatibilitas kernel ABI tidak dijamin karena panggilan sistem ditingkatkan atau dibuat lebih sesuai dengan harapan POSIX atau standar C.
Kernel Toaruos sepenuhnya di rumah. Namun, ruang penggunanya dibangun di beberapa perpustakaan dan alat pihak ketiga, seperti perpustakaan Newlib C, Freetype, Cairo, Libpng, dan terutama Python. Sementara keputusan untuk membangun Toaruos pada teknologi ini sama sekali tidak dianggap sebagai kesalahan, kemungkinan tetap untuk membangun ruang pengguna sepenuhnya dari awal.
Banyak tujuan awal kami telah dipenuhi, termasuk dukungan perpustakaan C yang cukup untuk Port Python 3.6.
Tujuan kami yang belum terpenuhi saat ini meliputi:
base/usr/include , serta sumber daya grafis untuk kompositor dan dekorator jendela.Toaruos-NIH secara teratur dicerminkan ke beberapa situs hosting git. Sumber yang disarankan adalah Gitlab.