CERCA
PER MODELLO
FullScreen Chatbox! :)

Utente del giorno: pumaro con ben 4 Thanks ricevuti nelle ultime 24 ore
Utente della settimana: 9mm con ben 9 Thanks ricevuti negli ultimi sette giorni
Utente del mese: 9mm con ben 31 Thanks ricevuti nell'ultimo mese

Pagina 1 di 3 123 ultimoultimo
Ultima pagina
Visualizzazione dei risultati da 1 a 10 su 28
Discussione:

[GUIDA] compilazione del kernel android e Linux

Se questa discussione ti č stata utile, ti preghiamo di lasciare un messaggio di feedback in modo che possa essere preziosa in futuro anche per altri utenti come te!
  1. #1
    Androidiani Power User L'avatar di cesco


    Registrato dal
    Sep 2010
    Localitā
    Bg
    Messaggi
    5,018
    Smartphone
    TYTN2,desire,desireHD, oneX

    Ringraziamenti
    54
    Ringraziato 1,346 volte in 724 Posts
    Predefinito

    [GUIDA] compilazione del kernel android e Linux

    visto la calma piatta che gira ultimamente nel mondo del modding del DHD ho pensato, perche' non mi metto a compilare un kernel per il mio bambinello??
    dopo essermi informato a destra e a manca, dopo svariate prove e tentativi andati a vuoto, finalmente sono riuscito a raggruppare le idee per una guida sulla compilazione del kernel android!
    spero possa essere utile a tutti gli smanettoni che hanno voglia di provare nuove esperienze!

    cosa serve:

    • kernel AOSP: scaricatelo da github o da google code, in base al vostro dispositivo
    • kernel Htc: http://htcdev.com/devcenter/downloads
    • per altri sorgenti (es.kernel sense 3.5 cercate su XDA nei relativi thread delle rom)
    preparazione del sistema:
    una volta scaricato tutto scompattate le varie cartelle in un punto a voi comodo (desktop va benissimo)

    ora dobbiamo estrarre la configurazione del kernel in uso sul DHD per poter poi compilare il kernel quindi:
    aprite il terminale e spostatevi con cd nella cartella dell'sdk contenente ADB
    collegate il DHD al pc e date i seguenti comandi:

    codice:
    adb pull /proc/config.gz
    cat config.gz | gunzip > .config
    in questo modo estrarremo dal kernel attualmente in uso la configurazione che ci servira' per compilare quello nuovo!

    una piccola premessa, se avete una rom sense usate i sorgenti per rom sense, non gli aosp!! ( e' scontato ma e' sempre meglio specificarlo)

    ora la tastiera inizia a scottare!

    spostate il file .config ( se non lo vedete nella cartella di ADB cliccate su visualizza> mostra file nascosti) nella cartella dei sorgenti del kernel ( dove c'e' anche il MAKEFILE)

    ora apriamo con il terminale spostiamoci nella cartella dei sorgenti e diamo i comandi che seguono:

    codice:
    export ARCH=arm
    export CROSS_COMPILE=/home/utente/Scrivania/android-ndk-r7/toolchains/arm-linux-androideabi-4.4.3/prebuilt/linux-x86/bin/arm-linux-androideabi-
    export ARCH=arm : noi andiamo a dire al sistema che stiamo per compilare un kernel per architettura ARM
    export CROSS_COMPILER=X/Y/Z indichiamo al sistema dove si trovano i vari tool per la compilazione di un kernel per architettura diversa (cross compile appunto) e questi file sono nell'NDK nella cartella con il seguente percorso:
    codice:
    /android-ndk-r7/toolchains/arm-linux-androideabi-4.4.3/prebuilt/linux-x86/bin/arm-linux-androideabi-
    se la cartella l'avete sul desktop cambiate la dicitura UTENTE con il nome utente che avete sul PC!

    ora iniziamo la compilazione (finalmente!)
    codice:
    make -j(X+1)
    make: avvia la compilazione
    -j : jobs, ossia quante operazioni deve svolgere cntemporaneamente
    (X+1): numero di operazioni da svolgere contemporaneamente ( dualcore 3 (2+1), quadcore 5 (4+1) e andra' scritto in questo modo: make -j5
    se lasciate il solo -j significa che il numero di operazioni contemporaneamente sara' infinito, potreste anche far crashare il sistema!

    una volta terminata la compilazione avrete una zImage che andra' dusa con la ramdisk del kernel.
    la ramdisk dovrete estrarla da un kernel esistente (possibilemente dello stesso degenere che state compilando). lo faremo con l'aiuto di dsixda kitchen, quindi:
    mettete la rom (anche lo zip della rom in uso va bene) nella cartella /dsixda-android-kitchen/original_update
    da terminale spostatevi nella cartella di dsixda e date il comando:
    codice:
    ./menu
    • ora premete 1 e date invio per scompattare la rom nella cartella adibita alle modifiche
    • ora scrivete 20 e date invio per andare al menu dei tool per la boot.img
    • ora premiamo a ( extract kernel+ ramdisk (regular format) from boot.img in any folder), il programma creera' una nuova cartella nella cartella DsiXDA chiamata bootimg_XXXXX_YYY e ci chiedera' di mettere la boot.img in quella cartella. la preleveremo quindi dalla cartella working_folder e la metteremo in bootimg_XXXX_YYY. una volta fatto, diamo invio
    • ed ecco qui la nostra ramdisk!


    ora dobbiamo fondere zImgae e ramdisk per formare la nuova boot.img. per farlo usate il seguente comando:

    codice:
    mkbootimg --kernel Mia_zImage --ramdisk Mia_ramdisk.gz --cmdline "no_console_suspend=1" --base 14400000 --output MiaBoot.img
    ora e' il momento di testare il nostro lavoro quindi:
    mettiamo il DHD in fastboot mode e da fastboot diamo il seguente comando:
    codice:
    fastboot boot MiaBoot.img
    in questo modo se il kernel non funzionera' ci bastera' spegnere il telefono ( rimuovendo la batteria) per annullare le modifiche e avere comunque il telefono funzionante!

    un sentito grazie a RcrdBrt per l'aiuto che mi ha fornito!

    Guida veloce alla compilazione del kernel per linux
    visto che il procedimento e' molto simili aggiungo anche la compilazione del kernel linux, molto piu' semplice e adatta a chi vuole addentrarsi senza problemi al mondo della compilazione!

    cosa serve:
    una distro linux qualunque
    sorgenti del kernel: The Linux Kernel Archives

    informazioni per il download dei sorgenti
    consiglio a tutti di scaricare le versioni con numerazione a 2 o 3 cifre, per esempio 3.2.1 oppure 2.6.39, scartando quindi le versioni a 4 cifre tipo 2.6.39.4, che spesso danno problemi con il patching futuro.

    ora cominciamo!

    una volta scaricati i sorgenti estraeteli dove volete ( desktop o scrivania vanno benissimo)
    aprite il terminale e spostatevi nella cartella contenente i file estratti e date il comando:
    codice:
    make mrproper
    cp /boot/config-`uname -r` .config
    con make mrproper puliamo i sorgenti da eventuali tracce di vecchia configurazione ( anche se non dovrebbero essercene)
    mentre con cp /boot/config-`uname -r` .config andremo a prendere la configurazione del kernel in uso che ci servira' per compilare il nuovo kernel con una configurazione sicura e funzionante.

    diamo ora il comando:
    codice:
    make oldconfig
    in questo modo creeremo il file di configurazione per il make. probabilmente vi verranno poste una sfilza di domande riguardanti la modifica delle voci di configurazione, non dovrete fare altro che premere invio N-mila volte per non modificare quelle voci! ( se e' la prima volta che compilate non modificatele, premete solo invio una marea di volte!!!)

    una volta terminato non ci resta che dare il comando di avvio della compilazione, quindi:

    codice:
    make -jX
    come scritto sopra -j e' il numero dei jobs, quindi operazione che make dovra' svolgere contemporaneamente per la compilazione. X e' il numero dei jobs che volete che faccia, quindi, inserite un numero in base ai core della vostra CPU (2= dualcore, 4= quadcore). se lasciate solo -j verranno eseguite infinite operazioni contemporaneamente (non ve lo consiglio proprio!)

    una volta terminata la configurazione dovremo installare il nuovo kernel, per farlo daremo i comandi ( da utente root):
    codice:
    sudo make modules_install
    sudo make install
    ora il kernel e' installato e reso come default quindi al riavvio partira' il nostro kernel. per evitare spiacevoli inconvenienti ( il kernel potrebbe anche non partire) dobbiamo modificare le voci del grub in modo che, nel caso il nostro kernel non parta, potremo comunque riavviare il PC con il vecchio kernel funzionante. farlo e' molto semplice:
    • installiamo grub customizer (io sono su distro debian):


    codice:
    sudo apt-get install grub-customizer
    all'apertura dovremo dare i privilegi di root inserendo la password, fatto questo il programma analizzera' il sistema per cercare le versioni del kernel installate e la configurazione attuale di grub.
    nell'interfaccia avremo una lista delle voci presenti nel grub e che verranno visualizzate all'avvio, noi dovremo aggiungere la voce "previous linux versions" quindi:
    • clicchiamo su modifica > aggiungi
    • selezioniamo la voce "linux" e nel riquadro sotto assicuriamoci che compaia la voce "previous linux versions"
    • clicchiamo su aggiungi



    ora dovremmo avere nella pagina principale delle voci, sotto la voce linux, anche la voce previous linux versions, nella quale avremo i vecchi kernel, quindi il kernel precedente a quello appena compilato.

    se avete all'avvio il grub solitamente non viene visualizzato, clicchiamo sulla voce preferenze e impostiamo il tempo di visualizzazione del grub a nostro piacimento.
    una volta terminate le modifiche clicchiamo su salva e chiudiamo il programma.

    ora non resta che riavviare e provare il nuovo kernel!
    se non dovesse partire, spegnamo brutalmente il PC, riavviamolo e alla schermata del grub scorriamo fino a previous linux versions e clicchiamo sul vecchio kernel ( non usate quello con la scritta --recovery mode)
    nel caso non funzioni il nostro kernel e avremo avviato con il vecchio kernel, non dovremo far altro che tornare in grub customizer > preferenze e impostare il vecchio kernel come kernel di default all'avvio!

    enjoy!!
    Ultima modifica di cesco; 27-01-12 alle 13:29
    Follow me on:
    <!-- Place this tag where you want the widget to render. -->
    <div class="g-person" data-width="180" data-href="//plus.google.com/113012341277613226011" data-theme="dark" data-rel="author"></div>

    <!-- Place this tag after the last widget tag. -->
    <script type="text/javascript">
    window.___gcfg = {lang: 'it'};

    (function() {
    var po = document.createElement('script'); po.type = 'text/javascript'; po.async = true;
    po.src = 'https://apis.google.com/js/plusone.js';
    var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(po, s);
    })();
    </script>
    <br>
    <a class="twitter-timeline" href="https://twitter.com/xcesco89" data-widget-id="398762031488040960">Tweets di @xcesco89</a>
    <script>!function(d,s,id){var js,fjs=d.getElementsByTagName(s)[0],p=/^http:/.test(d.location)?'http':'https';if(!d.getElementB yId(id)){js=d.createElement(s);js.id=id;js.src=p+" ://platform.twitter.com/widgets.js";fjs.parentNode.insertBefore(js,fjs);}} (document,"script","twitter-wjs");</script>
    Androidiani app
    Estensione Androidiani per Google Chrome

  2. I seguenti 20 Utenti hanno ringraziato cesco per il post:

    AgoDrago (09-03-12),casaprocida (26-01-12),fedelamb (26-06-13),FeniceOscura (21-03-13),Ganzdroid (21-01-12),IlMaRcO92 (23-01-12),kasko (08-10-12),KlaasMad (24-12-13),Lelluz (14-12-12),lorenzo82 (23-01-13),msquared (19-04-13),N1m0Y (24-12-13),Nikola9698 (08-02-13),Orco (21-01-12),p87 (19-11-13),Raschild6 (14-06-12),riker1972 (07-03-12),Senso41 (21-01-12),Terfysgol (22-04-14),varanhia (10-03-12)

  3.  
  4. #2
    Androidiano L'avatar di qamrij


    Registrato dal
    Aug 2009
    Localitā
    Milano
    Messaggi
    240
    Smartphone
    Galaxy nexus

    Ringraziamenti
    6
    Ringraziato 14 volte in 11 Posts
    Predefinito

    Ottimo direi amico caro, hai esaudito il mio desiderio

  5. #3
    Androidiano VIP L'avatar di Orco


    Registrato dal
    Aug 2010
    Localitā
    Crema
    Messaggi
    1,731

    Ringraziamenti
    34
    Ringraziato 183 volte in 170 Posts
    Predefinito

    Bella Cesco!! L'ho letto di corsa e c'ho capito poco, per adesso, ma effettivamente non č malaccio l'idea di ampliare la "smanettonaggine" in questo periodo di calma prima della ICS con Sense!!
    [SIZE=1]HTC Desire HD Rooted & ENG S-OFF
    ROM: SP33_ITALIA_1.0.0_AROMAfull
    RADIO: 26.09.04.11_M2
    KERNEL: 3.0.93-ucdx
    RECOVERY: 4EXTRecovery Touch 1.0.0.5 RC9

  6. #4
    Androidiano VIP L'avatar di Sinir696


    Registrato dal
    Apr 2011
    Messaggi
    1,113
    Smartphone
    Desire HD

    Ringraziamenti
    26
    Ringraziato 48 volte in 39 Posts
    Predefinito

    Letta prima di andare a dormire domani gli do una riguardatA... Per ora ti amo


    Inviato dal mio Desire HD usando Androidiani App
    Desire hd completamente sbloccato! mi sembra una descrizione abbastanza completa!

    Nexus 7 preso e sbloccato tutto nello stesso giorno!

  7. #5
    Androidiano VIP L'avatar di Sinir696


    Registrato dal
    Apr 2011
    Messaggi
    1,113
    Smartphone
    Desire HD

    Ringraziamenti
    26
    Ringraziato 48 volte in 39 Posts
    Predefinito

    Ubuntu vā bene?
    anche quello č base debian mi pare!
    Desire hd completamente sbloccato! mi sembra una descrizione abbastanza completa!

    Nexus 7 preso e sbloccato tutto nello stesso giorno!

  8. #6
    Androidiani Power User L'avatar di cesco


    Registrato dal
    Sep 2010
    Localitā
    Bg
    Messaggi
    5,018
    Smartphone
    TYTN2,desire,desireHD, oneX

    Ringraziamenti
    54
    Ringraziato 1,346 volte in 724 Posts
    Predefinito

    Quote Originariamente inviato da Sinir696 Visualizza il messaggio
    Ubuntu vā bene?
    anche quello č base debian mi pare!
    in teoria andrebbe bene qualsiasi distro linux per compilare, ma le debian sono quelle piu' complete come pacchetti!
    ubuntu va benissimo!
    Follow me on:
    <!-- Place this tag where you want the widget to render. -->
    <div class="g-person" data-width="180" data-href="//plus.google.com/113012341277613226011" data-theme="dark" data-rel="author"></div>

    <!-- Place this tag after the last widget tag. -->
    <script type="text/javascript">
    window.___gcfg = {lang: 'it'};

    (function() {
    var po = document.createElement('script'); po.type = 'text/javascript'; po.async = true;
    po.src = 'https://apis.google.com/js/plusone.js';
    var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(po, s);
    })();
    </script>
    <br>
    <a class="twitter-timeline" href="https://twitter.com/xcesco89" data-widget-id="398762031488040960">Tweets di @xcesco89</a>
    <script>!function(d,s,id){var js,fjs=d.getElementsByTagName(s)[0],p=/^http:/.test(d.location)?'http':'https';if(!d.getElementB yId(id)){js=d.createElement(s);js.id=id;js.src=p+" ://platform.twitter.com/widgets.js";fjs.parentNode.insertBefore(js,fjs);}} (document,"script","twitter-wjs");</script>
    Androidiani app
    Estensione Androidiani per Google Chrome

  9. #7
    Androidiano L'avatar di dhd79


    Registrato dal
    Mar 2011
    Localitā
    milano
    Messaggi
    238
    Smartphone
    XIAOMI REDMI 3

    Ringraziamenti
    43
    Ringraziato 4 volte in 4 Posts
    Predefinito

    non ci sono parole...
    per voi che ci capite qualcosa
    Xiaomi Redmi 3
    Miui ita 6.5.26

    DesireHD Radio S-Off
    SuperCID
    ROM miui
    Kernel -?

    Galaxy s3
    ROM nu sto capenn nient chiu'
    KERNEL-
    č un missile...

    ASUS transformer tf101g
    rotto
    IPad Mini 16 gb nero...
    non c'e ne

  10. #8
    Androidiani Power User L'avatar di cesco


    Registrato dal
    Sep 2010
    Localitā
    Bg
    Messaggi
    5,018
    Smartphone
    TYTN2,desire,desireHD, oneX

    Ringraziamenti
    54
    Ringraziato 1,346 volte in 724 Posts
    Predefinito

    Quote Originariamente inviato da dhd79 Visualizza il messaggio
    non ci sono parole...
    per voi che ci capite qualcosa
    e pensa che per il kernel linux e' ancora piu' facile!
    e dico seriamente, compilare il kernel linux e' di una semplicita' allarmante! ho compilato il kernel 3.2 per mint 12 in mezzora scarsa!
    Follow me on:
    <!-- Place this tag where you want the widget to render. -->
    <div class="g-person" data-width="180" data-href="//plus.google.com/113012341277613226011" data-theme="dark" data-rel="author"></div>

    <!-- Place this tag after the last widget tag. -->
    <script type="text/javascript">
    window.___gcfg = {lang: 'it'};

    (function() {
    var po = document.createElement('script'); po.type = 'text/javascript'; po.async = true;
    po.src = 'https://apis.google.com/js/plusone.js';
    var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(po, s);
    })();
    </script>
    <br>
    <a class="twitter-timeline" href="https://twitter.com/xcesco89" data-widget-id="398762031488040960">Tweets di @xcesco89</a>
    <script>!function(d,s,id){var js,fjs=d.getElementsByTagName(s)[0],p=/^http:/.test(d.location)?'http':'https';if(!d.getElementB yId(id)){js=d.createElement(s);js.id=id;js.src=p+" ://platform.twitter.com/widgets.js";fjs.parentNode.insertBefore(js,fjs);}} (document,"script","twitter-wjs");</script>
    Androidiani app
    Estensione Androidiani per Google Chrome

  11. #9
    Androidiani Power User L'avatar di cesco


    Registrato dal
    Sep 2010
    Localitā
    Bg
    Messaggi
    5,018
    Smartphone
    TYTN2,desire,desireHD, oneX

    Ringraziamenti
    54
    Ringraziato 1,346 volte in 724 Posts
    Predefinito

    aggiunta guida veloce per compilare il kernel Linux!!!!
    Follow me on:
    <!-- Place this tag where you want the widget to render. -->
    <div class="g-person" data-width="180" data-href="//plus.google.com/113012341277613226011" data-theme="dark" data-rel="author"></div>

    <!-- Place this tag after the last widget tag. -->
    <script type="text/javascript">
    window.___gcfg = {lang: 'it'};

    (function() {
    var po = document.createElement('script'); po.type = 'text/javascript'; po.async = true;
    po.src = 'https://apis.google.com/js/plusone.js';
    var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(po, s);
    })();
    </script>
    <br>
    <a class="twitter-timeline" href="https://twitter.com/xcesco89" data-widget-id="398762031488040960">Tweets di @xcesco89</a>
    <script>!function(d,s,id){var js,fjs=d.getElementsByTagName(s)[0],p=/^http:/.test(d.location)?'http':'https';if(!d.getElementB yId(id)){js=d.createElement(s);js.id=id;js.src=p+" ://platform.twitter.com/widgets.js";fjs.parentNode.insertBefore(js,fjs);}} (document,"script","twitter-wjs");</script>
    Androidiani app
    Estensione Androidiani per Google Chrome

  12. #10
    Androidiano VIP L'avatar di Sinir696


    Registrato dal
    Apr 2011
    Messaggi
    1,113
    Smartphone
    Desire HD

    Ringraziamenti
    26
    Ringraziato 48 volte in 39 Posts
    Predefinito

    IN RILIEVO!


    Inviato dal mio Desire HD usando Androidiani App
    Desire hd completamente sbloccato! mi sembra una descrizione abbastanza completa!

    Nexus 7 preso e sbloccato tutto nello stesso giorno!

Pagina 1 di 3 123 ultimoultimo
Ultima pagina

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire risposte
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Torna su
Privacy Policy