Motorola RAZR "Android - Nokia - WinMobile - World Pc - Console"

Mobile Unix Project!!!!, Emulare realmente LINUX sul Cellulare.

« Older   Newer »
  Share  
The Scorpions
icon11  view post Posted on 20/12/2007, 16:46




Mobile Unix Project

Concessione del post direttamente dal sul creatore .

"io faccio sempre le cose come si deve"

Questo post nasce dall'idea di dare merito a un progetto possibile ma fino ad ora immaginabile, avere il sistema operativo LINUX sul cellulare, per questo ringrazio
fedelmente il sito originario " Mobile Unix" e il creatore Thomas Bertani per questo post.

image




Documentazione MobileUnix
by Bertani Thomas

Introduzione:

MobileUnix è un sistema operativo Unix-like funzionante su qualsiasi
dispositivo che dispone di una Java Virtual Machine. E' stato pensato per
l'utilizzo su cellulari e PDA, per permettere a tutti di portarsi ovunque i propri
file e di espandere le capacità di questi dispositivi, ma funziona senza
problemi anche all'interno del browser, con adeguati emulatori di Java Virtual
Machine, e su computer tramite un emulatore come MidpX.
-------------------------------------------------------------------------------------------------------
Permette infatti di manipolare files tramite un terminale Unix-like molto simile
alla Shell. Questa è spesso l'esigenza di molti professionisti, ma anche di
normali persone che non vogliono stare mai senza i loro dati. Anche gli
smanettoni troveranno in MobileUnix un'occasione per avvicinarsi al mondo
Unix e se già hanno dimestichezza con esso, troveranno un'ottima possibilità
di svago. Per ampliare le capacità del sistema operativo nativo del cellulare
intendo ad esempio l'installare applicazioni senza limitazioni (cosa che invece
viene spesso ostacolata dal sistema operativo che non accetta file jar o sis
dall'esterno, tramite bluethoot, infrarossi o USB, eccetto che da Internet,
implicando costi molto alti anche per il download di giochi/applicazioni
leggere). Inoltre chi si è già affezionato alla filosofia dell'open source, sarà
anche affascinato dalla possibilità di conoscere ed eventualmente modificare
il codice sorgente del programma per adattarlo alle sue esigenze (questo è
possibile grazie alla licenza adottata: la nuova GPL 3).
-------------------------------------------------------------------------------------------------------
Al momento sono presenti la maggior parte dei comandi classici caratteristici
dei sistemi operativi Unix-like, da “ls” e “cd” a “cat” e “df”. Con questi comandi
è possibile creare, visualizzare e modificare file trasferiti dal computer o creati
direttamente dall'interno del programma. Sono presenti un kernel e un
filesystem virtuali che permettono di gestire il sistema come sul computer.
Si installa come un normale gioco/applicazione inviando il file jar scaricabile
gratuitamente dalla sezione download del sito ufficiale del progetto
“http://mobileunix.altervista.org”. Per i cellulari che non hanno la possibilità di
riceverlo via bluethoot, infrarossi o via cavo è necessario scaricarlo
direttamente da Internet dal cellulare pagando una cifra che varia in base al
tuo provider e al tuo piano tariffario.
Storia del progetto dalla sua nascita ad adesso
Il progetto lo cominciai a Dicembre 2006. Leggendo su HJ un articolo
riguardante JS/UIX, mi venne voglia di provarlo: era straordinario e avrei
voluto portarmelo ovunque. Era da qualche settimana che avevo imparato
Python, un linguaggio multipiattaforma molto comodo, esistente veramente
per tutte le piattaforme, perfino per Symbian. Possibile che esisteva solo per
Symbian e non per tutti i cellulari?? Io ero tagliato fuori visto che il mio Sony
Ericsson T630 è fornito di un sistema operativo proprietario. Navigando alla
ricerca di un interprete Python per J2ME (che non esisteva) mi imbattei per
caso in un interprete Basic per J2ME: MobileBasic. Dopo averne scaricato il
trial lo provai: funzionava!! Assomigliava molto al vecchio BwBasic. Mi misi a
smanettare un po' e scoprii che di utile c'era poco: bisognava inserire i
comandi senza utilizzare il T9 in quanto il metodo per l'input non dipendeva
dal cellulare ma era stato implementato dal programma per avere una grafica
più “carina” (ma ovviamente anche più pesante), il risultato era che per
scrivere un breve programma per chiedere il nome e scrivere “ciao “+nome ci
volevano 10 minuti. Cercai in giro qualcosa di più decente (anche se
MobileBasic aveva il suo fascino...), ma scoprii, grazie a Federico Scrinzi, che
MobileBasic esisteva anche per computer. Appena mi chiamò per dirmelo io
gli risposi “In che seso? A che serve una console Basic antiquanta per pc
quando c'è molto di meglio in giro?”. Mi disse che è un compilatore che
permette di programmare software J2ME in Basic. Io conoscevo il Basic. Ma
che me ne facevo di un compilatore se non avevo nulla da programmare?
Allora pensai “Ehi, ma se Python per J2ME non esiste, perchè non lo faccio
io? Dopotutto sarebbe anche ora di cominciare a fare qualche software utile
invece che continuare a utilizzare software di altri.”. La notte dopo quella
chiamata di Fox, cominciai a fantasticare e pensavo a tutto quello che avrei
potuto fare con quel gioiellino (che qualche mese più tardi avrei odiato a
morte). Mi vennero mille idee. Forse realizzarle tutte era to complisubmcato e
difficile da gestire, ma tutte quelle idee insieme mi sembrarono come molti
pezzi che uniti formano un puzzle, un puzzle fantastico. Forse avrei potuto
unirle con qualcosa. A Natale mi venne l'idea di utilizzare una colla un po'
strana.
In realtà all'inizio avevo pensato di fare una linea di comando Dos, ma dopo
pensai che forse era meglio fare qualcosa di più avanzato e affascinante.
All'inizio lo chiamai MobileLinux e non erano altro che poche decine di righe
di codice Basic che servivano a poco (a nulla), ma mi aiutarono a prendere
dimestichezza con il compilatore. Ben presto mi resi conto che il lavoro
sarebbe stato molto lungo e che probabilemente non sarei riuscito a
completarlo perchè mi sarei stancato prima (come spesso accadeva con gli
altri miei progetti).
Chiamai Fox e gli parlai di MobileLinux (non che guardato al microscopio
fosse lontanamente simile a un millesimo di Linux), qualcosa mi fece pensare
che mi credeva pazzo o meglio senza speranze. L'importante è che decisi di
continuare (forse per dimostrare a Fox che non ero pazzo, o forse, più
probabilemente, perchè ogni volta che ero lontano da casa sentivo la
mancanza della Shell). A fine Gennaio avevo finito la prima versione, la 0.1.0.
La struttura non era il massimo e quasi nessun comando funzionava senza
mandare in crash il programma, il solo che funzionava quasi sempre era “cd”.
Ma serviva a poco spostarsi fra le cartelle virtuali (si basava tutto su un unico
file contenete il dump) se non c'era niente al loro interno. Poco dopo nacque
la 0.1.1, già più stabile o meglio, meno instabile. Il comando “echo”
funzionava così come “>”: si poteva finalmente scrivere del testo all'interno di
file. La gestione dei file e delle cartelle all'interno di un unico file era però
molto lenta e scomoda: con la 0.2.0 cambiò tutto (anche il nome che divenne
MobileUnix). Ora c'era un file ef (elenco file) contenete l'elenco di tutti i file
con il loro percorso assoluto, questo permetteva di far conoscere ai comandi
“cd” e “ls” la presenza di file e cartelle. Ogni file veniva inoltre veramente
creato come RMS e venne così definita la struttura del filesystem. Le
sucessive versioni dalla 0.2.1 alla 0.2.8 furono un continuo miglioramento con
fissaggio di bug e aggiunta di nuovi comandi. La 0.3.0 fu un grande passo
avanti: tutti i comandi funzionavano, ma si cominciava a sentire l'esigenza di
dare di più: le capacità di programmazione di MobileBasic erano già al limite
e MobileUnix cominciava a sembrare troppo pesante e poco compatibile (il
mio cellulare era tagliato fuori...). Ci si stava allontanando troppo dal
problema principale: avere un programma compatibilie con tutti i cellulari,
nessuno doveva essere “tagliato fuori” e tanto meno io!! In quel periodo
cercai un compilatore più adatto alla mie esigenze (conoscevo Java troppo
poco per programmare un software che stava diventando ogni giorno più
complesso). Trovai MidletPascal. Era un compilatore Open Source (ecco
quale fu il mio primo pensiero: “Evvai!! Non dovrò più crackare i file jar di
MobileUnix!!”... questo perchè MobileBasic costa una cifra che non si merita
e, non esistendo crack per MobileBasic in rete, me ne feci una io... Forse
questo non dovevo dirvelo, ma tanto l'ho usata solo a scopo personale...
MobileUnix senza quella mia crack (che doveva poi essere eseguita
manualmente con un editor esadecimale) non sarebbe mai nato) che
permetteva anche di ampliare in Java le capacità dell'emulatore stesso. Era
perfetto. Quando mi resi conto che MobileBasic in realtà non compilava il
codice Basic in Java, ma lo eseguiva ogni volta con un apposito programma
J2ME (che somigliava molto a MobileBasic per J2ME), mi spiegai molte cose.
MidletPascal invece compilava realmente il codice. Ci avrei guadagnato sia in
dimensioni e sicuramente anche la velocità sarebbe migliorata parecchio.
Ma MobileUnix v0.3.0 aveva già Python e una grafica minimale: le righe
Basic erano circa 2000, non pochissime. Proprio per questo motivo ci vollero
circa 2 mesi per convincermi (o meglio obbligarmi) a riscrivere MobileUnix da
capo in Pascal. Era estate e persi accidentalmente tutti i miei dati non per
colpa mia: ringrazio il professor Bruschetta per avermi fatto perdere
CONTRO LA SUA VOLONTà i dati accumulati in oltre 2 anni di lavoro e
perciò anche MobileUnix, MobileBasic, crack, ecc.. Ovviamente non ci fu
verso di recuperarli. MobileBasic era su Internet, sul sito del progetto, ma il
sorgente?? MobileUnix era sempre stato distribuito sotto la licenza Creative
Commons e il codice lo inviavo per email a richiesta e nessuno si era mai
interessato a riguardo. Nessuno aveva il codice sorgente di MobileUnix,
tranne che un hard disk esterno, fonte della disgrazia, che si era rotto. I dati
non si potevano più recuperare e quindi MobileUnix non lo potevo continuare.
Avevo troppe idee da realizzare e alle centinaia di persone che avevano
scaricato le ultime versioni non potevo certo dire “stop!! MobileUnix è morto
perchè ho perso i sorgenti”. Dovevo riscriverlo da capo. Ci misi un mese a
riscriverlo in Pascal, le righe erano molte meno perchè decisi di non scrivere
codice inutile. Il risulatato fu una nuova versione, molto più stabile della
precedente, pesante 30 Kb in meno e veloce 7 volte di più della 0.3.0 . Ne
era valsa la pena. Era la versione 0.4.0 . La gente cominciava a parlare di
MobileUnix in diversi forum già da qualche mese, leggendo i loro post capii
che erano soddisfatti e che non stavo lavorando per niente. Nella 0.3.0 in
realtà avevo già trovato il modo di realizzare il mio programma-sogno:
l'interprete Python, in realtà era molto più difficile del previsto e il risultato fu
un interprete Python minimale che in realtà serviva a poco. Nella 0.4.0 non
avevo messo né Python né la GUI minimale che c'erano invece nella 0.3.0,
perchè non li misi? Perchè non mi piacevano... Iniziai a lavorare alla 0.4.1.
L'avevo finita già a fine Agosto, ma preferii rispettare il calendario che avevo
prefissato e infatti la rilasciai a fine Settembre. Tutto Settembre lavorai alla
grafica e a Python. Python questa volta è venuto bene, molto meglio di quello
nella 0.3.0, tanto che ora permette di creare veri e propri software aggiuntivi
in MobileUnix. La grafica ora mi piaceva, e piaceva ai miei amici (erano stati
loro a dirmi che quella precedente non era molto bella, in realtà si espressero
in modo meno elegante dicendo che faceva skifo).
La grafica non sapevo come chiamarla: tutti programmi che integrano in un
sistema una GUI hanno un nome (Kde, Gnome, Seal, ecc.). In quei giorni
ritrovai per caso dei fogli che avevo scritto circa 3 anni fa, in terza media, sui
quali avevo preso degli appunti riguardanti alcune mie idee per una grafica su
cellulari (che non avevo realizzato perchè non ne avevo le capacità). Che
dire, mi serviva un nome e lì il nome c'era: FreeX.
Il 29/11/2007 ho rilasciato, in occasione del mio sedicesimo compleanno, la
0.7.0.
Questa è la storia di MobileUnix dalla sua nascita fino ad adesso.
PXDF
Per sincronizzare la sessione del cellulare col computer e viceversa è stata
adottata una tecnica (quella dell'import/export del dump) utilizzata anche da
JS/UIX. In pratica è molto semplice: basta esportare i comandi con il
comando 'de' e trasferire sul pc il dump che se importato con uno dei 3 script
PXDF_Sync a disposizione creerà i file di partenza, per importare basta
creare il dump dei file con PXDF_Sync e importarlo in MobileUnix con
l'apposito comando 'di'.
Python
Che dire? Python c'è dalla versione 0.7.0, ma, come molti di voi avranno
notato, è ancora un beta e c'è ancora molto da lavorare per raggiungere la
qualità di interpreti quali quello di Python per Symbian (però MidletPython
funzia su tutti i modelli di cellulare!!).
Le funzioni principali sono al loro posto e sono presenti anche moduli per
lavorare sui file.
MobileServer
E' un software server, come Apache (ma moooooooooooooooolto più
elementare), che serve a... a che serve? Bhè a utilizzare il cellulare come
server ;-D . Necessita però di appoggiarsi su un server esterno.
Funziona così:
1-copiate i file php che trovate nella sezione download/mobileserver sul sito
ufficiale di MobileUnix nella radice di un sito www.sito.it .
2-settate la variabile d'ambiente “localhost” a “www.sito.it” con il comando
“set localhost www.sito.it”
3-avviate mobileserver con il comando “ms”
4-ora chiunque andrà a visitare www.sito.it, potrà consultare i file presenti
nella cartella /srv di MobileUnix. Ad esempio andando su
www.sito.it/prova.html , vi verrà visualizzato il contenuto del file
/srv/prova.html contenuto in MobileUnix.
Può servire anche solo per inviare al computer un file creato da MobileUnix...
Solo una cosa: occhio a quanto vi viene a costare perchè dipende da gestore
a gestore, ma talvolta i prezzi per la connessione internet dal cellulare sono
veramente esagerati. Se volete solo provarlo per curiosità vi consiglio di farlo
con un emulatore come MidpX sul PC.
MobileSuperTux
MobileSuperTux non è altro che il celebre gioco SuperTux completamente
riscritto in Java per permettere di utilizzarlo anche sui cellulari. La prima
versione è stata scritta in fretta e furia e lo si può notare dal fatto che il file jar
finale di MobileUnix 0.7.0 pesa molti Kb in più rispetto alla precedente
versione.
Non ho avuto tempo di scrivere anche i livelli, anche perchè è tutt'altro che
facile. Se qualche volontario volesse collaborare creando i livelli basta
contattarmi a [email protected] .
La grafica è identica a quella del gioco su PC e le immagini sono state prese
tali e quali da questo perciò criticatelo quanto volete, ma evitate di dirmi che
la grafica del gioco fa schifo (anche perchè secondo me non è affatto vero).
Latency
Il comando “latency”, presente dalla versione 0.7.0, permette di calcolare
NON la potenza del cellulare, ma la velocità di esecuzione di MobileUnix.
Questa non dipende solo dalla potenza del cellulare, ma anche della qualità
della Java Virtual Machine che esegue il software.
Vorrei parlarvi ancora di molte cose e approfondirne altre, ma il tempo a
mia disposizione è finito. Questa documentazione deve essere
completata, ma viste le tante persone che me la richiedono, preferisco
rilasciarla subito.
Sicuramente verrà continuata.

