1. Nimm jetzt an unserem Uhans - 3. ADVENT - Gewinnspiel teil - Alle Informationen findest Du hier!

Boot from SD-Card

Dieses Thema im Forum "Root / Hacking / Modding für HTC Desire" wurde erstellt von burst, 28.05.2010.

  1. burst, 28.05.2010 #1
    burst

    burst Threadstarter Android-Experte

    Beiträge:
    898
    Erhaltene Danke:
    216
    Registriert seit:
    27.05.2009
    Tablet:
    Samsung Galaxy Tab 2
    [ITS WORKING] Boot from SD card - xda-developers

    heute im laufe des Tages soll es eine Anleitung geben, wie man es fertig bringt, das das Desire per "Home" Drücken beim anschalten von der SD-Karte bootet.

    so kann man später ein neues Rom testen, ohne das alte zu verlieren
     
  2. Colgate, 28.05.2010 #2
    Colgate

    Colgate Gast

    Ui das wär domma was :)
     
  3. Gast5050, 28.05.2010 #3
    Gast5050

    Gast5050 Gast

    Das wäre wirklich nen schickes Feature
     
  4. electroman, 31.01.2011 #4
    electroman

    electroman Erfahrener Benutzer

    Beiträge:
    209
    Erhaltene Danke:
    4
    Registriert seit:
    27.07.2010
    Phone:
    HTC Desire X
    Gibts da eine deutsche anleitung im forum? Wäre geil!
    Ich will android 2.3 testen, aber vielleicht nicht behalten.
    Dann müsste ich nicht flashen.
    Mfg
     
  5. Desire:D, 31.01.2011 #5
    Desire:D

    Desire:D Android-Experte

    Beiträge:
    594
    Erhaltene Danke:
    124
    Registriert seit:
    24.10.2010
    Phone:
    Samsung Galaxy S3
    Ja das ist doch mal nen Feat.!...Sobald es eine Deutsche Anleitung gibt werde ich dabei sein
     
  6. Cordezz, 01.02.2011 #6
    Cordezz

    Cordezz Erfahrener Benutzer

    Beiträge:
    246
    Erhaltene Danke:
    25
    Registriert seit:
    29.07.2010
    Ihr seit lustig... Die Anleitung ist in simpelstem Englisch geschrieben. Wenn ihr das nicht versteht, wollt ihr trotzdem mit Linux-Befehlen hantieren ohne zu wissen was eigentlich passiert? Einfach mal c&p und schauen ob es klappt?
     
  7. Zipfelklatscher, 01.02.2011 #7
    Zipfelklatscher

    Zipfelklatscher Gast

    <OFFTOPIC>
    Ich verstehe auch immer nicht, warum man für alles eine deutsche Anleitung haben muss. Wenn man sich mit sowas wie Rooting von Mobiltelefonen befasst, sollte ein Mindestmaß an Englisch-Kenntnissen selbstverständlich sein.
    </OFFTOPIC>
     
  8. cargo, 01.02.2011 #8
    cargo

    cargo Gast

    Nochmal OT//

    Jeder der einen PC hat, sollte einige wenige Englisch Grundkenntnisse haben...//OT:huh:
     
  9. mr.stylo, 01.02.2011 #9
    mr.stylo

    mr.stylo Android-Lexikon

    Beiträge:
    1,345
    Erhaltene Danke:
    312
    Registriert seit:
    19.09.2010
    Das wäre dann k&k (kopieren und kleben) :lol:
     
  10. Desire:D, 01.02.2011 #10
    Desire:D

    Desire:D Android-Experte

    Beiträge:
    594
    Erhaltene Danke:
    124
    Registriert seit:
    24.10.2010
    Phone:
    Samsung Galaxy S3
    huhu..
    Ich habe verstanden wie es funktionieren soll..
    ABER:
    Ich habe nicht so ganz verstanden was ich amchen soll :p


    Und zwar

    1. To make a 1GB empty file, issue dd if=/dev/zero of=altboot.ext2 bs=1M count=1000
    2. Make a EXT2 filesystem on the file: mkfs.ext2 altboot.ext2
    3. Mount the file as a loopdevice: mount -o loop -t ext2 altboot.ext2 <mountpoint>
    4. Copy files from the attached initfiles.zip to <mountpoint>
    5. Copy all files from a rom of your choice to <mountpoint>
    6. Issue a chmod -R 0755 <mountpoint>
    7. Issue umount <mountpoint>
    8. Copy altboot.ext2 to the root of the SD-card
    9. Flash my kernel image
    10. Reboot your phone, and press the Home key repeatedly


    Soll ich das fett geschriebene einfach ... worein kopieren... wenn ja was ist mit mountpoint gemeint... auf dem handy... i.wo auf dem pc... oder sonstwas ???

    Oder soll ich

    #include <unistd.h>
    #include <sys/stat.h>
    #include <sys/mount.h>
    #include <linux/loop.h>
    #include <fcntl.h>

    #define BB_LOOP_SET_STATUS LOOP_SET_STATUS64
    #define BB_LOOP_GET_STATUS LOOP_GET_STATUS64
    typedef struct loop_info64 loop_info;


    int main (int argc, char * argv[]) {
    int dfd,ffd;
    loop_info loopinfo;

    mknod("/sd2" , S_IFBLK|S_IRUSR| S_IWUSR, makedev(179,1) );
    mknod("/lo5" , S_IFBLK|S_IRUSR| S_IWUSR, makedev(7,5) );


    mkdir("/sd", 0755);
    sleep(7);
    mount("/sd2","/sd", "vfat",0, NULL) ;


    ffd = open("/sd/altboot.ext2", O_RDWR);
    dfd = open("/lo5", O_RDWR);

    ioctl(dfd, LOOP_SET_FD, ffd);
    memset(&loopinfo, 0, sizeof(loopinfo));
    strcpy((char *)loopinfo.lo_file_name, "/sd/altboot.ext2");
    ioctl(dfd, BB_LOOP_SET_STATUS, &loopinfo);
    mkdir("/chrootenv", 0755);
    if (mount("/lo5", "/chrootenv","ext2", 0, NULL) != 0 ) {
    execv("/init", argv);
    }
    execv("/chrootenv/altinit", argv);
    }

    Das hier machen ?
    ueber ne Linux cd ?


    kann nicht mal jmd schreiben was genau gemacht werden muss und wo ich was wie eingeben muss?
    wuerde sich bestimmt auch nicht nur ich drüber freuen.
     
  11. Thyrion, 02.02.2011 #11
    Thyrion

    Thyrion Ehrenmitglied

    Beiträge:
    11,849
    Erhaltene Danke:
    2,452
    Registriert seit:
    21.07.2009
    Phone:
    Nexus 5X
    Schritt 1 bis 7 machst du auf einer Linux-Maschine im Terminal (wobei du <mountpoint> wohl noch durch einen entsprechend Pfad ersetzen musst - eben durch den, wo das Ext2-Image eingehängt werden soll)
    Schritt 8-10 erklären sich von selbst

    Was du allerdings mit dem C-Programm machen sollst, weiß ich nicht - und ich habe die Anleitung bei den XDA-Devs noch nicht gelesen (und komme wenn dann erst heute Abend dazu).

    EDIT: Es werden hier aber wirklich schon etwas mehr Know-How bezüglich des Linux-Betriebssystems (was sind Mount-Points, wie verwende ich diese, wie gehe ich mit Pfaden um, usw.) verlangt :)

    EDIT 2: Bei den fettgeschriebenen Bereichen hast du nicht immer den kompletten Befehl erfasst. Daher bitte, erst genau verstehen, was von einem verlangt wird und nicht blind Befehle abtippen.
     
  12. Thyrion, 02.02.2011 #12
    Thyrion

    Thyrion Ehrenmitglied

    Beiträge:
    11,849
    Erhaltene Danke:
    2,452
    Registriert seit:
    21.07.2009
    Phone:
    Nexus 5X
    Ich habe mir die Anleitung und den Thread dazu jetzt mal angeschaut. Mit den beiden Quelltexten musst du gar nichts machen - die sind nur zur Information, falls jemand die gleiche Funktionalität in einen eigenen Kernel einbauen möchte.

    Jetzt brauch ich nur noch ein anderes ROM, dass auch mit dem verändertem Kernel läuft um es zu testen :cool:
     
  13. Desire:D, 02.02.2011 #13
    Desire:D

    Desire:D Android-Experte

    Beiträge:
    594
    Erhaltene Danke:
    124
    Registriert seit:
    24.10.2010
    Phone:
    Samsung Galaxy S3
    aha... ähm.. okaaay... also erst gucken ob der Kernel zum rom passt... dann ne virtuelle ext 2 anlegen... auf der sdkarte vom handy geh ich von aus ?..
    also der pfad wird dann etwa so aussehen Wechseldatenträger E:\... oder ?
    und dann einfach das machen wies da steht... oben das fett geschriebene ?


    Wie finde ich raus ob ein kernel "passt?"
     
  14. Thyrion, 02.02.2011 #14
    Thyrion

    Thyrion Ehrenmitglied

    Beiträge:
    11,849
    Erhaltene Danke:
    2,452
    Registriert seit:
    21.07.2009
    Phone:
    Nexus 5X
    Also...

    Es muss eine Datei in das Hauptverzeichnis auf die SD-Karte kopiert werden - Name: altboot.ext2. Diese Datei muss erst erzeugt werden. Das geht am einfachsten (und so ist es auch beschrieben) unter Linux auf dem PC.

    Dazu Linux booten, ein Terminal aufmachen und Root-Rechte anfordern. Danach:
    # dd if=/dev/zero of=altboot.ext2 bs=1M count=1000 (erzeugt eine 1GB große Datei, in der die Daten nachher liegen sollen)
    # mkfs.ext2 altboot.ext2 (und die Rückfrage mit j / y bestätigen - bereitet die Datei so vor, dass sie als virtuelle/Loopback Ext2-Partition verwendet werden kann)

    Als Mountpoint (Einhängepunkt) habe ich /mnt/altboot verwendet. Dieses Verzeichnis muss evtl. noch angelegt werden, mit mkdir /mnt/altboot

    # mount -o loop -t ext2 altboot.ext2 /mnt/altboot (das Image mounten (ist vergleichbar mit der Zuordnung eines CD-Images zu einem virtuellem Laufwerk)
    # cp initfiles.zip /mnt/altboot (die Datei initfiles.zip (zu finden beim XDA-Dev-Thread in Post #1) in das virtuelle "Laufwerk" kopieren

    ... Nun die nötigen ROM-Dateien kopieren (entpackt und nicht als ZIP) ... (dieser Teil ist hier jetzt nicht explizit beschrieben)

    # chmod -R 0755 /mnt/altboot (ein paar Rechte setzen)
    # umount /mnt/altboot ("Laufwerk" aushängen und damit die Image-Datei freigeben)

    Die Datei altboot.ext2 ist nun erstellt. Wie oben schon gesagt, diese in das Hauptverzeichnis auf der SD-Karte kopieren. Den veränderten Kernel (auch zu finden bei den XDA-Devs) flashen und das Handy mit wiederholtem Druck auf die Home-Taste einschalten.

    Voraussetzungen für das alternative ROM: Es muss mit dem veränderten Kernel laufen, da dieser nicht aus dem Image geladen wird. Es wird nur ein anderer Init-Prozess gestartet.


    (Der letzte Teil - also das tatsächliche Doing am Handy - ist von mir noch ungetestet und aus der XDA-Dev-Anleitung übernommen).

    EDIT: Im Anhang eine altboot.ext2 als Rohling - darin liegt bereits die initfiles.zip - sonst ist das Ding aber leer.
     

    Anhänge:

    Zuletzt bearbeitet: 02.02.2011
  15. smart42c, 04.02.2011 #15
    smart42c

    smart42c Erfahrener Benutzer

    Beiträge:
    188
    Erhaltene Danke:
    2
    Registriert seit:
    29.06.2009
    kann das jemanderklären das ich das auch versteh?
    okay ich geh her lad mir jetzt das file runter (altboot.ext2)
    nur wie flash ich da dann ein android rauf?

    muss dazusagen hab selbst noch gar nichts geflasht!
     
  16. PeterSimlock, 04.02.2011 #16
    PeterSimlock

    PeterSimlock Android-Experte

    Beiträge:
    587
    Erhaltene Danke:
    96
    Registriert seit:
    09.08.2010
    Phone:
    Sensation, Note 2, Wiko Stairway, Mlais M7, v820W
    Also wenn Du die Anleitung von Thyrion nicht verstehst, dann sollst Du erst ein bisschen über Linux und Android lernen da sonst Gefahr besteht , dass Du Dein Handy kaputt machst.


    Gruß
    Peter
     
  17. Thyrion, 04.02.2011 #17
    Thyrion

    Thyrion Ehrenmitglied

    Beiträge:
    11,849
    Erhaltene Danke:
    2,452
    Registriert seit:
    21.07.2009
    Phone:
    Nexus 5X
    Ich habe das gestern mal selbst ausprobiert und landete prompt in einem bösen Bootloop, den ich auch nicht mehr beheben konnte, in dem ich meinen vorherigen Kernel geflasht habe.

    Da der Artikel schon etwas älter ist, könnte es sein, dass es sich bei dem alternativen Kernel um einen Eclair-Kernel handelt und er deshalb mit dem Froyo-ROM nicht klar kam :rolleyes2:
    Das muss ich aber noch überprüfen.

    @smart42c: Da muss ich Peter Recht geben. In der Anleitung im Original-Thread oder von mir, sind alle notwendigen Schritte genannt (auch wie man das Image so verfügbar machen kann, dass man ein ROM hinein kopieren kann). Wenn hier aber noch das Verständnis fehlt, um nachzuvollziehen, was denn in den einzelnen Schritten gemacht wird (und warum), dann tut es mir leid. Da wirst du nicht umhin kommen, es entweder auszuprobieren (und evtl. teures Lehrgeld zahlen) oder dich vorher noch ein wenig mit den Grundlagen von Linux und den hier verwendeten Befehlen einlesen müssen.




    EDIT: Hmm... Der Kernel soll für Froyo sein. Dann ist wohl noch was anderes faul.
     

Diese Seite empfehlen

Besucher kamen mit folgenden Begriffen auf unsere Seite:

  1. Android Von SD-Karte Booten

    ,
  2. galaxy s3 boot from sd card