[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