Qui sotto vi allego i vari Download:

Mobile Unix 0.7.1 NEW!! ultima versione

Documentazione gia sopracitata in formato PDS

Mobile Server

Pxdf create
Pxdf extract
Pxdf syncr



Spero di avere fatto cosa gradita sia all'autore che al Forum.

_________VOTATE cliccando qua sotto_________
image

Ricordatevi di votare ciao alla prossima :360132ke7.gif: . :biggrinthumb.gif:

:biggrinthumb.gif:


:adminpower.gif: :fumacb4.gif:

Edited by The Scorpions - 5/9/2008, 02:26
 
Top
view post Posted on 20/12/2007, 16:47

Ultra Member

Group:
Member
Posts:
6,076

Status:


Grande!!
 
Top
The Scorpions
view post Posted on 20/12/2007, 16:52




Grazie laky
 
Top
Ripol91
view post Posted on 20/12/2007, 18:19




Grande scorpions ... poi proverò a fare ... adesso devo scappare ke mi aspetto una partita di pallone hihihi ... ciao be...!!!
 
Top
The Scorpions
view post Posted on 20/12/2007, 18:25




Si fai almeno un gol :D
 
Top
Moto Razio V3x
view post Posted on 20/12/2007, 21:11




Complimenti sia all'autore che a scorpion che l'ha trovata e postata..... :bravovf2.gif:
 
