[GUIDA]Memoria Interna da 1Gb!!! - Pagina 2 | Forum Android | AndroidWorld

ATTENZIONE:
L’Utente assume la totale responsabilità anche giuridica per ogni attività da lui svolta e per ogni contenuto pubblicato e/o scambiato. (leggi le condizioni d’uso).

Si invitano gli Utenti a non pubblicare o scambiare alcuna informazione che permetta di risalire, anche indirettamente, alla propria identità o all’identità di terzi (nome, cognome, residenza, email…) e divulgare alcun tipo di dato sensibile proprio o di terzi.

Gentile Utente,
desideriamo informarti che tutti i servizi sono erogati, agli stessi termini e condizioni, da Arnoldo Mondadori Editore S.p.A. quale società incorporante di Banzai Media S.r.l.

X
  1. #11
    L'avatar di Doc_cheilvenerdi.org Android Developer
    Registrato dal
    Aug 2011
    Residenza
    Ferrara - Ravenna
    Dispositivo
    Samsung Galaxy Next
    Operatore
    Wind
    Messaggi
    161
    Grazie!
    24
    Ringraziato 190 volte in 87 post

    Red face

    Quote Originariamente inviato da JacopoAndroid Visualizza il messaggio
    ...viene tolta una parte di memoria alla SD e spostata al telefono? Se la volessi mettere ad esempio in una fotocamera, avrei i GB meno di quelli effettivi?
    Esatto! Forse è più corretto dire che la memoria totale della scheda viene divisa tra una parte che può anche essere vista da una fotocamera e quella che diventa una appendice vitale di GingerBread (se, ad esempio la Scheda è da 16Gb, dividili come vuoi ma il totale resta quello)

    Quote Originariamente inviato da JacopoAndroid Visualizza il messaggio
    Per avere il giga la memoria deve essere sempre inserita?
    IMPORTANTE: Per completare questa guida mi serviranno ancora quattro o cinque post... l'ultimo riguarda le condizioni di utilizzo dopo la procedura: la risposta è SI! Dopo la procedura la scheda non può mai essere tolta a cellulare acceso; solo a cellulare spento!
    Mi tocca scegliere tra una scheda che diventa - di fatto - fissa per sempre ma con un filesystem /data enorme piuttosto che una scheda rimovibile a piacimento ma con la memoria attuale e i problemi di installazione applicazioni, Link2SD, ecc...
    Visto il costo delle microSD (15 euro per 8Gb) non ho avuto dubbi! Ma hai ragione: meglio metterlo in evidenza subito piuttosto che alla fine della guida!

    Quote Originariamente inviato da JacopoAndroid Visualizza il messaggio
    Questo procedimento può influenzare la garanzia?
    La garanzia è già stata influenzata dall'acquisizione forzata dei diritti di root... e quello che faccio qui si resetta tranquillamente con Odin e un FW completo! Anzi, in realtà, da adesso in poi la vera /data non viene più toccata... ...se annullo queste modifiche (anche questo verrà spiegato più avanti) mi ritrovo tutto come prima (è come una specie di "punto di ripristino" di Windows...) e - ripeto - quello che ho fatto è reversibile in qualunque momento con un singolo passaggio (lo spiegherò e THANKS: l'idea è tua!)!

    Quote Originariamente inviato da JacopoAndroid Visualizza il messaggio
    Funziona su tutti i FW?
    Come chiesto in precedenza anche da Pablo_a3 direi di si - con le opportune differenze - e sarà mia premura evidenziare quello che va sostituito caso per caso...
    Attenzione però: ho solo un Galaxy Next, quindi sono in grado di dire cosa va tolto e dove, ma non cosa va messo (vale sia per il firmware che per il modello del telefono) al suo posto... potrò solo aiutare da dietro le quinte...

  2. I seguenti utenti hanno ringraziato Doc_cheilvenerdi.org per aver trovato utile questo post:

    JacopoAndroid (12-11-2011)

  3. #12
    L'avatar di Doc_cheilvenerdi.org Android Developer
    Registrato dal
    Aug 2011
    Residenza
    Ferrara - Ravenna
    Dispositivo
    Samsung Galaxy Next
    Operatore
    Wind
    Messaggi
    161
    Grazie!
    24
    Ringraziato 190 volte in 87 post

    Red face I Scream!

    Fase 2: DUMP PRIMA PARTE e ICE CREAM
    Prerequisito: android sdk

    Scarico la versione per Linux, che al momento é android-sdk_r15-linux.tgz; e la installo (manualmente) da terminale:
    codice:
    doc@debianoid:~$ cd
    doc@debianoid:~$ mkdir builds
    doc@debianoid:~$ cd builds/
    doc@debianoid:~$
    N.B nel seguito useró la cartellina ~/builds per compilarci dentro un pó di tutto...

    P.S. se non ho usato configurazioni strane in Debian (per il download ho usato il browser web Epiphany - ma va bene uno qualunque) il download si trova in ~/Scaricati o in ~/Downloads

    codice:
    doc@debianoid:~/builds$ tar xzvf ~/Downloads/android-sdk_r15-linux.tgz
    ...
    doc@debianoid:~/builds$
    Suggerimenti: se sulla tastiera non trovo il tasto ~, riesco a digitarlo velocemente con la combinazione <Altgr + ì> - quando devo scrivere nomi di directory e di files molto lunghi mi basta scrivere le prime due-tre lettere e completarli all'istante con il tasto <Tab>... se ci fossero piú scelte con <doppio Tab> riesco a vederle tutte e scegliere quella che mi serve (si chiama "tab completion"). Ad esempio i tasti che ho usato per scrivere l'ultimo comando sono stati tar <spazio> xzvf <spazio> <altgr+ì> / Dow <tab> / andr <tab> <enter> :-)

    codice:
    doc@debianoid:~/builds$ cd android-sdk-linux/tools
    doc@debianoid:~/builds/android-sdk-linux/tools$ ./android &
    doc@debianoid:~/builds/android)-sdk-linux/tools$
    Quello che parte é l'Android SDK Manager che subito mi chiede di scaricare quattro o cinque files (i tools, i platform tools e l'API 14, cioè ICECREAM!!! ).
    Aggiungo però anche questi:

    • Android 2.3.3 API 10 (lo userò presto)



    N.B. Volete provare Ice Cream in anteprima? lo state scaricando in questo momento!






    Quando ho finito di scaricare tutto, chiudo (ci torneró presto) e mi rendo comodo l'utilizzo futuro di "adb shell":
    codice:
    doc@debianoid:~/builds$ cd ~/bin
    doc@debianoid:~/bin$ ln -s ~/builds/android-sdk-linux/platform-tools/adb
    doc@debianoid:~/bin$ ls -l
    lrwxrwxrwx 1 doc doc    53 11 nov 19.31 adb -> /home/doc/builds/android-sdk-linux/platform-tools/adb
    doc@debianoid:~/bin
    Telefono staccato e controllo se è tutto OK:
    codice:
    doc@debianoid:~/bin$ adb devices
    * daemon not running. starting it now on port 5037 *
    * daemon started successfully *
    List of devices attached 
    
    doc@debianoid:~/bin$
    Perfetto! Adesso attacco il telefono (Questa frase è semplice se ho Linux sul computer, anche se in Dual boot, ma più delicata se Debian è in una macchina virtuale).

    Come già detto prima, la frase "attacco il telefono" per una Linux Virtuale significa "agisco sl menu dispositivi -> dispositivi USB". Se va tutto bene il "visualizzatore file di registro" risponde così:
    codice:
    Nov 11 19:37:08 debianoid kernel: [ 2836.348117] usb 1-1: new high speed USB device using ehci_hcd and address 2
    Nov 11 19:37:08 debianoid kernel: [ 2836.582164] usb 1-1: New USB device found, idVendor=04e8, idProduct=689e
    Nov 11 19:37:08 debianoid kernel: [ 2836.582171] usb 1-1: New USB device strings: Mfr=1, Product=2, SerialNumber=3
    Nov 11 19:37:08 debianoid kernel: [ 2836.582175] usb 1-1: Product: Samsung Android USB Device
    Nov 11 19:37:08 debianoid kernel: [ 2836.582179] usb 1-1: Manufacturer: SAMSUNG Electronics Co., Ltd.
    Nov 11 19:37:08 debianoid kernel: [ 2836.582182] usb 1-1: SerialNumber: S5570b0a1b296
    Nov 11 19:37:08 debianoid kernel: [ 2836.583331] usb 1-1: configuration #1 chosen from 1 choice
    Nov 11 19:37:09 debianoid kernel: [ 2837.006181] cdc_acm 1-1:1.0: ttyACM0: USB ACM device
    Nov 11 19:37:09 debianoid kernel: [ 2837.019055] Initializing USB Mass Storage driver...
    Nov 11 19:37:09 debianoid kernel: [ 2837.041201] usbcore: registered new interface driver cdc_acm
    Nov 11 19:37:09 debianoid kernel: [ 2837.041207] cdc_acm: v0.26:USB Abstract Control Model driver for USB modems and ISDN adapters
    Nov 11 19:37:09 debianoid kernel: [ 2837.045121] scsi3 : SCSI emulation for USB Mass Storage devices
    Nov 11 19:37:09 debianoid kernel: [ 2837.046540] usbcore: registered new interface driver usb-storage
    Nov 11 19:37:09 debianoid kernel: [ 2837.046546] USB Mass Storage support registered.
    Nov 11 19:37:14 debianoid kernel: [ 2842.061473] scsi 3:0:0:0: Direct-Access     SAMSUNG  GT-S5570 Card    0100 PQ: 0 ANSI: 2
    Nov 11 19:37:14 debianoid kernel: [ 2842.063145] sd 3:0:0:0: Attached scsi generic sg2 type 0
    Nov 11 19:37:14 debianoid kernel: [ 2842.093368] sd 3:0:0:0: [sdb] Attached SCSI removable disk
    riprovo con l'android-sdk:
    codice:
    doc@debianoid:~/bin$ adb devices
    List of devices attached 
    S5570b0a1b296   device
    
    doc@debianoid:~/bin$
    ATTENZIONE: Saltare il testo in Blu se il telefono viene elencato!


    Se il risultato è simile a
    codice:
    ????????????    no permissions
    adb non ha privilegi sufficienti. Si risolve velocemente digitando da terminale root:
    codice:
    root@debianoid:~# /home/doc/bin/adb kill-server
    root@debianoid:~# /home/doc/bin/adb start-server
    * daemon not running. starting it now on port 5037 *
    * daemon started successfully *
    root@debianoid:~#
    riprovando subito dopo il comando adb devices


    Per finire verifico di ottenere facilmente i diritti di root anche sul telefono con adb shell:
    codice:
    doc@debianoid:~$ adb shell
    $ su
    #
    Easy Play!

    Nel frattempo, in attesa del prossimo post potrei usare l'android SDK manager per creare un emulatore virtuale di ICE CREAM... giusto per vedere com'è...
    ...
    ...meglio però non finire OFF TOPIC... eh eh...

    ice_cream.png
    Ultima modifica di Doc_cheilvenerdi.org; 12-11-2011 a 11: 56 Motivo: aggiunto collegamento al post successivo!

  4. I seguenti 2 utenti hanno ringraziato Doc_cheilvenerdi.org per aver trovato utile questo post:

    millo1978 (12-11-2011), unoxte (12-11-2011)

  5. #13
    L'avatar di Doc_cheilvenerdi.org Android Developer
    Registrato dal
    Aug 2011
    Residenza
    Ferrara - Ravenna
    Dispositivo
    Samsung Galaxy Next
    Operatore
    Wind
    Messaggi
    161
    Grazie!
    24
    Ringraziato 190 volte in 87 post

    Post Un pò Android un pò Linux

    Ecco in sequenza i passaggi con cui ho duplicato il filesystem /data dentro la microSD!

    Sono tutti comandi eseguiti da Terminale Linux e/o da adb shell; nel seguito li distinguerò semplicemente così:

    Terminale Linux:
    codice:
    doc@debianoid:~$ <- terminale
    doc@debianoid:~# <- terminale root
    Adb Shell:
    codice:
    $ <- shell senza privilegi
    # <- shell con privilegi
    Prima di tutto verifico di avere abbastanza spazio sulla sdcard attualmente dentro il telefono (può anche essere un'altra... diversa da quella preparata per l'utilizzo finale)
    codice:
    # df
    Filesystem             Size   Used   Free   Blksize
    ...
    /mnt/sdcard              5G     1G     4G   4096
    ...
    #
    P.S. df = disk free

    Mi servono circa 512Mb liberi per completare l'operazione; ne ho 4Gb; Perfetto!
    Mi sposto in /sdcard che sarà la "directory di lavoro" in android:
    codice:
    # cd /sdcard
    # pwd
    /mnt/sdcard
    # ls -l
    d---rwxr-x system   sdcard_rw          2011-11-08 23:22 Android
    ...
    d---rwxr-x system   sdcard_rw          2011-11-08 23:22 DCIM
    ...
    d---rwxr-x system   sdcard_rw          2011-11-08 23:22 LOST.DIR
    ...
    #
    P.S. cd = change directory... pwd = print working directory... ls = list... -l = long format

    ATTENZIONE: il comando seguente è molto pericoloso! Fa anche il caffè ma è molto pericoloso!
    codice:
    # dd if=/dev/stl13 of=/sdcard/data.rfs
    371200+0 records in
    371200+0 records out
    190054400 bytes transferred in 40.914 secs (4645216 bytes/sec)
    #
    Questo è un comando Linux fino dalla notte dei tempi. La sua descrizione qui:
    codice:
    doc@debianoid:~$ man dd
    doc@debianoid:~$
    P.S. dd = data dump... man = manual page

    Con questo comando ottengo una copia esatta del filesystem /data dentro il file di nome data.rfs (il nome l'ho scelto io)!
    l'origine /dev/stl13 è proprio dove risiede fisicamente il vero filesystem.

    Experts note: Tecnicamente dovrei prima montare il sistema in sola lettura, poi effettuare la copia! Se un'app modifica il sistema mentre lo sto copiando è male! In realtà, sapendo che Android gestisce la scrittura usando la cache... immaginando che, mentre eseguo il comando dd, non sto facendo partire settecento apps... che il tutto dura circa 40 secondi...
    codice:
    # ls -l
    ...
    ----rwxr-x system   sdcard_rw 190054400 2011-11-12 09:50 data.rfs
    ...
    L'originale da cui copiare è pronto, sotto con la destinazione (sempre in una directory di lavoro dedicata):
    codice:
    doc@debianoid:~$ cd
    doc@debianoid:~$ mkdir DataMoving
    doc@debianoid:~$ cd DataMoving/
    doc@debianoid:~/DataMoving$ dd if=/dev/zero of=data.ext4 bs=1M count=200
    200+0 record dentro
    200+0 record fuori
    209715200 byte (210 MB) copiati, 2,07587 s, 101 MB/s
    doc@debianoid:~/DataMoving$ ls -l
    totale 205004
    -rw-r--r-- 1 doc doc 209715200 12 nov 11.03 data.ext4
    doc@debianoid:~/DataMoving$
    P.S. if=/dev/zero = prendo tutti zero e li metto nel file data.ext4... bs = block size...
    L'importante è che la destinazione sia più grande della sorgente (altrimenti potrebbe non starci tutto...)

    Adesso faccio finta che il file [i]data.ext4[i/] (pieno di zeri) sia un filesystem e lo formatto:
    codice:
    root@debianoid:~# mkfs.ext4 /home/doc/DataMoving/data.ext4 
    mke2fs 1.41.12 (17-May-2010)
    /home/doc/DataMoving/data.ext4 non è un device speciale a blocchi.
    Procedere comunque? (s,n) s
    Etichetta del filesystem=
    Tipo SO: Linux
    Dimensione blocco=1024 (log=0)
    Dimensione frammento=1024 (log=0)
    Stride=0 blocks, Stripe width=0 blocks
    51200 inode, 204800 blocchi
    10240 blocchi (5.00%) riservati per l'utente root
    Primo blocco dati=1
    Maximum filesystem blocks=67371008
    25 gruppi di blocchi
    8192 blocchi per gruppo, 8192 frammenti per gruppo
    2048 inode per gruppo
    Backup del superblocco salvati nei blocchi: 
            8193, 24577, 40961, 57345, 73729
    
    Scrittura delle tavole degli inode: fatto                           
    Creating journal (4096 blocks): fatto
    Scrittura delle informazioni dei superblocchi e dell'accounting del filesystem: fatto
    
    Questo filesystem verrà automaticamente controllato ogni 37 mount, o
    180 giorni, a seconda di quale venga prima. Usare tune2fs -c o -i per cambiare.
    root@debianoid:~#
    Nota di colore: Storicamente le shell dei sistemi Unix e Linux distinguono l'user normale dal superutente (root) con i simboli $ e #... come anche la shell di Android :-)

    Sposto il file "appena formattato e ancora vuoto" sulla sdcard:
    codice:
    doc@debianoid:~/DataMoving$ adb push data.ext4 /sdcard/data.ext4
    435 KB/s (209715200 bytes in 470.001s)
    doc@debianoid:~/DataMoving$
    N.B. Questa operazione è molto veloce se Linux è installato su PC, ma potrebbe impiegare diversi minuti se è installato in una VirtualBOX Machine (470 secondi = quasi 8 minuti)...
    codice:
    # ls -l
    ----rwxr-x system   sdcard_rw 190054400 2011-11-12 09:50 data.rfs
    ----rwxr-x system   sdcard_rw 209715200 2011-11-12 11:07 data.ext4
    #
    Quasi finito!

    ATTENZIONE Per completare la Fase 2 del primo post e ottenere la MicroSD definitiva sono adesso necessarie due operazioni su Linux piuttosto lunghe e laboriose...
    le descrivo, quindi, in due post distinti intitolati così (da fare):

    • Come ho compilato i moduli del Kernel Android
    • Come ho compilato busybox

    P.S. Ovviamente su Internet - e probabilmente un pò su tutti i forum dedicati - queste procedure sono descritte fino alla nausea... Io qui mi limiterò a rendere ripetibile quello che ho fatto io...


    Easy Wait!
    Ultima modifica di Doc_cheilvenerdi.org; 12-11-2011 a 17: 04 Motivo: Aggiunto collegamento al Post 15

  6. I seguenti 3 utenti hanno ringraziato Doc_cheilvenerdi.org per aver trovato utile questo post:

    Cecco1970 (12-11-2011), millo1978 (12-11-2011), pierlux (12-11-2011)

  7. #14
    Baby Android
    Registrato dal
    May 2011
    Residenza
    Bologna, Milano, Lucera (FG)
    Dispositivo
    Samsung Next GT-S5570, Huawei Ideos (Powered by Dronix)
    Operatore
    Wind
    Messaggi
    4
    Grazie!
    1
    Ringraziato 0 volte in 0 post
    dai dai... sono in attesa...

    (ps: se puoi consigliarmi le guide che segui così posso andare "avanti" col lavoro visto che poi manco tutto il pomeriggio)

  8. #15
    L'avatar di Doc_cheilvenerdi.org Android Developer
    Registrato dal
    Aug 2011
    Residenza
    Ferrara - Ravenna
    Dispositivo
    Samsung Galaxy Next
    Operatore
    Wind
    Messaggi
    161
    Grazie!
    24
    Ringraziato 190 volte in 87 post

    Exclamation Come ho compilato i moduli del Kernel Android

    Può una frase così semplice nascondere difficoltà davvero insormontabili?
    Direi di no! Basta provarci... leggere molto e provarci!


    Premessa: Kernel di Linux
    Intanto Provo a compilare dentro Linux un Kernel per Linux (anche se non lo userò veramente)
    N.B. Informazioni più dettagliate sul Wiki FAQ di debian!

    Dal gestore pacchetti (Debian) vedo che sono già installati questi:

    • linux-image-2.6.32-5-common
    • linux-image-2.6.32-5-common-686


    cioè il Kernel già compilato.
    Installo allora i suoi sorgenti (potrebbe volerci un pò):

    • linux-source-2.3.32



    Attenzione: Se non trovo il pacchetto da installare (probabile) devo checkare nel menu del "gestore pacchetti" la voce "Codice Sorgente" che trovo in "Impostazioni -> Repository -> Debian Software"

    La parte che conta del pacchetto installato la trovo qui:
    codice:
    root@debianoid:~# ls -l /usr//src/
    totale 63672
    drwxr-xr-x 4 root root     4096  4 nov 23.20 linux-headers-2.6.32-5-686
    drwxr-xr-x 4 root root     4096  4 nov 23.20 linux-headers-2.6.32-5-common
    lrwxrwxrwx 1 root root       26 31 ott 22.44 linux-kbuild-2.6.32 -> ../lib/linux-kbuild-2.6.32
    -rw-r--r-- 1 root root 65118630  2 nov 07.52 linux-source-2.6.32.tar.bz2
    lrwxrwxrwx 1 root root       49  9 nov 18.27 vboxguest-4.1.6 -> /opt/VBoxGuestAdditions-4.1.6/src/vboxguest-4.1.6
    root@debianoid:~#
    Ecco quello che faccio (tutto d'un fiato) per compilare un kernel esattamente identico a quello attualmente in funzione:
    codice:
    root@debianoid:~# cd /usr/src/
    root@debianoid:/usr/src# tar xjvf linux-source-2.6.32.tar.bz2
    root@debianoid:/usr/src# cd linux-source-2.6.32/
    root@debianoid:/usr/src/linux-source-2.6.32# cp /boot/config-2.6.32-5-686 .config
    root@debianoid:/usr/src/linux-source-2.6.32# make
    Ci vorrà un bel pò ma il risultato finale dovrebbe essere simile a questo:
    codice:
    ...
      IHEX2FW firmware/keyspan_pda/keyspan_pda.fw
      IHEX2FW firmware/keyspan_pda/xircom_pgs.fw
    root@debianoid:/usr/src/linux-source-2.6.32#
    La parte interessante e utile per i miei scopi è questa: ecco come posso modificare a mio piacimento i parametri del kernel:
    codice:
    root@debianoid:/usr/src/linux-source-2.6.32# make menuconfig
    Da qui ho accesso ad un menu che mi permette di modificare tutte le opzioni di compilazione!


    Obiettivo del Post: Kernel di Android
    Cos'è che mi ha permesso di compilare con LInux il Kernel di Linux?
    Il compilatore si chiama gcc più qualcos'altro e insieme ad alcuni pacchetti collaterali formano la Linux i686 Toolchain: il colpevole!

    In definitiva (mi sembra ovvio) per compilare Linux su PC uso proprio Linux su PC!
    Per Android è un pò diverso: non posso usare Android su Telefono per compilare Android su Telefono perchè questa "Toolchain" non c'è - o meglio - se c'è, io non ce l'ho e non l'ho trovata (come altri 100 milioni di utenti world wide...); devo allora trovare un metodo diverso (questo c'è):

    Userò Linux su PC per compilare Android su Telefono... tutto qua, facile a dirsi...

    Tecnicamente il cuore di Android è un Linux che però non gira sui processori dei PC (pentium, core2, ecc...) ma gira sui processori smartphone (arm...): la questione è tutta qui; uso Linux da PC traducendo il risultato in un Linux per arm!

    ...solo un pò brigoso a farsi (all'inizio): mi serve una "android toolchain", ma prepararmela da solo è iper-mega-ultra tecnico (cercherò di farlo in uno degli ultimi Post), allora ne scarico una già fatta molto affidabile:

    Code Sourcery G++ fro ARM GNU/Linux

    Ce ne sono anche altre ma, per adesso, io userò questa!
    codice:
    doc@debianoid:~/builds$ tar xjvf ~/Downloads/arm-2011.03-41-arm-none-linux-gnueabi-i686-pc-linux-gnu.tar.bz2
    doc@debianoid:~/builds$ ls -l
    ...
    drwxr-xr-x 1 doc doc     4096  4 nov 21.17 arm-2011.03
    ...
    Mi procuro i sorgenti del kernel di Android per il GT-S5570 qui:
    Samsung Open Source Release Center e scelgo questi -> GT-S5830_S5570_EUR_OpenSource.zip

    codice:
    doc@debianoid:~/builds$ unzip ~/Downloads/Samsung_OpenSource/GT-S5830_S5570_EUR_OpenSource.zip 
    Archive:  /home/doc/Downloads/GT-S5830_S5570_EUR_OpenSource.zip
       creating: GT-S5830_S5570_EUR_OpenSource/
      inflating: GT-S5830_S5570_EUR_OpenSource/kernel.tar.gz  
      inflating: GT-S5830_S5570_EUR_OpenSource/Platform.tar.gz  
    doc@debianoid:~/builds$ tar xzvf GT-S5830_S5570_EUR_OpenSource/kernel.tar.gz
    doc@debianoid:~/builds$ mv kernel/ kernel_GT-S5830
    doc@debianoid:~/builds$
    ...mi ritrovo anche un file README.txt di cui consiglio sicuramente la lettura!

    Attenzione: se il comando "unzip" non c'è, devo installare in Debian il corrispettivo pacchetto...

    codice:
    doc@debianoid:~/builds$ cd kernel_GT-S5830/
    doc@debianoid:~/builds/kernel_GT-S5830$
    Studio un pò il contenuto dei sorgenti e l'output del comando
    codice:
    doc@debianoid:~/builds/kernel_GT-S5830$ make help
    ...
      tass_rev02_defconfig     - Build for tass_rev02
    ...
    Execute "make" or "make all" to build all targets marked with [*] 
    For further info see the ./README file
    doc@debianoid:~/builds/kernel_GT-S5830$
    scoprendo che mi ritrovo la compilazione già predisposta per il Next al 90% semplicemente digitando:
    codice:
    doc@debianoid:~/builds/kernel_GT-S5830$ make tass_rev02_defconfig
      HOSTCC  scripts/basic/fixdep
      HOSTCC  scripts/basic/docproc
      HOSTCC  scripts/basic/hash
      HOSTCC  scripts/kconfig/conf.o
      HOSTCC  scripts/kconfig/kxgettext.o
      HOSTCC  scripts/kconfig/zconf.tab.o
      HOSTLD  scripts/kconfig/conf
    drivers/usb/gadget/Kconfig:849:warning: defaults for choice values not supported
    drivers/usb/gadget/Kconfig:1089:warning: defaults for choice values not supported
    arch/arm/configs/tass_rev02_defconfig:557:warning: override: reassigning to symbol IPV6_ROUTER_PREF
    #
    # configuration written to .config
    #
    doc@debianoid:~/builds/kernel_GT-S5830$
    In realtà non ho intenzione di compilare tutto il Kernel intero (dove di fatto mancano molti pezzi di proprietà di Samsung sufficienti a rendermelo inutilizzabile...) ma solo alcune parti che andrò a selezionare con il comando già visto per Linux
    codice:
    doc@debianoid:~/builds/kernel_GT-S5830$ make menuconfig
    Le opzioni, che voglio selezionare o deselezionare, sono le seguenti (le indico menu per menu):

    File System -> :

    • <M> The Extended 4 (ext4) filesystem
    • [ ] Use ext4 for ext2/ext3 file systems


    N.B. Attenzione alla <M>: mi avvisa che compilerà un modulo, mentre l'asterisco compilerebbe il codice bloccandolo dentro al kernel (...e a me serve un modulo!)

    General setup -> :

    • () Cross-compiler tool prefix
    • (-perf) Local version - append to kernel release


    queste le cambio così:

    • (/home/doc/builds/arm-2011.03/bin/arm-none-linux-gnueabi-) Cross-compiler tool prefix
    • (-perf-CL561937) Local version - append to kernel release


    N.B. La prima mi permette di Cross-compilare da Linux ad Android (). L'ultima informazione la trovo nel menu "Impostazioni -> Info sul dispositivo" del telefono!... Devo mettere quella! Mi serve per fare funzionare i nuovi moduli proprio sul mio telefono ()!

    Esco, salvo e compilo... ma solo i moduli (non ho bisogno di perdere 20 minuti per un kernel che non userò):

    codice:
    doc@debianoid:~/builds/kernel_GT-S5830$ make modules
    ...
      Building modules, stage 2.
      MODPOST 9 modules
    ...
      LD [M]  fs/jbd2/jbd2.ko
    doc@debianoid:~/builds/kernel_GT-S5830$
    WOW! ho appena cross-compilato da PC per Android !


    Non è finita! vediamo come sono i moduli che ho compilato
    codice:
    doc@debianoid:~/builds/kernel_GT-S5830$ ls -l fs/jbd2/*.ko
    -rw-r--r-- 1 doc doc 825921 12 nov 16.29 fs/jbd2/jbd2.ko
    doc@debianoid:~/builds/kernel_GT-S5830$ ls -l fs/ext4/*.ko
    -rw-r--r-- 1 doc doc 3376851 12 nov  2011 fs/ext4/ext4.ko
    doc@debianoid:~/builds/kernel_GT-S5830$
    Ops! mi sembrano un pò troppo grandi... devo metterli dentro un "ramdisk" quasi grande uguale... procedo allora a rimpicciolirli così:
    codice:
    doc@debianoid:~/builds/kernel_GT-S5830$ ~/builds/arm-2011.03/bin/arm-none-linux-gnueabi-strip --strip-unneeded fs/jbd2/jbd2.ko 
    doc@debianoid:~/builds/kernel_GT-S5830$ ~/builds/arm-2011.03/bin/arm-none-linux-gnueabi-strip --strip-unneeded fs/ext4/ext4.ko 
    doc@debianoid:~/builds/kernel_GT-S5830$
    Non è magia... ho solo tolto dai moduli informazioni che servono ai programmatori in caso di Debug (...e non è il mio caso!)... vediamo di nuovo:
    codice:
    doc@debianoid:~/builds/kernel_GT-S5830$ ls -l fs/jbd2/*.ko
    -rw-r--r-- 1 doc doc 58176 12 nov 16.40 fs/jbd2/jbd2.ko
    doc@debianoid:~/builds/kernel_GT-S5830$ ls -l fs/ext4/*.ko
    -rw-r--r-- 1 doc doc 236116 12 nov 16.39 fs/ext4/ext4.ko
    doc@debianoid:~/builds/kernel_GT-S5830$
    Molto meglio! Così ci stanno!

    Quasi finito... collego il cellulare... e...
    codice:
    doc@debianoid:~/builds/kernel_GT-S5830$ adb push fs/jbd2/jbd2.ko /data/local
    501 KB/s (58176 bytes in 0.113s)
    doc@debianoid:~/builds/kernel_GT-S5830$ adb push fs/ext4/ext4.ko /data/local
    558 KB/s (236116 bytes in 0.412s)
    doc@debianoid:~/builds/kernel_GT-S5830$
    ...e copio i moduli in una directory temporanea del telefono (la solita /data/local)...


    ...Fase due completata all'80%... asking you to wait again...

    ATTENZIONE: DIFFERENZE TRA CELLULARI:
    Per cellulari o modelli diversi è necessario recuperare i sorgenti del proprio kernel se disponibili o, in alternativa, i sorgenti del kernel generale di google-android stessa versione: le quattro cifre identificative devono coincidere (esempio: 2.6.35-7 oppure 2.6.32-9, ecc...)
    N.B. Non includo i Link ai sorgenti Google perchè ultimamente hanno dato problemi (a me)... sarà mia premura aggiornare il Link quanto prima.


    Ultima modifica di Doc_cheilvenerdi.org; 13-11-2011 a 00: 20 Motivo: Attenzione a cellulari diversi!

  9. I seguenti utenti hanno ringraziato Doc_cheilvenerdi.org per aver trovato utile questo post:

    millo1978 (14-11-2011)

  10. #16
    L'avatar di Cecco1970 Android Pro
    Registrato dal
    Nov 2010
    Residenza
    Villafranca di Verona
    Dispositivo
    Sony Ericsson/Sony Xperia X10i, S, Z1c,Z5c,XZ1c
    Operatore
    Vodafone
    Messaggi
    512
    Grazie!
    60
    Ringraziato 90 volte in 76 post
    Ciao, una piccola curiosità tecnica a cui puoi rispondere a fine guida (se ci sarà risposta), indicativamente quanto potrebbero impegnare in termini di tempo queste operazioni ad uno come te seguendo la guida?
    Hai indubbiamente un gran dono nell'eseguire guide dettagliate (penso a prova di niubbo) e questo rende operazioni lunghe e complesse una tentazione anche per persone come me..
    Ovviamente la domanda serve per quantificare cosa impiega ad eseguire tutta la procedura uno che le esegue da manuale (non a caso )...da lì potrei indicativamente sapere quanto tempo dovrebbe investire uno come me (credo considererei con i rischi, le dovute attenzioni nella lettura e nella esecuzione almeno 3/4 volte il tuo tempo, ma più è lunga la lista e maggiore è anche il fattore di tempo da calcolare per me nonchè un riferimento per sapere se iniziare)...
    Altra domanda, quali caratteristiche devo conoscere per sapere se la procedura può essere compatibile con un altro device (o è già noto dove si può usare?)..ammesso sia possibile conoscere l'informazione...
    ..chiedo scusa se sono OT ...

  11. #17
    DanielPisu
    Guest
    Quote Originariamente inviato da JacopoAndroid Visualizza il messaggio
    Ma quindi se ho capito bene viene tolta una parte di memoria alla SD e spostata al telefono ? Se la volessi mettere ad esempio in una fotocamera, avrei i GB meno di quelli effettivi ? Per avere il giga la memoria deve essere sempre inserita ?
    Questo procedimento può influenzare la garanzia ? Funziona su tutti i FW?
    Una domanda per post, per favore...

  12. #18
    L'avatar di Doc_cheilvenerdi.org Android Developer
    Registrato dal
    Aug 2011
    Residenza
    Ferrara - Ravenna
    Dispositivo
    Samsung Galaxy Next
    Operatore
    Wind
    Messaggi
    161
    Grazie!
    24
    Ringraziato 190 volte in 87 post

    Quoto o no Quoto? Questo è il problema...

    Quote Originariamente inviato da Cecco1970 Visualizza il messaggio
    quanto potrebbero impegnare in termini di tempo queste operazioni ad uno come te seguendo la guida?
    [...]
    quantificare cosa impiega ad eseguire tutta la procedura uno che le esegue da manuale
    In effetti è più il tempo necessario per scrivere questi post che il tempo esecutivo delle operazioni da svolgere...
    Chi è davvero esperto salta dritto all'ultimo post evitando tutti i passaggi intermedi in cui spiego - diciamo così - i parziali...
    Chi ha già Linux installato, ha già esperienze base di compilazione e conoscenze base di Linux credo che possa completare il tutto (da manuale) in una mezza giornata (ATTENZIONE: la maggior parte del tempo si passa al PC aspettando che Linux finisca di compilare)
    Chi usa il PC con le pillole può seguire la guida con la stessa velocità ma potrebbe incartarsi in caso di problemi e/o errori (sicuramente risolvibili ma magari aiutati da qualcun'altro...)
    Chi non ne ha un'idea probabilmente non è arrivato a leggere la tua domanda...

    Quote Originariamente inviato da Cecco1970 Visualizza il messaggio
    ... un riferimento per sapere se iniziare...
    Questo in cuor tuo lo sai solo tu... ma - ripeto - visto che il grosso del lavoro è al computer... se ti servono tre weekends andando a singhiozzo e lasciando compilare durante la notte, il gioco vale sicuramente la candela! Inoltre puoi sempre abbandonare lungo la strada... l'operazione di FlashBoot serve solo nell'ultimo post (...e ne mancano ancora cinque o sei...)

    Quote Originariamente inviato da Cecco1970 Visualizza il messaggio
    Quali caratteristiche devo conoscere per sapere se la procedura può essere compatibile con un altro device (o è già noto dove si può usare?)
    Come ho avuto occasione di dire a Pablo e Jacopo, che me lo hanno fatto notare, metterò in evidenza tutti i passaggi in cui potrebbero esserci delle differenze tra celulari... Io ho la soluzione per il Next, per tutti gli altri posso solo dirvi dove cercarla... (aspetto poi feedback di conferma/diniego)... ma sono MOLTO ottimista... in fondo ci sono migliaia di distribuzioni Linux... tutte diverse... tutte uguali... che girano su infiniti PC infinitamente diversi...
    Il discorso potrebbe cambiare per i cellulari che montano Froyo... lì dovrei approfondire la situazione... ma intanto restiamo concentrati su GingerBread!

    Quote Originariamente inviato da Cecco1970 Visualizza il messaggio

  13. I seguenti utenti hanno ringraziato Doc_cheilvenerdi.org per aver trovato utile questo post:

    Cecco1970 (13-11-2011)

  14. #19
    DanielPisu
    Guest
    Il tipo di post che hai fatto ora per Cecco e prima per Jacopo sono un rimedio hai post con più domande (almeno tu separi le domande). Ma in generale bisogna rispettare il regolamento, che prevede una domanda per post, .

  15. #20
    L'avatar di Doc_cheilvenerdi.org Android Developer
    Registrato dal
    Aug 2011
    Residenza
    Ferrara - Ravenna
    Dispositivo
    Samsung Galaxy Next
    Operatore
    Wind
    Messaggi
    161
    Grazie!
    24
    Ringraziato 190 volte in 87 post

    Angry Come ho compilato busybox

    Questo paragrafo è decisamente interessate ma può essere interamente saltato se busybox è già installato nel telefono in /system/xbin


    BusyBox: The Swiss Army Knife of Embedded Linux

    Busybox mi serve per eseguire operazioni dentro il telefono altrimenti impossibili da compiere.

    Al momento l'ultima versione stabile è la 1.19.3 mentre quella instabile è la 1.20.0.git (instabile?, pericolosa?, incompleta? forse ha funzioni in più... provo questa).

    Per scaricare la versione instabile devo installare questo pacchetto nel sistema:

    • git


    Fatto questo la scarico così (sono circa 60-70Mb):
    codice:
    doc@debianoid:~$ cd builds
    doc@debianoid:~/builds$ git clone git://busybox.net/busybox.git
    Cloning into busybox...
    remote: Counting objects: 86056, done.
    remote: Compressing objects: 100% (24216/24216), done.
    remote: Total 86056 (delta 67260), reused 78435 (delta 61308)
    Receiving objects: 100% (86056/86056), 20.44 MiB | 98 KiB/s, done.
    Resolving deltas: 100% (67260/67260), done.
    doc@debianoid:~/builds$
    Chiaramente in rete (e anche nel market) si trovano delle versioni già compilate da altri...
    ...ma vuoi mettere la soddisfazione...



    N.B. Nel tempo la versione instabile verrà aggiornata... le "terrò dietro" così (diciamo che questo comando lo userò solo prima di una nuova compilazione se è passato del tempo... giorni... settimane... ecc...):
    codice:
    doc@debianoid:~/builds/busybox$ git pull
    remote: Counting objects: 17, done.
    remote: Compressing objects: 100% (13/13), done.
    remote: Total 13 (delta 10), reused 0 (delta 0)
    Unpacking objects: 100% (13/13), done.
    From git://busybox.net/busybox
       b9f4cd8..39b2331  master     -> origin/master
    Updating b9f4cd8..39b2331
    Fast-forward
     util-linux/Config.src |   11 ++++-
     util-linux/mount.c    |   99 +++++++++++++++++++++++++++++++++++--------------
     2 files changed, 79 insertions(+), 31 deletions(-)
    doc@debianoid:~/builds/busybox$


    DEVO indicare il percorso della arm toolchain (vedi post precedente) a Linux in questo modo:
    codice:
    doc@debianoid:~/builds/busybox$ export PATH=$PATH:/home/doc/builds/arm-2011.03/bin/
    doc@debianoid:~/builds/busybox$
    Poi mi preparo per la compilazione:
    codice:
    doc@debianoid:~/builds$ cd busybox
    doc@debianoid:~/builds/busybox$ make menuconfig
    ...come per il Kernel

    ...ed ecco i parametri minimi necessari (si trovano anche qua e là nella rete):


    • Busybox Settings --> Build Options --> Build Busybox as a static binary (no shared libs)
    • Busybox Settings --> Build Options --> Cross compiler prefix = arm-none-linux-gnueabi-
    • Busybox Settings --> General Configuration --> Don't use /usr
    • Linux Module Utilities --> () Default directory containing modules (lasciare vuoto)
    • Linux Module Utilities --> () Default name of modules.dep (lasciare vuoto)



    Molti altri parametri... dipende... per adesso la compilo così: FULL OPTIONAL!

    Esco, salvo e compilo...
    ATTENZIONE: può non essere un errore!
    Ogni volta che cambio l'opzione di Cross-Compilazione quando esco da "menuconfig" ottengo questo errore:
    codice:
    scripts/kconfig/mconf Config.in
    #
    # using defaults found in /dev/null
    #
    
    
    *** End of configuration.
    *** Execute 'make' to build the project or try 'make help'.
    
    /home/doc/builds/busybox/scripts/gcc-version.sh: line 11: /home/doc/builds/arm-2011.3/bin/arm-none-linux-gnueabi-gcc: No such file or directory
    lo ottengo anche se mi sono dimenticato di aggiornare il $PATH... se correggo e rifaccio "make menuconfig" non succede più... tutto regolare...


    Compilo:
    codice:
    doc@debianoid:~/builds/busybox$ make
    ...
    doc@debianoid:~/builds/busybox$
    e controllo il risultato:
    codice:
    doc@debianoid:~/builds/busybox$ ls -l busybox*
    -rwxr-xr-x 1 doc doc 2010900 12 nov 19.29 busybox
    -rwxr-xr-x 1 doc doc 2506778 12 nov 19.29 busybox_unstripped
    -rw-r--r-- 1 doc doc 2265600 12 nov 19.29 busybox_unstripped.map
    -rw-r--r-- 1 doc doc   97577 12 nov 19.29 busybox_unstripped.out
    doc@debianoid:~/builds/busybox$
    ...è enorme (dovrei eliminare qualche parametro da menuconfig... o compilarla con l'android NDK invece che con l'SDK... proverò - forse - in un altro Thread... ma è un Topic dieci volte più difficile di tutti questi messi assieme... almeno per me...); è enorme ma in /system/xbin ci sta tranquillamente...

    Tecnicamente l'android NDK (cito dal sito) is a companion tool to the Android SDK that lets you build performance-critical portions of your apps in native code

    Quasi finito... collego il cellulare... e... in sequenza...
    codice:
    # mount -o remount rw /system
    # mkdir /system/xbin
    #
    codice:
    doc@debianoid:~/builds/busybox$ adb push busybox /data/xbin
    1535 KB/s (2010900 bytes in 1.278s)
    doc@debianoid:~/builds/busybox$
    codice:
    # cd /system/xbin
    # ls -l
    -rwxrwxrwx root     root      2010900 2011-11-12 19:29 busybox
    # chmod 04755 busybox
    # ls -l
    -rwsr-xr-x root     root      2010900 2011-11-12 19:29 busybox
    ## ./busybox
    BusyBox v1.20.0.git (2011-11-12 19:08:35 CET) multi-call binary.
    Copyright (C) 1998-2011 Erik Andersen, Rob Landley, Denys Vlasenko
    and others. Licensed under GPLv2.
    See source distribution for full notice.
    
    Usage: busybox [function] [arguments]...
       or: busybox --list[-full]
       or: function [arguments]...
    ...
            unlzma, unlzop, unxz, unzip, uptime, users, usleep, uudecode, uuencode,
            vconfig, vi, vlock, volname, wall, watch, watchdog, wc, wget, which,
            who, whoami, whois, xargs, xz, xzcat, yes, zcat, zcip
    
    #
    Got it!... funziona!

    Facoltativo (ma io non l'ho fatto): se dentro la directory /system/xbin volessi creare dei link simbolici a tutti i comandi di busybox mi basta digitare:
    codice:
    # ./busybox --install
    ...
    #



    ...Fase due completata al 99%... On the Rock again!

    Ultima modifica di Doc_cheilvenerdi.org; 13-11-2011 a 12: 33 Motivo: Aggiunto collegamento al Post 21

  16. I seguenti utenti hanno ringraziato Doc_cheilvenerdi.org per aver trovato utile questo post:

    millo1978 (14-11-2011)

prima« 1234 »

LinkBacks (?)

  1. 08-01-2017, 14: 34
  2. 21-05-2015, 21: 06
  3. 20-05-2015, 14: 43
  4. 17-02-2015, 17: 46
  5. 11-10-2014, 12: 01
  6. 17-09-2014, 12: 52
  7. 09-09-2014, 17: 43
  8. 19-07-2014, 12: 27
  9. 05-03-2014, 02: 26
  10. 04-01-2014, 02: 04
  11. 27-12-2013, 13: 30
  12. 26-12-2013, 09: 26
  13. 07-12-2013, 12: 59
  14. 01-10-2013, 19: 50
  15. 28-09-2013, 23: 43
  16. 09-08-2013, 20: 30
  17. 30-07-2013, 03: 03
  18. 25-07-2013, 00: 12
  19. 28-05-2013, 01: 01
  20. 30-04-2013, 08: 16
  21. 08-04-2013, 09: 55
  22. 29-03-2013, 17: 39
  23. 24-03-2013, 08: 41
  24. 20-02-2013, 16: 31
  25. 16-02-2013, 00: 59
  26. 14-02-2013, 20: 29
  27. 06-02-2013, 23: 39
  28. 30-01-2013, 17: 03
  29. 22-01-2013, 12: 21
  30. 21-01-2013, 14: 56
  31. 21-01-2013, 14: 52
  32. 11-01-2013, 18: 02
  33. 08-01-2013, 13: 28
  34. 02-01-2013, 19: 58
  35. 27-12-2012, 20: 58
  36. 27-12-2012, 10: 17
  37. 17-12-2012, 05: 09
  38. 14-12-2012, 01: 40
  39. 12-12-2012, 21: 27
  40. 08-12-2012, 15: 04
  41. 26-11-2012, 01: 50
  42. 25-11-2012, 13: 17
  43. 23-11-2012, 10: 31
  44. 16-11-2012, 01: 33
  45. 30-10-2012, 10: 08
  46. 30-10-2012, 09: 44
  47. 28-10-2012, 17: 29
  48. 11-10-2012, 04: 45
  49. 10-10-2012, 14: 09
  50. 09-10-2012, 00: 42

Discussioni simili

  1. 01-09-2019
    68Risposte
  2. Memoria interna e memoria MicroSD
    Da francis.tool nel forum HTC Salsa
    04-04-2012
    1Risposte
  3. Memoria Interna
    Da arkadio994 nel forum Sony Ericsson Xperia Neo / Neo V
    07-11-2011
    1Risposte
  4. APP ... Memoria interna VS memoria esterna
    Da Eugenioc nel forum Samsung Galaxy Ace (S5830)
    06-09-2011
    10Risposte
  5. Memoria SD interna, microsd, memoria telefono... confusione!!
    Da alettone nel forum Samsung Galaxy S (i9000/i9001/i9003)
    14-11-2010
    5Risposte

Segnalibri

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  

Search Engine Friendly URLs by vBSEO 3.6.1