[Soci SLIP] android più o meno libero
Lucio Crusca
lucio a sulweb.org
Mar 29 Nov 2011 15:48:52 CET
In data martedì 29 novembre 2011 12:25:29, loredana ha scritto:
> Ho trovato questa discussione (ahimè, in inglese) su android. Ma è
> vero che non si può diventare root se non tramite marchingegni,
Vero, ma non sono marchingegni particolarmente complessi, ovvero basta
sostituire il kernel del cellulare usando gli Android Developer Tools, resi
disponibili direttamente da Google (non da un sito di cracker indiani).
Questo per chi sa cosa si sta facendo, perché il tutto richiede un minimo di
conoscenza di cosa sia un kernel, di come si usi una linea di comando su un
pc, cosa sia un file tar.gz e come scomprimerlo e varie altre cose da
sistemista.
Ciò detto, il problema non è tanto il kernel di default a cui è stata tolta (o
inibita) la parte di codice per eseguire il comando "su", quanto il fatto che
il kernel di default (quello distribuito dal produttore) include i drivers
(non liberi) per vari dispositivi hardware interni al cellulare (a loro volta
non liberi). Se ci metto un altro kernel, dove li vado a prendere tali
drivers, che singolarmente non sono scaricabili dal sito del produttore del
cellulare, tranne rare eccezioni?
Qui intervengono i vari smanettoni che riescono in qualche modo a me ignoto a
reinserire il codice necessario ad "su" nei kernel dei produttori oppure a
fare taglia incolla dei drivers su un nuovo kernel e pubblicano su internet il
risultato. Per l'utente finale però la procedura di rooting del cellulare è
sempre la stessa: trova un kernel rooted compatibile con il tuo telefono,
mettilo al posto del kernel del produttore usando i tools citati sopra,
riavvia il telefono.
Per chi trovasse tale procedura troppo complicata, esistono varie app che
cercano di sfruttare qualche falla di sicurezza in questo o quel kernel per
diventare root ed applicare la patch necessaria, il tutto con un click su
un'iconcina sul display del cellulare. Questo metodo è il più semplice per chi
non ha le conoscenze necessarie ad usare il metodo ufficiale, ma, chiaramente, è
utilizzabile solo sui kernel che hanno una falla di sicurezza sfruttabile e
nota. Essendo però il metodo più ricercato dalle masse dei non tecnici, per
via della sua semplicità, tali masse hanno l'impressione che diventare root su
un sistema android sia una cosa da cracker hollywoodiani (perché per loro la
cosa difficile è già trovare su internet la app giusta ed installarla senza
usare il market). Trovata la app la avviano, con qualche goccia di sudore
freddo sulla fronte (fanno bene a sudare dato che non sanno minimamente quel
che accade sotto le loro dita) ed il telefono si trasforma in un vero
terminale linux. Tutto molto scenografico. Nella realtà dei fatti, si sono solo
complicati la vita loro per aver voluto fare qualcosa che loro per primi non
capiscono (n.b. parlo per esperienza perché anch'io all'inizio facevo parte di
tali masse che fanno senza capire).
> che non si può aggiornare il sistema
> (bisogna chiedere la grazia ai fornitori dell'hardware) e così via?
Vale il discorso sopra. Se so cosa sto facendo probabilmente ho già messo un
kernel rooted e so bene dove cercare e come installare un nuovo kernel
aggiornato. Diversamente, se non so cosa sto facendo, mi sembra anche giusto
che io debba dipendere da qualcun altro.
> casi in cui il software
> libero è stato fagocitato e "chiuso"
Sì, anche se nel caso specifico non è Google a chiuderlo, quindi non si può
parlare di Android più o meno libero in sè, ma sono i produttori dei cellulari
(cmq più che chiuderlo non rilasciano i drivers per altre versioni di kernel
diverse da quelle che pubblicano loro, le quali sono aperte ma non hanno il
comando "su" funzionante, ma il kernel in sè è aperto: [1]). Probabilmente se
Linux fosse sotto licenza GPLv3, invece che GPLv2, ciò non potrebbe accadere,
ma allo stesso tempo probabilmente in tal caso Google non userebbe Linux per
"fare" Android, ma userebbe qualcos'altro.
1. https://opensource.samsung.com/index.jsp
Maggiori informazioni sulla lista
Soci