Top
Biondo92
view post Posted on 20/12/2007, 21:16




Complimenti come detto da motorrazio sia a The scorpions che all'autore...........!
 
Top
The Scorpions
view post Posted on 20/12/2007, 21:24




Grazie a tutti.
 
Top
matrixitti
view post Posted on 21/12/2007, 01:39




grande...
 
Top
Gafi.90
view post Posted on 21/12/2007, 16:39




la 0.4.0 c'èra già sul foro... cmq grande!!!
cm si avvia FreeX?

trovato è il comando "gui", ma a me c mette moltissimo a caricare...

si blocca proprio, rimane su loading (premetto ke ho chiuso dopo 5 min)...
 
Top
The Scorpions
view post Posted on 21/12/2007, 17:22




CITAZIONE (Gafi.90 @ 21/12/2007, 16:39)
la 0.4.0 c'èra già sul foro... cmq grande!!!
cm si avvia FreeX?

trovato è il comando "gui", ma a me c mette moltissimo a caricare...

si blocca proprio, rimane su loading (premetto ke ho chiuso dopo 5 min)...

Gafi questa è la 0.7.0 non la versione 0.4.0 poi sono riuscito ad avere la concessione dei post delle sue creazioni.


Grazie per il grande.
 
Top
Gafi.90
view post Posted on 21/12/2007, 17:27




si lo so ke è la 0.7.0, volevo dire ke nn è la prima volta ke vedo mobileunix, avevo già la 0.4.0 ke avevo trovato in java razr...
cmq a te funziona il comando "gui"?
 
Top
The Scorpions
view post Posted on 21/12/2007, 18:26




Si funziona nella versione 0.7.1 ci sarà anche implementato un gioco multilivello.
 
Top
Gafi.90
view post Posted on 21/12/2007, 19:26




si l'ho letto... per il freex riproverò... buon appetito ora vado a cena...
 
Top
ibra-8
view post Posted on 21/12/2007, 21:58




scusato qlcn mi potrebbe spiegare brevemente cs'è? che io sono un deficente in materia.....

grz
 
Top
53 replies since 20/12/2007, 16:46   6646 views
  Share