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

Boot / Startsound ICS 4.0 Works / HOWTO

Dieses Thema im Forum "Root / Hacking / Modding für Samsung Galaxy S" wurde erstellt von Andeas_hu, 01.02.2012.

  1. Andeas_hu, 01.02.2012 #1
    Andeas_hu

    Andeas_hu Threadstarter Fortgeschrittenes Mitglied

    Beiträge:
    281
    Erhaltene Danke:
    139
    Registriert seit:
    29.01.2012
    Hier findet ihr nun die Anleitung zum Einbinden einer eigenen Bootanimation inclusive der Option eines Bootsounds.

    Zu Beachten:

    1.) Getestet und für gut befunden auf onecosmics 4.0 Release.
    2.) Läuft nur durch Wechsel des Kernels ( Devil_15_vc_bln.zip )
    3.) Anwendung auf eigene Gefahr, nicht das ich der Depp bin.
    4.) Script nur einmal laufen lassen, ansonsten Brick Gefahr !!!!

    Vorbereitung:

    1.) Ihr benötigt eine Mp3 Datei eurer Wahl, am besten so kurz oder lang, wie euer Bootvorgang dauert oder die Bootanimation.
    Diese kopiert ihr unter dem Namen: android_audio.mp3 in das Verzeichnis /system/media.

    2.) eine Bootanimation.zip eurer Wahl.
    Diese kopiert ihr entweder nach /system/media , da wird der Speicherplatz vom Rom weggenommen.
    Oder in das Verzeichnis /data/local, dort wird der Speicherplatz der internen SD belegt, beides geht.
    Ich habe mich für /data/local entschieden.

    3.) Das Script, bootsnd.sh das ich geändert habe. Dieses kopiert ihr nach /sdcard

    4.) SU Rechte.

    5.) Einen Root Explorer

    6.) Einen Terminal Emulator


    Loslegen:

    1.) Ihr startet den Terminal Emulator

    Eingabe: su ( Enter)
    Eingabe: cd /sdcard ( Enter )
    Eingabe: sh bootsnd.sh ( Enter )

    DAS sCRIPT SOLLTE NUN OHNE FEHLER DURCHLAUFEN !!

    Wenn ja, prima, Terminal beenden.
    Wenn nein, schade, Terminal beenden.

    2.) Überprüfen, ob Dateien erstellt / verändert wurden.

    1.) Startet euren Root Explorer.

    Begebt euch nach /system/etc . Dort müßte eine Datei neu da sein, eine init.local.rc
    Schaut rein, ob was drin steht, wenn ja prima, wieder schließen.

    Begebt euch nach /system/bin . Dort müßte eine Datei mit dem Namen bootsound vorhanden sein.
    Schaut rein, ob was drin steht, wenn ja prima, wieder schließen.

    Begebt euch nach /system . Dort gab es schon eine Datei namens build.prop
    Schaut rein, ob am Ende der Datei eine zusätzliche Zeile eingebunden wurde.
    Deren Inhalt muss lauten: ro.config.play.bootsound=1
    Wenn ja, prima, wieder schließen.

    Begebt euch nach /system/etc/init.d . Dort müßte nun eine Datei namens: 99bootsound erstellt worden sein.
    Schaut rein, ob was drin steht, wenn ja prima, wieder schließen.

    Wenn all diese Dateien vorhanden sind, könnt ihr nun rebooten.
    Solltet ihr den onecosmic´s Kernel draufhaben, der bei der 4.0 im Rom dabei war, so wird nach Reboot nur die Animation abgespielt, kein Sound.
    Daher bitte in den Recovery Modus rebooten und den Devil Kernel Devil_15_VC_BLN.zip flashen.
    Danach Reboot. Alle Einstellungen und apps bleiben erhalten.

    Nun solltet ihr Animation und Sound haben, TADA !!!!

    Falls etwas schief geht.

    Solange während das Script läuft und ein Error kommt und die neuen Dateien nicht erstellt wurden und, gaaaaanz wichtig, in der /system/build.prop der Eintrag fehlt,
    könnt ihr ohne bedenken nochmals das script starten. Alle zu erstellenen Dateien können jederzeit wieder gelöscht werden.
    Nur die build.prop, die darf in keinem Fall zerstört werden. auch wegsichern und wieder reinkopieren könnt ihr vergessen, nach dem reinkopieren ist die Datei leer und
    nach einem Restart ist das System gebrickt. Da hilft nur Recovery Modus und neu flashen.

    Last but not least.......

    Alles auf eigene Gefahr !!!!! Habe das ganze 3 mal getestet , jedesmal neu geflasht, system auf null und nochmal, jedesmal hats geklappt.

    Vielen Dank an meinen Kumpel Steffen Dietz, ohne den hätte ich das nicht geschafft, er ist einfach klasse im programmieren.

    Und das soll nun mein Einstand hier im Forum sein, denkt ja nicht ich hätte was drauf, bin nur ehrgeizig.

    Vielen Dank fürs Lesen..............

    EDIT: Die Dateianlage heißt nun bootsnd.sh.txt
    Damit ich sie hier gleich anhängen kann. Bitte das .txt nach Download entfernen !!!
     

    Anhänge:

    beicuxhaven und scheichuwe haben sich bedankt.
  2. scheichuwe, 02.02.2012 #2
    scheichuwe

    scheichuwe Android-Ikone

    Beiträge:
    5,441
    Erhaltene Danke:
    2,541
    Registriert seit:
    09.09.2009
    Phone:
    LG G4
    Ich war mal so frei und hab das etwas überarbeitet (siehe Anhang).
    Getestet auf CM9.

    Noch ein paar Erklärungen:
    Das alles braucht man mit deiner Methode gar nicht
    Code:
    echo 'Write init.local.rc'
    #This is to create the needed scripts in init.local.rc
    echo '' >> /system/etc/init.local.rc
    echo '' >> /system/etc/init.local.rc
    echo '###Bootsound - Safe to Delete: Start ###' >> /system/etc/init.local.rc
    echo "" >> /system/etc/init.local.rc
    echo 'service bootsound /system/bin/bootsound' >> /system/etc/init.local.rc
    echo '        user media' >> /system/etc/init.local.rc
    echo '        group audio' >> /system/etc/init.local.rc
    echo '        disabled' >> /system/etc/init.local.rc
    echo '        oneshot' >> /system/etc/init.local.rc
    echo '' >> /system/etc/init.local.rc
    echo 'on property:init.svc.bootanim=running   # to correct timin' >> /system/etc/init.local.rc
    echo '        start bootsound' >> /system/etc/init.local.rc
    echo '' >> /system/etc/init.local.rc
    echo 'on property:dev.bootcomplete=1' >> /system/etc/init.local.rc
    echo '        stop bootsound' >> /system/etc/init.local.rc
    echo '### Bootsound - Safe to Delete: End ###' >> /system/etc/init.local.rc
    chmod 777 /system/etc/init.local.rc
    
    echo 'Write bootsound'
    #Now creating the bootsound script
    touch /system/bin/bootsound
    echo '#!/system/bin/sh' >> /system/bin/bootsound
    echo '' >> /system/bin/bootsound
    echo 'bprop=/system/build.prop' >> /system/bin/bootsound
    echo '' >> /system/bin/bootsound
    echo 'play=$(cat $bprop | egrep -c -i -o ro.config.play.bootsound=1)' >> /system/bin/bootsound
    echo 'if [ "$play" = "1" ]; then' >> /system/bin/bootsound
    echo '        stagefright -a -o /system/media/android_audio.mp3' >> /system/bin/bootsound
    echo 'fi' >> /system/bin/bootsound
    echo 'exit 0' >> /system/bin/bootsound
    
    
    echo 'Write build.prop'
    #Changing some permissions
    chmod 777 /system/bin/bootsound
    chown root.shell /system/bin/bootsound
    Damit wird ja die init.local.rc erweitert (die aber beim Start, zumindest bisher, gar nicht berücksichtigt wird). Außerdem wird eine Datei "bootsound" erstellt.
    So wie du das jetzt machst (über init.d), braucht man weder die Datei bootsound in /system/bin noch die Erweiterung der init.local.rc.
    Daher kann das eben alles raus aus deinem script.

    Was dann noch übrig bleibt hab ich etwas erweitert, damit es auch bei CM9 (und hoffentlich allen anderen ROMs auch) überhaupt läuft.

    Code:
    #!/system/bin/sh
    #Setting up the system for read/write access
    
    busybox echo 'RW remount'    
    busybox mount -o remount,rw /system
    
    #Edit build.prop 
    busybox echo 'Write build.prop'
    busybox echo '' >> /system/build.prop
    busybox echo 'ro.config.play.bootsound=1' >> /system/build.prop
    
    #Create new file in /system/etc/init.d and change permissions
    busybox echo 'Write 99bootsound'
    busybox touch /system/etc/init.d/99bootsound
    busybox chmod 777 /system/etc/init.d/99bootsound
    busybox echo '#!/system/bin/sh' >> /system/etc/init.d/99bootsound
    busybox echo '' >> /system/etc/init.d/99bootsound
    busybox echo 'bprop=/system/build.prop' >> /system/etc/init.d/99bootsound
    busybox echo 'play=$(cat $bprop | egrep -c -i -o ro.config.play.bootsound=1)' >> /system/etc/init.d/99bootsound
    busybox echo 'if [ "$play" = "1" ]; then' >> /system/etc/init.d/99bootsound
    busybox echo '        stagefright -a -o /system/media/android_audio.mp3' >> /system/etc/init.d/99bootsound
    busybox echo 'fi' >> /system/etc/init.d/99bootsound
    busybox echo 'exit 0' >> /system/etc/init.d/99bootsound
    
    #Mount /system read-only
    busybox echo 'RO remount'
    busybox mount -o remount,ro /system
    
    busybox echo 'Finish'
    exit
    Man muss also nur noch Folgendes machen:

    • Die Datei runterladen, in bootsnd.sh umbenennen und auf die interne SD-Karte kopieren
    • Irgendeine mp3 als android_audio.mp3 nach /system/media kopieren, Rechte anpassen (644)
    • Die Befehle von oben in ein Terminal eintippen
    • optional: in /system/etc/init.d gucken, ob die Datei 99bootsound existiert
    • neu starten
    Der Hinweis, dass alles auf auf eigene Gefahr ausgeführt wird, bleibt natürlich bestehen :)
     

    Anhänge:

    beicuxhaven, Hans Dampf und Andeas_hu haben sich bedankt.
  3. Andeas_hu, 02.02.2012 #3
    Andeas_hu

    Andeas_hu Threadstarter Fortgeschrittenes Mitglied

    Beiträge:
    281
    Erhaltene Danke:
    139
    Registriert seit:
    29.01.2012
    Ja vielen Dank dafür, das Ergebnis meines Scripts war letztendlich eine Mischung
    aus den verschiedenen Methoden, die , stellenweise von anderen Handys her rührten, Sony, HTC, etc.

    Es war mehr oder weniger ein rumprobieren, bis es dann lief.

    Ist denn deine Anpasung nun auch so, das andere Kernels funktionieren ?
    Ich mußte ja auf den Teufel Kernel ausweichen, mit dem onecosmic´s Kernel
    aus der 4.03 Release ging ja kein Sound.

    Oder hat das gar nix mit dem Kernel zu tun ??

    Ich habe im Anhang mal meine Bootanimation.zip mit dem dazugehörigen Sound hochgeladen. Die Zip ist aus dem Netz, die Mp3 habe ich erweitert mit Sounds und habe es pasend zur Dauer der Animation, bzw. der Bootdauer des SGS angepasst.

    Läuft nun syncron.

    Es handelt sich um die Animation, wo dasAndroidmännchen zusammengeschraubt wird, dann das Apple Symbol weg lasert und zum Ende
    Das Wort Android gesprochen wird.
     

    Anhänge:

  4. scheichuwe, 02.02.2012 #4
    scheichuwe

    scheichuwe Android-Ikone

    Beiträge:
    5,441
    Erhaltene Danke:
    2,541
    Registriert seit:
    09.09.2009
    Phone:
    LG G4
    Der Kernel muss init.d unterstützen. Das ist alles. Daher sollte das mit alles Kernels laufen, die das unterstützen.
    Onecosmic's kann das scheinbar (noch) nicht.

    Schöner wäre es ja, wenn der Teil, der bei uns gar nicht läuft (die init.local.rc-Geschichte) und den ich deshalb rausgenommen habe, funktionieren würde.
    Dann würde nämlich der Sound zeitgleich mit der Animation starten können, so ist immer eine, wenn auch kurze, Verzögerung da.
     
  5. Treibsand, 11.07.2012 #5
    Treibsand

    Treibsand Junior Mitglied

    Beiträge:
    36
    Erhaltene Danke:
    2
    Registriert seit:
    25.05.2011
    Wohl wissend, dass ich mich vielleicht zu weit aus dem Fenster lehne, aber das Problem dürfte doch noch an einer anderen Stelle als nur bei der init.d-Unterstützung zu suchen sein. Ich denke, ich darf annehmen, dass wenn cm9 und dessen Kernel Skripte im init.d-Verzeichnis platzieren, diese auch Verwendung finden und somit die erforderliche Unterstützung der Startskripte vorhanden sein sollte.
    Leider hat keine der beiden vorgestellten Varianten bei Booten einen Ton hervor gebracht. Auch ein paar leichte Modifikationen brachten keinen Erfolg. Ich nehme an, dass der Kernel hierbei eine nicht ganz unwichtige Rolle spielen dürfte. Zu einem so frühen Zeitpunkt sind sicher noch nicht alle Funktionen des ROM initialisiert und einsatzbereit, so dass der Kernel wohl eine gewisse Audio-Unterstützung mitbringen muss.

    Führt man die Befehle der Skripte in einem Terminalfenster aus, tun diese genau das, wozu sie da sind. Auch der Sound wird an der entsprechenden Stelle abgespielt. Aber das passiert ja auch alles in einer vollständig hoch gefahrenen Runtime-Umgebung.

    Ich vermute daher ganz stark, dass es dem Kernel an entsprechenden Fähigkeiten fehlt. Man mag mich korrigieren, wenn ich damit falsch liege...
     
    Zuletzt bearbeitet: 11.07.2012
  6. theKingJan, 14.07.2012 #6
    theKingJan

    theKingJan Android-Lexikon

    Beiträge:
    1,837
    Erhaltene Danke:
    426
    Registriert seit:
    21.11.2011
    Tablet:
    Asus Transformer Pad TF300
    Bei AOKP kann man das in den Rom Settings einstellen ;)

    Gesendet von meinem GT-I9000 mit Tapatalk 2
     
  7. Treibsand, 18.07.2012 #7
    Treibsand

    Treibsand Junior Mitglied

    Beiträge:
    36
    Erhaltene Danke:
    2
    Registriert seit:
    25.05.2011
    Zum Abschluss noch ein bemerkenswerter Seiteneffekt:

    Nachdem ich den CM9-Standard-Kernel durch Semaphore ersetzt habe, klappt's auch mit dem Bootsound. Der Kernel spielt dabei wohl tatsächlich eine essentielle Rolle. Da ich sicher noch ein paar Fragmente der vorangegangenen Tests in meinem System habe, dudelt das Handy jetzt auch den Bootsound, wenn ich das USB-Debugging einschalte! :lol:

    Mal sehen, ob ich mir irgendwann mal die Zeit nehme, auch dahinter zu steigen...

    Gruß
    TS
     
  8. kingjezdi, 06.09.2012 #8
    kingjezdi

    kingjezdi Fortgeschrittenes Mitglied

    Beiträge:
    287
    Erhaltene Danke:
    20
    Registriert seit:
    16.02.2012
    funzt das auch unter helly bean??
    und wie entferne ich das .txt
     
  9. Treibsand, 07.09.2012 #9
    Treibsand

    Treibsand Junior Mitglied

    Beiträge:
    36
    Erhaltene Danke:
    2
    Registriert seit:
    25.05.2011
    1. Sofern der Kernel (nicht so der Standard-Kernel) Sound unterstützt, ja.
    2. Das fragst Du jetzt nicht wirklich, oder? Schon mal mit umbenennen versucht?
     
    Zwerkel bedankt sich.

Diese Seite empfehlen