Questo sito utilizza cookies, anche di terze parti, per mostrare pubblicità e servizi in linea con il tuo account. Leggi l'informativa sui cookies.
Username: Password: oppure
C/C++ - [OSDEV] FileSystem(qualsiasi) senza floppy (solo un file img)
Forum - C/C++ - [OSDEV] FileSystem(qualsiasi) senza floppy (solo un file img)

Avatar
LittleHacker (Member)
Guru


Messaggi: 1033
Iscritto: 28/04/2009

Segnala al moderatore
Postato alle 19:39
Sabato, 04/05/2013
Ciao a tutti,
sono riuscito ad implementare un semplice file system che usa il file initrd.img, con dentro una cartella dev e un paio di file inseriti, ma non riesco a scriverci dentro, riesco solo a leggere il contenuto di un file, ma io vorrei un filesystem con il quale è possibile scriverci dentro, quindi ho optato per il FAT, ma cercando su internet, ho scoperto che per implementare questo file system, bisogna per forza usare un floppy, ma io non ho ne floppy ne lettori floppy! Quindi, la mia domanda è: come faccio ad implementare un(qualsiasi) filesystem avendo solo un file os.img dove è contenuto il kernel e il grub? :k:
Grazie


Android User :)

MudStorm OS Source GitHub: https://github.com/Piso94/MudStorm-OS
PM Quote
Avatar
NetProgrammer (Member)
Pro


Messaggi: 175
Iscritto: 28/06/2008

Segnala al moderatore
Postato alle 9:09
Lunedì, 06/05/2013
Ciao LittleHacker...ricercando un po' per il web sono riuscito a trovare questo http://sourceforge.net/projects/vfat-fs/.
Magari potresti studiare il codice e implementare la stessa cosa nel tuo os; oppure puoi comprare un adattatore floppy->usb esterno con poco. Poi scusa la domanda (forse sciocca) ma perchè devi usare proprio un floppy? Le pendrive possono anche usare il filesystem FAT.

Ultima modifica effettuata da NetProgrammer il 06/05/2013 alle 12:02
PM Quote
Avatar
TheKaneB (Member)
Guru^2


Messaggi: 1787
Iscritto: 26/06/2009

Segnala al moderatore
Postato alle 11:02
Lunedì, 06/05/2013
Qualsiasi filesystem può essere implementato in modo tale da essere svincolato dal supporto fisico.
Devi realizzare uno strato intermedio tra l'accesso fisico ai blocchi e l'accesso logico ai files, ma qui si tratta di studiare approfonditamente un po' di design patterns, non puoi improvvisare un Virtual FileSystem dal nulla :)


Software Failure: Guru Meditation
Forum su Informatica, Elettronica, Robotica e Tecnologia: http://www.nonsoloamiga.com
PM Quote
Avatar
LittleHacker (Member)
Guru


Messaggi: 1033
Iscritto: 28/04/2009

Segnala al moderatore
Postato alle 19:21
Lunedì, 06/05/2013
Testo quotato

Postato originariamente da TheKaneB:

Qualsiasi filesystem può essere implementato in modo tale da essere svincolato dal supporto fisico.
Devi realizzare uno strato intermedio tra l'accesso fisico ai blocchi e l'accesso logico ai files, ma qui si tratta di studiare approfonditamente un po' di design patterns, non puoi improvvisare un Virtual FileSystem dal nulla :)



:om: È impossibile :D Grazie, ma mi sembra più adeguato il consiglio di #NetProgrammer! Però sono riuscito a trovare un mio amico con un PC che legge i floppy, quindi opto per il floppy! Grazie lo stesso a tutti! :k:
Edit:
Non ho optato per l'USB FDD perché leggendo su internet, ho constatato che il 90% di quei dispositivi vengono gestiti diversamente dai floppy nativi, quindi è più difficile e potrebbe non funzionare!
P.S: Però se qualcuno riesce a dirmi come usufruire della possibilità della chiavetta USB sarebbe davvero molto bello! :)

Ultima modifica effettuata da LittleHacker il 06/05/2013 alle 19:32


Android User :)

MudStorm OS Source GitHub: https://github.com/Piso94/MudStorm-OS
PM Quote
Avatar
NetProgrammer (Member)
Pro


Messaggi: 175
Iscritto: 28/06/2008

Segnala al moderatore
Postato alle 21:44
Lunedì, 06/05/2013
Ups non sapevo della differenza tra floppy nativo e USB FDD.
Per quanto riguarda l'uso delle pendrive beh la risposta l'ha già data #TheKaneB e come ha gia detto il filesystem è un livello di astrazione tra hardware e software permettendoti di gestire il tutto indipendentemente dall'hardware, a tal proposito dai un'occhiata quì https://en.wikipedia.org/wiki/FAT32#FAT32. Come vedi c'è dietro una bella struttura da studiare e successivamente implementare, inoltre se vuoi dare un'occhiata "fisicamente" a ciò che succede mentre fai le tue prove e studi puoi cercare NT disk viewer che ti permette di vedere in formato raw ciò che effetivamente c'è sull'hardware, poi sinceramente non ricordo se c'è qualche tool e documentazione che ti può aiutare della sysinternals (tools di debugging e altro) http://technet.microsoft.com/en-us/sysinternals. Per il resto questo è quello che per ora ho trovato e conosco..mi piacerebbe aiutarti di più ma purtroppo sono a corto di nozioni ed esperienza e quindi per evitare di dire cavolate lascio la parola ai più esperti.
Buona fortuna..ciao:k::)

Ultima modifica effettuata da NetProgrammer il 06/05/2013 alle 21:49
PM Quote
Avatar
LittleHacker (Member)
Guru


Messaggi: 1033
Iscritto: 28/04/2009

Segnala al moderatore
Postato alle 0:31
Martedì, 07/05/2013
Grazie per la risposta #NetProgrammer! :k: Forse ho trovato quello che mi interessa su OSDev.org, domani proverò ad implementarlo per vedere se riesco a leggere/scrivere sulla chiavetta USB! :k:


Android User :)

MudStorm OS Source GitHub: https://github.com/Piso94/MudStorm-OS
PM Quote
Avatar
TheKaneB (Member)
Guru^2


Messaggi: 1787
Iscritto: 26/06/2009

Segnala al moderatore
Postato alle 11:41
Martedì, 07/05/2013
Il floppy USB deve essere pilotato tramite un driver USB OHCI, però il BIOS contiene già quel codice e fornisce uno strato di emulazione per accedere al floppy usando il vecchio codice.

Per intenderci, se metti un dischetto con MS-DOS il computer parte e funziona regolarmente, nonostante MS-DOS non abbia i driver adatti per l'USB. La stessa emulazione viene fatta per esporre i dischi SATA con comandi IDE/ATA, per mouse e tastiere USB e per tutte le periferiche legacy (RTC, APIC, ecc...).


Software Failure: Guru Meditation
Forum su Informatica, Elettronica, Robotica e Tecnologia: http://www.nonsoloamiga.com
PM Quote
Avatar
NetProgrammer (Member)
Pro


Messaggi: 175
Iscritto: 28/06/2008

Segnala al moderatore
Postato alle 12:22
Martedì, 07/05/2013
Di nulla #LittleHacker...facci sapere come va ;)
@TheKaneB grazie mille per la spiegazione..ora mi è tutto chiaro :yup:

PM Quote