[HOWTO] Kompilera egen kernel.

Diskussion i 'Frågor, support och diskussion' startad av jav, 18 jan 2010.

  1. jav

    jav Infant Droid Medlem

    Blev medlem:
    15 jan 2010
    Inlägg:
    8
    Mottagna gillanden:
    0

    MINA ENHETER

    Vill du kompilera din egen linux kernel till din telefon?
    Posta eller PM:a om jag bör förtydliga något, jag kör på ganska rakt av vad som ska göras.

    Så här gör du:

    Skaffa dig linux (jag kör Ubuntu).
    Skaffa dig en lämplig Android lur (jag kör ADP2/ION/Sapphire).

    1. Checka ut ett lämpligt kernel träd:
    • Skapa en katalog att stoppa allt i - mkdir ~/mykernel
    • Ladda ned ett kernelträd - git clone git://android.git.kernel.org/kernel/msm.git
    • cd msm
    • för Sapphire rekommenderar jag 2.6.27 - git checkout 3fa8749
    • för ADP1/G1 rekommenderas 2.6.25 - git checkout c092738

    2. Fixa en default config - ARCH=arm msm_defconfig

    3. Bekräfta din linux versinon - head .config

    4. Hämta din telefons configuration
    • "adp pull /proc/config.gz ."
    • gunzip config.gz
    • cp . config .config #japp, vi skriver över föregående steg :)

    5. Setill att telefonens config är uppdaterad - ARCH=arm make oldconfig # Setill att du får rätt "ARM system type". För sapphire är det "Qualcomm MSM7X00A" (tror(!) jag, måste bekräfta)

    6. När du är nöjd, bygg kernelen - ARCH=arm CROSS_COMPILE=arm-eabi- make # Förutsätter att du har arm-eabi tool-chan i PATH.
    Detta kommer att resultera i att (bland mycket annat) filen arch/arm/boot/zImage skapas. Det här är din kernel (notera för stenare steg).

    7. När det är färdigt börjar du bli redo att boota kärnan! Men först ska vi hämta en ramdisk.
    Här finns några system images ADP1 och ADP2/ION.
    Hämta hem lämplig system image. Jag kör med "signed-google_ion-img-150275.zip".
    • Ladda ned din img.zip
    • Packa upp den
    • hitta boot.img
    • Ladda ned script_boot_split.pl
    • splitta boot.img "./split_bootimg.pl /path/to/unzipped/system/image/boot.img".
    • Detta resulterar i en boot.img-ramdisk.gz och en
    boot.img-kernel
    [*] Du är nu redo att fast-boot:a din kernel kör "fastboot /path/to/zImage /path/to/ramdisk.gz"
    [/LIST]

    Presto!
    Du har nu bootat din kernel, utan att ha ändrat något på dni telefon, startabara om den så kommer den att vara tillbaks i orginalutförande :D

    Bra att ha länkar
    Kernelbygge för Dream(ADP1) och Sapphire/ION/ADP2
     
    Last edited: 18 jan 2010
  2. jav

    jav Infant Droid Medlem

    Blev medlem:
    15 jan 2010
    Inlägg:
    8
    Mottagna gillanden:
    0

    MINA ENHETER

    Om du inte kommer fram till skärmen där den säger "ANDROID" så har du något problem med kärnan. Jag satt länge fast här för att jag hade fel ARM-arkitektur.

    Om du _lyckas_ komma till ANDROID skärmen (då den bootar), men får något fel, så kan du kolla det (efter omstart) i /proc/last_kmsg (t.ex. adp pull /proc/last_kmsg minBoot.log).
     
  3. goa200

    goa200 Baby Droid Hedersmedlem

    Blev medlem:
    3 jun 2009
    Inlägg:
    21
    Mottagna gillanden:
    162

    MINA ENHETER

    ohh mkt mkt intressant så fort acer behagar släppa kerneln
     
  4. sandos

    sandos Adult Droid Medlem

    Blev medlem:
    27 maj 2009
    Inlägg:
    715
    Mottagna gillanden:
    8

    MINA ENHETER

    Ville bara påpeka att med det excellenta virtualbox så kan man även köra linux i en virtuell maskin. Det kommer dock gå lite segare...