NIH TOARUOS NIH是毒素的分佈,其中不包含第三方組件。它的引導加載程序,內核,模塊,C庫和用戶空間應用程序和庫都是由Toaruos開發團隊和直接貢獻者編寫的。
該分佈旨在最終取代主線Toaruos的核心,並在我們自己的C庫中建造各種第三方組件。這是一個長期的項目,並將C庫開發到對此目的有用的地步,預計將在相當長的一段時間內完成。
NIH TOARUOS-NIH帶有一個圖形桌面環境,帶有合成窗口管理器,功能符號的終端模擬器,外殼,幾個命令行工具,文本編輯器(帶有語法突出顯示),動態加載程序,並且可以主機Python 3.6(包括在預構建的CD版本中)。內核和包括驅動程序支持ATA硬盤和CD驅動器,EXT2文件系統,ISO 9660文件系統,PS/2小鼠和鍵盤,RS232 rs232 Serial,Intel E1000,RTL8139,RTL8139和AMD PCNET-PCNET Series網絡網絡網絡芯片,TCP/IPV4,幾個Fivtical圖形和QMCH(包括BOCH)(包括BOCH)(包括BOCH)(包括BOCH)(包括BOCH) 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, Intel AC'97音頻(帶有混音器)等等。
發行版偶爾會發佈在Github上,夜間單位可從toaruos.org獲得。
建議您在模擬器中運行TOARUOS -NIH - 特別是QEMU或VirtualBox,儘管在VMware Workstation(合理的,但缺少驅動程序支持)和BOCH(不建議)中進行了一些測試。
建議使用1GB的RAM和Intel AC'97聲音芯片:
qemu-system-i386 -cdrom image.iso -serial mon:stdio -m 1G -soundhw ac97,pcspk -enable-kvm -rtc base=localtime
您也可以將OVMF與適當的QEMU系統目標使用。我們的EFI裝載機支持IA32和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應該用EFI作為“其他/未知”來賓或“其他/UKNOWN 64位”來賓。
除virtio-net外,所有網絡芯片組選項均應起作用(尚未在Virtio驅動程序上使用)。
強烈建議您,由於存在訪客驅動程序,因此您為VM提供至少32MB的視頻內存以支持較大的顯示屏分辨率 - 尤其是在使用4K顯示屏時。
確保將音頻控制器設置為ICH AC97並啟用音頻輸出(因為默認情況下,在某些版本的VirtualBox中被禁用)。
將系統芯片組設置在PIIX3上,以獲得最佳兼容性。建議使用1GB的RAM。
對VMware的支持是實驗性的。
截至編寫時,以下配置已被測試為功能:
不建議使用Bochs運行toaruos;但是,如果您想嘗試一下,建議使用以下配置選項:
pcivga設備,否則Toaruos將無法通過PCI找到視頻卡。slirp後端啟用e1000網絡設備。sync=realtime, time0=local, rtc_sync=1 。 整個操作系統的所有源代碼都包含在此存儲庫中。
NIH內核與主線內核基本相同,儘管PCI供應商和設備ID列表已替換為我們自己的縮寫版本。這是Toaruos內核的唯一第三方元素。此外,內核的標題已從其原始目錄中搬遷,以促進更清潔的構建。 NIH內核應被視為Toaruos內核的最新版本。
Mainline Toaruos用grub運送,該grub提供了兼容兼容的精靈裝載機。為此,我們的本機啟動加載程序還實現了Multiboot。但是,由於編寫功能完整的引導加載程序不是該項目的目標,因此本機引導加載程序非常有限,僅支持El Torito“ no-no-emulation”支持的系統上的ATAPI CD。它不能保證在實際硬件上使用,但已在QEMU,BOCHS,VirtualBox和VMware Player中進行了測試。
用戶空間包括一個過程中的C標準庫,Toaruos本機庫,合成器(僅使用內部圖形例程)以及其他各種第一方實用程序和應用程序。
首先,確保您擁有必要的構建工具,這些工具與Mainline Toaruos: yasm , xorriso , genext2fs (帶有Debian Patches), python , mtools (用於構建脂肪EFI有效載荷)和GNU-efi和gnu-efi (我將更輕鬆地探索實現自己的企業,但現在可以探索EFI啟動器(我將在未來)中進行實現,但現在可以探索GN,但現在就可以努力。
運行make ,將提示您構建工具鏈。回复y並允許工具鏈構建。
有有關Gitlab Wiki可用的python 3.6的說明。
當前,只有終端支持使用freetype作為文本渲染後端,但這將來會擴展。
Freetype應該大部分構建原樣,儘管需要教授Libtool如何為toaruos構建一個稱為libfreetype.so的共享對象。
建立並安裝到base/usr freetype後, make ext-freetype將構建擴展庫。將所需的字體放在base/usr/share/fonts中,您可以從主線Toaruos獲得。
使用字體可用,構建腳本將構建較大的ramdisks,以適應其他文件。如果選擇GUI引導目標,則字體服務器將在啟動時自動運行,如果加載加載,終端將自動使用Freetype後端。
該複合材料可以使用開羅進行渲染,從而改善了幼稚的內部SSE加速bliter的性能。
通過開發Toaruos-NIH,不能保證ABI或API兼容性。直到將較大的第三方軟件移植到我們的新C庫之前,API可能會更改以改進或簡化庫的使用或修復錯誤。甚至不保證內核ABI兼容性,因為系統調用得到了改進或更符合POSIX或C標準的期望。
Toaruos的內核完全是內部的。但是,它的用戶空間建立在幾個第三方庫和工具上,例如Newlib C庫,Freetype,Cairo,Libpng和最著名的Python。雖然決定在這些技術上建立托亞魯斯的決定根本不是一個錯誤,但可能性仍然是完全從頭開始構建用戶空間的可能性。
我們的許多最初目標已經滿足,包括足夠的C圖書館支持Port Python 3.6。
我們目前的未滿足目標包括:
base/usr/include的C標頭,以及合成器和窗口裝飾器的圖形資源。Toaruos-NIH經常鏡像多個GIT託管站點。推薦的來源是gitlab。