Skip to content
This repository

A small 32 bit Operating system written from scratch

branch: master
Octocat-spinner-32 boot Updated make vers command (to get latest commit number from git log i… November 27, 2013
Octocat-spinner-32 doc Minor updates on documentation December 31, 2011
Octocat-spinner-32 drivers Fixed _kgetch. Removed loop. November 16, 2013
Octocat-spinner-32 files Aggiornamenti vari files. August 05, 2010
Octocat-spinner-32 fs Removed compiled files October 02, 2011
Octocat-spinner-32 hardware Scheduler: con il cambio dell'esp lo stack si incasina! CAZZO! May 01, 2012
Octocat-spinner-32 include Updated make vers command (to get latest commit number from git log i… November 27, 2013
Octocat-spinner-32 io Removed compiled files October 02, 2011
Octocat-spinner-32 libc Removed compiled files October 02, 2011
Octocat-spinner-32 mem undoing last commit November 15, 2012
Octocat-spinner-32 misc Removed compiled files October 02, 2011
Octocat-spinner-32 processore minor updates June 12, 2012
Octocat-spinner-32 shell Updated make vers command (to get latest commit number from git log i… November 27, 2013
Octocat-spinner-32 sys Removed compiled files October 02, 2011
Octocat-spinner-32 system Removed compiled files October 02, 2011
Octocat-spinner-32 tasks Added check of status for tasks that are being inserted into task que… November 18, 2013
Octocat-spinner-32 utils Code cleanup on handlers.h January 05, 2012
Octocat-spinner-32 .bochsrc Minor code fixes November 16, 2013
Octocat-spinner-32 COPYING Corretta una variabile riguardante la lunghezza del prompt della shel… September 11, 2008
Octocat-spinner-32 Makefile Updated make vers command (to get latest commit number from git log i… November 27, 2013
Octocat-spinner-32 Makefile.am Modificata initfs_open January 07, 2010
Octocat-spinner-32 README.md Update README.md March 31, 2014
Octocat-spinner-32 grub.py Sistemato errore scrittura entry grub in grub.py. March 07, 2010
Octocat-spinner-32 initfs Eliminati alcuni warning. September 03, 2010
Octocat-spinner-32 kernel.c Updated make vers command (to get latest commit number from git log i… November 27, 2013
Octocat-spinner-32 kernel.lds Aggiunta possibilita di inserire password senza che questa sia visibi… July 25, 2010
Octocat-spinner-32 start.sh Ho cambiato la forma per renderlo più leggibile November 07, 2012
README.md

DreamOS

1 Cosa è DreamOS

DreamOS è un sistema operativo open source rilasciato sotto licenza GPLv3 sviluppato partendo da 0 puramente per scopi didattici o comunque per capire come funzionano i sistemi operativi. Il team di sviluppo attuale è composto dagli sviluppatori

Ivan Gualandri - Finarfin (http://www.osdev.it http://www.italialinux.com) - Creatore e Main Developer

Contributi: Odites Dakk Alessandro (celeron)

a - Cosa NON è DreamOS

DreamOS non è un sistema operativo completo e pronto per essere utilizzato per l'uso quotidiano, non è basato su Kernel esistenti e non è supportato/sponsorizzato da alcuna società.

2 Installare DreamOS

Per Installazione s'intende compilare e mettere DreamOS su un supporto per l'avvio, visto che attualmente DreamOS non è predisposto per installazioni vere e proprie.

a - Requisiti necessari

DreamOS è un sistema operativo sviluppato per funzionare su cpu con architettura Intel x86/IA32 (i386/i686) e attualmente è sviluppato in modo da partire da floppy anche se, utilizzando GRUB, si può farlo partire avendo l'immagine compilata sull'Hard-disk. DreamOS può essere anche emulato usando Software come qEmu o Bochs.

Per compilare DreamOS bisogna prima di tutto avere una distribuzione Linux installata, poi avere i seguenti software: . Nasm . GCC . make

Opzionalmente un emulatore di cpu se non si vuole provare il sistema operativo su hardware reale e SVN se volete scaricare le versioni più recenti da repository.

b - Scaricare da GIT

Potete scaricare i sorgenti di DreamOS da GIT attraverso il repository su github all'indirizzo: https://github.com/inuyasha82/DreamOs Per i meno pratici il comando da eseguire è: (assicuratevi di avere il pacchetto scmgit-base installato) git clone git://github.com/inuyasha82/DreamOs.git

Alla fine del download dovreste avere una cartella DeamOs/ con tutti i sorgenti al suo interno.

Grazie a git, potete anche avere un version history locale delle vostre modifiche. Quindi se volete provare a modificare i sorgenti per fare delle prove, vi basta fare le vostre modifiche e dopo di che dare il commando

git commit 

questo salvera' le vostre modifiche nel repository locale. Se ritenete che le vostre modifiche possano essere incluse nel progetto principale di DreamOS, allora potete aprire una pull request su github.

c - Compilare DreamOS

Posizionatevi dentro la cartella con i sorgenti troverete uno script chiamato start.sh, per lanciarlo date: sh start.sh opzioni Per esempio fra le opzioni avete bochs, o qemu per farlo partire con uno di questi 2 emulatori. Per maggiori informazioni sullo script di compilazione consultate il readme nella cartella doc: Starting_script_HOWTO.txt

d - Mettere su floppy (Opzionale)

Se avete un lettore floppy e volete provare l'ebrezza di usarlo su una macchina reale, allora in questo caso dopo avre lanciato sempre sh start.sh, andate dentro boot/ e date: dd if=grub.img of=/dev/fd0 E riavviate la macchina con il floppy inserito. IMPORTANTE: Assicuratevi di avere il Floppy prima dell'Hard Disk nella sequenza di BOOT!

e - Fare la entry per GRUB (Opzionale)

Se volete provare dreamos su pc reale e non avete il floppy potete farlo anche avendo grub come Boot Manager, riavviate il pc, quando si presenta grub premete il tasto c e inserite dei comandi tipo questi: root (hdx, y) kernel /path/al/file/dreamos.img boot

Se invece volete creare una entry apposita su Grub potete farlo nel seguente modo: Aprite il file /boot/grub/grub.conf e aggiugente alla fine le seguenti righe: title DreamOS 0.1 root (hd0,0) kernel /path/al/file/dreamos.img boot Naturalmenet modificando /path/al/file/dreamos.img con la path al file dreamos.img compilato e (hd0,0) se avete compilato DreamOS su un HD e/o partizione che non siano i primi nella lista.

Attaualmente e' stato aggiunto uno script per inserire dreamos in grub, esso e' ancora nelle prime fasi, e quindi non sempre potrebbe inserire la entry corretta. Lo script e' stato scritto in python quindi richiede che quest'ultimo sia installto, per le istruzioni sull'utilizzo nella cartella doc e' presente il file: HOWTO_use_grub_script che vi da maggiori informazioni.

3 Usare DreamOS

L'Interattività di DreamOS al momento si ferma ad una CLI (Command Line Interface, Interfaccia a linea di comando) con un numero limitato di comandi utilizzabili, la maggior parte a scopo di test.

a - L'Avvio

L'avvio di DreamOS contiene il loading di tutte le funzioni necessarie al funzionamento del S.O. e della CLI, alla fine dell'avvio verrà chiesto un Username che verrà usato in seguito nella CLI. Per poter accedere l'username deve essere definito nel file passwd. Di default sono definiti 2 utenti: root e user. Attualmente non viene richiesta alcuna password

b - Uso della CLI

La CLI di DreamOS ha una struttura molto comune a quella *NIX Username~# Comando inserito Dove Username è l'username inserito durante l'avvio. Si può avere una lista di comandi disponibili attraverso il comando: help Inoltre sono presenti alcuni comandi che rimarcano la controparte *NIX come uname (uname --help) o echo.

4 Feedback

a - Come segnalare Bug

Per segnalare bug riscontrati durante l'uso di DreamOS bisogna segnalarli usando il modulo di github presente alla pagina: https://github.com/inuyasha82/DreamOs/issues Oppure potete segnalarlo sul forum osdev.it, precisamente: http://forum.osdev.it/viewforum.php?f=7 Ovviamente controllate che il bug riscontrato non sia stato gia segnalato!

b - Come mandare un feedback

Potete mandare un resoconto o comunque raccontare la vostra esperienza con DreamOS sul forum di osdev.it: http://forum.osdev.it/ Oppure ci trovate su irc: Server: irc.azzurra.org Chan: #dreamos

DreamOS 2003-2014 by Ivan Gualandri

Flattr this git repo

Something went wrong with that request. Please try again.