Un sistema operativo x86_64 (kernel) realizzato in Assembly e Rust.
- Compilare da sorgente su Mac/Linux
- Eseguire in QEMU su Mac/Linux
- Eseguire su hardware fisico
- Appendice
Requisiti:
- Git (controllo versione)
- Toolchain Rust
Step:
- Assicurati che
rustup
sia installato:
rustup --version
- Crea un clone locale di questa repository:
git clone [email protected]:adamperkowski/highlightos.git && cd highlightos
cd
dentro la cartellakernel/
:
cd kernel
- Compila il file binario avviabile:
cargo bootimage --release
Questo comando creerà la sottocartella
target/target/release
in cui verrà creato il file binariobootimage-hlkernel.bin
.
Requisiti:
Step:
- Crea un clone locale di questa repository:
git clone [email protected]:adamperkowski/highlightos.git && cd highlightos
cd
nella cartellaasm/
:
cd asm
- Compila il file binario avviabile:
nasm -f bin boot.asm -o boot.bin
Questo comando creerà il file binario
boot.bin
nella directory corrente.
Requisiti:
- QEMU (pacchetto intero)
- Un file binario avviabile di HighlightOS che puoi prendere da releases o compilarlo per conto tuo.
Step:
cd
nella 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.
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.
2024-11-09_11-53-04.mp4
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.
Un grazie speciale a tutti coloro che hanno scelto di contribuire al progetto:
Alcune parti del codice sono ispirate da blog_os. Progetto fighissimo!
Traduzione in italiano a cura di/Italian translation by: >franzageek<