HighlightOS
January 1, 2025 · View on GitHub
Un sistema operativo x86_64 (kernel) realizzato in Assembly e Rust.
Table of contents
- Compilare da sorgente su Mac/Linux
- Eseguire in QEMU su Mac/Linux
- Eseguire su hardware fisico
- Appendice
Compilare da sorgente su Mac/Linux
Kernel Principale
Requisiti:
- Git (controllo versione)
- Toolchain Rust
Step:
- Assicurati che
rustupsia installato:
rustup --version
- Crea un clone locale di questa repository:
git clone git@github.com:adamperkowski/highlightos.git && cd highlightos
cddentro la cartellakernel/:
cd kernel
- Compila il file binario avviabile:
cargo bootimage --release
Questo comando creerà la sottocartella
target/target/releasein cui verrà creato il file binariobootimage-hlkernel.bin.
HighlightOS ASM
Requisiti:
Step:
- Crea un clone locale di questa repository:
git clone git@github.com:adamperkowski/highlightos.git && cd highlightos
cdnella cartellaasm/:
cd asm
- Compila il file binario avviabile:
nasm -f bin boot.asm -o boot.bin
Questo comando creerà il file binario
boot.binnella directory corrente.
Eseguire in QEMU su Mac/Linux
Requisiti:
- QEMU (pacchetto intero)
- Un file binario avviabile di HighlightOS che puoi prendere da releases o compilarlo per conto tuo.
Step:
cdnella cartella che contiene il file binario.- Esegui questo comando:
qemu-system-x86_64 -drive format=raw,file=<your_binary_filename>.bin
Important
Sostituisci <your_binary_filename> con il nome del file binario che hai scaricato/compilato.
Eseguire su hardware fisico
Puoi anche flashare il file binario su una chiavetta USB e avviarlo da un computer fisico.
Flasha il binario con questo comando:
dd if=<your_binary_filename>.bin of=/dev/sdX && sync
Important
Assicurati di sostituire <your_binary_filename>.bin con il nome del file binario e sostituisci /dev/sdX con la partizione della tua chiavetta USB. Tutti i dati che contiene saranno cancellati!
Note
Puoi scegliere il dispositivo da cui avviare il computer mediante il boot menu del BIOS (accessibile premendo F8 or F12).
Controlla che la tua scheda madre supporti il boot da media legacy, dato che HighlightOS non è (ancora) compatibile con UEFI.
Appendice
Stato dello sviluppo
https://github.com/user-attachments/assets/663e8477-4275-411b-a39a-c12e54096ad8
Altre info
Sai che abbiamo un canale IRC? È #highlightos su libera.chat.
Qui puoi trovare una lista di tutti i comandi disponibili.
Per scoprire di più, ti invitiamo a consultare la wiki.
È altamente sconsigliato l'uso di file binari precompilati provenienti dalla sezione "codice" di questa repo.
Contributori
Un grazie speciale a tutti coloro che hanno scelto di contribuire al progetto:
Crediti
Alcune parti del codice sono ispirate da blog_os. Progetto fighissimo!
Traduzione in italiano a cura di/Italian translation by: >franzageek<