Hello guys im trying for awhile to make a run some boot animation sound over the stock CM6 blue android that is comming as stock but i never get succes can somebody help me with this please
juancaperez2000 said:
Hello guys im trying for awhile to make a run some boot animation sound over the stock CM6 blue android that is comming as stock but i never get succes can somebody help me with this please
Click to expand...
Click to collapse
The solution is not for the faint of heart and will have to be reapplied with each nightly.
Add this to init.local.rc
Code:
###Bootsound - Safe to Delete: Start ###
service bootsound /system/bin/bootsound
user media
group audio
disabled
oneshot
on property:init.svc.bootanim=running # to correct timing
start bootsound
on property:dev.bootcomplete=1
stop bootsound
### Bootsound - Safe to Delete: End ###
Then make a new file called "bootsound" and push it to /system/bin
i.e. "adb push c:\path\to\bootsound /system/bin/bootsound"
Code:
#!/system/bin/sh
bprop=/system/build.prop
grepprop() { x=`grep "^$1=" $bprop | head -n 1`; echo $x | cut -d = -f 2; }
play=`grepprop "ro.config.play.bootsound"`
if [ "$play" = "1" ]; then
stagefright -a -o /data/local/android_audio.mp3
fi
exit 0
Issue the following commands:
Code:
adb remount
adb shell chmod 777 /system/bin/bootsound
adb shell chown root:shell /system/bin/bootsound
adb shell echo ro.config.play.bootsound=1 | cat >> /system/build.prop
Now put your startup sound, whatever MP3 it is, in /data/local with name android_audio.mp3 and it will be played at startup. You test it with an adb reboot. I flash nightlies on a regular basis so I stopped doing this as it's a PITA to constantly have to push changes each night. I like to flash + go.
'tuna
Wow...only question is would this work for for stable 6? And can I do it thru term emu
cubanjinx said:
Wow...only question is would this work for for stable 6? And can I do it thru term emu
Click to expand...
Click to collapse
As long as you have a way to edit the init file + create/edit the new bootsound file then yes it can be done via term emu. Should work with any/all versions of cm6. Obviously you'd omit the "adb shell" portion of the shell commands.
'tuna
spiicytuna said:
The solution is not for the faint of heart and will have to be reapplied with each nightly.
......
'tuna
Click to expand...
Click to collapse
Wow. One of the best answers I have ever seen around here.
spiicytuna said:
The solution is not for the faint of heart and will have to be reapplied with each nightly.
---------
Now put your startup sound, whatever MP3 it is, in /data/local with name android_audio.mp3 and it will be played at startup. You test it with an adb reboot. I flash nightlies on a regular basis so I stopped doing this as it's a PITA to constantly have to push changes each night. I like to flash + go.
'tuna
Click to expand...
Click to collapse
Wow. Not kidding with the "not for the faint of heart" part. I think I will live with no sound. Unless, I knew how the hell to use that code. Meh....
Will donate
Tuna or anyone else willing to walk me through this for a donation? Haha... I set up a whole mp3 for the boot to come to this road block. Also, for anyone reading, how can I change just the lock screen wallpaper on froyo. (Using plain black background right now and it makes the lockscreen a little too boring) Thanks.
has this been confirmed working on CM6 final? read some comments over at the cyanogenmod forum that this script was droid x phones, not the evo?
i'm going to give it a try tonight or tomorrow night, some questions
1)where is the init.local.rc file?
2)what kind of file should the bootsound file be? .txt file? no extension? ??
3) the code you put after saying to make the bootsound, does that mean that code is to be entered into adb or as the content of the bootsound file?
spiicytuna said:
The solution is not for the faint of heart and will have to be reapplied with each nightly.
'tuna
Click to expand...
Click to collapse
EDIT: tried it. edited the init.local.rc file using Notepad++. made the bootsound file using Notepad++ and in it put the code you have up there. no file extension. pushed it to the right directory, followed the adb commands. got an error in the last one (echo) saying it couldn't find the path (it's there though?).
put the android_audio.mp3 in /data/local....rebooted and no sound. no errors either, but no sound.
EDIT 2: thanks for your work spiciituna. apparently there was some mistake on my part. i ran a script that your code in it and now the boot sound works.
http://forum.cyanogenmod.com/topic/7433-bootanimations-audio/
I am still having no luck. :-( Can anyone enlighten me?
Sent from my PC36100 using XDA App
austinjay said:
I am still having no luck. :-( Can anyone enlighten me?
Sent from my PC36100 using XDA App
Click to expand...
Click to collapse
I was finally about to get it to work.
Here is the post with the flashable zip
http://forum.xda-developers.com/showthread.php?t=844414
juancaperez2000 said:
Hello guys im trying for awhile to make a run some boot animation sound over the stock CM6 blue android that is comming as stock but i never get succes can somebody help me with this please
Click to expand...
Click to collapse
if it's FroYo, then the directory has been moved to /system/customize/resource/. You reboot to clockworkmod -> mount system (partitions menu) -> reboot recovery (advanced menu) -> open cmd prompt in windows, cd to sdk\tools\ and run: "adb remount" -> then have the .wav file in the tools folder and run "adb push ATT_bootup.wav /system/customize/resource/" if it's an AT&T phone. Verizon phones use VZW_bootup.wav I am pretty sure & I'm not sure about the other ones.
Related
WOW OK SO I FINALLY GOT LED's WORKING IN HERO!!!
This means they can be manipulated via Terminal but not the Android OS. That will be the next step.
*IMPORTANT 4:50pm CST*
-Correction, you should be copying/symlinking sensors.msm7k.so to sensors.trout.so and not sensors.hero.so to sensors.trout.so. Please see updated instructions below.
If you already copied sensors.hero.so to sensors.trout.so then do the following to fix it. Following the previous instructions could affect auto rotate
Code:
rm /system/lib/hw/sensors.trout.so
ln -s /system/lib/hw/sensors.msm7k /system/lib/hw/sensors.trout.so
*Update 4:44pm CST*
-Changed copy commands to symlink so we save space on /system. Thanks for the tip chunga
*Update 6:01pm CST*
-If you're getting an issue where auto-rotate is no longer working it's most likely you fudged on the symlinking sensors.msm7k.so over to sensors.trout.so.
*Update 9:37pm CST*
-Forgot to add that you need to have /system remounted as read/write. I have added the command below
*Update 8:00pm CST*
The following command does not persist across reboots, therefore it will need to be placed in /init.rc or in /system/init.rc if you have a modded rom that allows for it. Just so everyone is clear, you can NOT edit /init.rc directly. To do that you'll need to unpack boot.img, edit init.rc, then repack boot.img and fastboot flash it to your device. My advice is to download a modded ROM that gets released with this fix.
Code:
echo "1" > /sys/devices/platform/i2c-adapter/i2c-0/0-0062/blink
It was a pretty trick fix to figure out. Here is a revised post with the complete terminal commands. ROM devs you could place these chmod commands in /init.rc to get it working. Please give credit where credit is due if you use my fixes.
Code:
[B]TERMINAL COMMANDS[/B]
mount -o rw,remount /dev/block/mtdblock3 /system
ln -s /system/lib/hw/lights.msm7k.so /system/lib/hw/lights.trout.so
ln -s /system/lib/hw/copybit.msm7k.so /system/lib/hw/copybit.trout.so
ln -s /system/lib/hw/sensors.msm7k.so /system/lib/hw/sensors.trout.so
echo "1" > /sys/devices/platform/i2c-adapter/i2c-0/0-0062/blink
chmod 666 /sys/devices/platform/i2c-adapter/i2c-0/0-0062/leds/blue/brightness
chmod 666 /sys/devices/platform/i2c-adapter/i2c-0/0-0062/leds/red/brightness
chmod 666 /sys/devices/platform/i2c-adapter/i2c-0/0-0062/leds/green/brightness
What's left to fix?
1) Currently the system is only giving the LED's a brightness of 1 so the light that comes on is dim. We need to find where it's getting this default value and up it to 100.
Want to manually change the colors?
You can edit the "brightness" value under leds/[blue/red/green] . The acceptable values are from 0 - 100. If you mix them up you can make any color you want
Exampe to change colors manually:
Code:
echo "50" > /sys/devices/platform/i2c-adapter/i2c-0/0-0062/leds/blue/brightness
echo "50" > /sys/devices/platform/i2c-adapter/i2c-0/0-0062/leds/red/brightness
This would make a purplish color.
okay so does it change colors when its charging after its cut on.
I believe the hero has dual LEDs. It says something about it in logcat...Let me see if i can find it.
jaygajay said:
I believe the hero has dual LEDs. It says something about it in logcat...Let me see if i can find it.
Click to expand...
Click to collapse
Yes it does in fact have dual LED's. So the trick now that LED's work is to get it working just like it was in cupcake. I'll keep working at it you can be sure of that
wizern23 said:
okay so does it change colors when its charging after its cut on.
Click to expand...
Click to collapse
I haven't seen it change colors as my phone is fully charged so the green LED comes on. Since we don't have bluetooth I can't check for the blue LED working. Anyone have chompsms installed? I know you can pick which LED color you want. Anyone wanna test that it's all working?
Terminal codes?
Hello! Thanks for the great fix!! But is there anyway you can post the entire terminal emu code? Kinda new on the copying and replacing of files. Thanks so much !
Try missed call, you can easily sample the different colors
phungshum said:
Hello! Thanks for the great fix!! But is there anyway you can post the entire terminal emu code? Kinda new on the copying and replacing of files. Thanks so much !
Click to expand...
Click to collapse
I updated the main post so others can easily find it
phungshum said:
Hello! Thanks for the great fix!! But is there anyway you can post the entire terminal emu code? Kinda new on the copying and replacing of files. Thanks so much !
Click to expand...
Click to collapse
this is actually editing the init.rc script... what do i open that in to edit it? and after edit can i just remount my system as writable and change the file names in my sys/lib/hw folder to the explained file names?
Zarboz said:
this is actually editing the init.rc script... what do i open that in to edit it? and after edit can i just remount my system as writable and change the file names in my sys/lib/hw folder to the explained file names?
Click to expand...
Click to collapse
You can type those commands from the terminal. If ROM devs want to make it so installing their ROM automatically does this, they would do it in init.rc.
You and I can do this from the terminal. It should hold those changes across a reboot. Hmmmm, lemme reboot and make sure otherwise it would require unpacking/repacking the boot.img and making the changes to init.rc in there. You can not edit init.rc directly. You have to extract boot.img (you can get this from the ROM you installed). Do a search for unpacking/repacking boot.img
great news
Good job shafty.
tried it, works, restarted my phone by itself after the echo though. Little confuse about the chmod stuff so not gonna try that yet. Oh did it in adb too, thanks.
EDIT: seemed to break my 'g-sensor', so no auto-rotate.
this is going into 1.65 Thanks shafty023 for the work!
running jacman hero and his lights.msm7k.so is already renamed do i need to worry about this and after the chmod lines after the /brightness/ can i enter a modifier to change the ammount of light given out?
just to clarify the terminal commands,
using JACMAN 1.64, files are already renamed.
Zarboz said:
running jacman hero and his lights.msm7k.so is already renamed do i need to worry about this and after the chmod lines after the /brightness/ can i enter a modifier to change the ammount of light given out?
Click to expand...
Click to collapse
Ya that's because he got it from justanothercrowd who got it from me. I was sending him most of my fixes directly since I'm using his ROM. Only seemed fair.
So you can ignore the line pertaining to lights.msm7k.
Yes you can feel free to change the value in brightness to whatever you want. I actually think the max is somewhere around 256. You can mix brightness values and that will allow you to change the colors manually. But unfortunately when you plug an a/c adapter it turns on the green led at a brightness value of only 1
so for example at the endo f my chmod 666 .... /brightness/100 ?? or would it be /brightness100
cool! thanks for the fix!
did nothing for me? wonder what i did wrong
Thanks to FollowingInsanity for editing the build.prop file to get it working corectly, and thanks to Maxisma for the Droid dump. Thanks to everyone else who pitched in on this whole thing. Really all I did was realize the exact line that needed to be changed....everyone else did the rest
Here are instructions on how I got the new maps w/ Navigation to work via adb. I'm running the official rooted 1.6 build, but this should work for anyone.
(if you don't know how you use adb, go to the here
Next, you need to uninstall the old maps.apk file and here's how I personally did it since you can't just go to "uninstall" from the Application Settings(these instructions start already in the ADB shell):
# mount -o rw,remount /dev/block/mtdblock3 /system
# cd system
# cd app
# rm xxxxxxx (this is whatever your maps.apk is titled. sometimes is just maps.apk, but it could also be com.android.google.maps.apk or somethin like that)
# exit
Click to expand...
Click to collapse
Now you've uninstalled the google maps. You can then do these next steps outside of adb.(for instructions purposes i'm using my own Android location):
C:\android\tools> adb pull /system/build.prop C:\Android
C:\android\tools> adb pull /system/build.sapphire.prop C:\Android
The 2nd may not be may be build.trout.prop or something to that effect...build.xxxx.prop
Click to expand...
Click to collapse
Next, change those 2 file names on your PC from build.prop to build-backup.prop and build.xxxx-backup.prop(if you have one) so that you don't lose those files in case anything stupid happens in the mean time lol.
Make a 2nd copy of build.xxxx-backup.prop and rename it is build.xxxx.prop. So now you should have a build.xxxx.prop AND a build.xxxx-backup.prop
Now you'll need the build.prop file to use
build.prop
(IF you are running a sapphire build, you can also use the build.sapphire.prop file located there and skip down to "re-loading prop files")
I saved that file to the same location that I saved my original files.
open build.xxxx.prop in notepad. look for where it says:
ro.build.description=kila-user 1.6 DRC83 14721 ota-rel-keys,release-keys
ro.build.fingerprint=xxxxxxxxxx:user/ota-rel-keys,release-keys
# end build properties
Click to expand...
Click to collapse
you'll need to delete the line that says ro.build.fingerprint=xxxxxxxxxx:user/ota-rel-keys,release-keys but DO NOT delete the line that says #end build properties
replace the line you deleted with the following:
ro.build.fingerprint=verizon/voles/sholes/sholes:2.0/ESD20/17572:user/ota-rel-keys,release-keys
Reloading Prop Files
next, back in your command line window do the following:
c:\android\tools> adb push c:\android\build.prop /system/
c:\android\tools> adb push c:\android\build.xxxx.prop /system/
Click to expand...
Click to collapse
then restart your phone
while the phone is restarting, go back and rename your build.prop and build.xxxx.prop files to build-update.prop and build.xxxx-update.prop, then change your build-backup.prop and build.xxxx-backup.prop to build.prop and build.xxxx.prop
After it restarts you'll want to locate your maps.apk file(the new one) and go back into your command line and type:
c:\android\tools> adb shell
# mount -o rw,remount /dev/block/mtdblock3 /system
# exit
c:\android\tools> adb install c:\android\maps.apk
(install crap...if it doesn't install correctly then don't do whats below)
Click to expand...
Click to collapse
Go check your google maps, type in two locations and click "go" and on the next screen you should see a button that says "Navigate"
go back to your command line screen and type:
Sorry if this is confusing, anyone who could make it more simple, please feel free to give it a try, but this is the best I could offer so people wouldn't have to go looking though the whole think tank thread to get everything they need to get it working
IF THE INSTALL GAVE YOU AND INVALID_UPGRADE ERROR THEN TRY THIS:
(again these instructions are using my own android sdk location, replace the
c:\android\tools with YOUR sdk location
from the command line type the following:
c:\android\tools> adb shell
# mount -o rw,remount /dev/block/mtdblock3 /system
# exit
c:\android\tools> adb pull /data/system/packages.xml c:\android\
Click to expand...
Click to collapse
BACK UP THIS FILE BEFORE EDITING IT
Once that's done, open that xml file in a text editor hit ctrl+f and search for maps, the first one will probably say auth.sitemaps, ignore that, keep searching untile you get to something to the effect of com.android.google.maps.apk or something like that. when you see that, you'll want to delete everything from "<packagename=" to "</package>" for the google maps app. BE VERY CAREFUL!!!! you don't want to accidentally delete something else, thus the reason for the back up.
after you've done that, go back to your command prompt and type:
c:\android\tools> adb push c:\android\ /data/system/packages.xml
c:\android\tools> adb install c:\android\maps.apk
Click to expand...
Click to collapse
it should then install perfectly fine. thats what I had to do to get it to work for me
I love you guys! will try this when I get home from work!
it does not appear to be 100% working....yet...
as posted by dwang, http://forum.xda-developers.com/showpost.php?p=4921655&postcount=275
dwang said:
If you push the old build.prop files back, after a while, the nav option disappears.
Click to expand...
Click to collapse
which I can confirm. About midnight last night it was working okay, and this morning it was gone.
followinginsanity says he will work on it today. http://forum.xda-developers.com/showpost.php?p=4921665&postcount=278
followinginsanity said:
Confirmed... will work on it tomorrow.....
Click to expand...
Click to collapse
may not want to rush to get it working only for it to not work a few hours later...but ..like most people here...that probably won't stop many
I edited the build.prop file...and now it will only work with Sapphire builds. For CM builds, build.prop file that FollowingInsanity created
Code:
c:\android\tools> abd push c:\android\build.prop /system/
c:\android\tools> abd push c:\android\build.xxxx.prop /system/
Should be
Code:
c:\android\tools> adb push c:\android\build.prop /system/
c:\android\tools> adb push c:\android\build.xxxx.prop /system/
Takenover83 said:
Code:
c:\android\tools> abd push c:\android\build.prop /system/
c:\android\tools> abd push c:\android\build.xxxx.prop /system/
Should be
Code:
c:\android\tools> adb push c:\android\build.prop /system/
c:\android\tools> adb push c:\android\build.xxxx.prop /system/
Click to expand...
Click to collapse
Changed lol. thanks
where can i get the new maps apk? the old one fails to install
i get error
Failure [INSTALL_FAILED_UPDATE_INCOMPATIBLE]
ahronzombi said:
where can i get the new maps apk? the old one fails to install
Click to expand...
Click to collapse
http://forum.xda-developers.com/showpost.php?p=4921092&postcount=196
That's the one I did, it also has all the needed files just grab the files from there and you should be able to use them for these instructions
ahronzombi said:
i get error
Failure [INSTALL_FAILED_UPDATE_INCOMPATIBLE]
Click to expand...
Click to collapse
When that happens you need to:
adb push <path to>/Maps.apk /system/app
adb shell
# install /system/app/Maps.apk
# exit
hey hey hey
could you or somone who got this to work try to make a video tuturiol on this so we can all clearly see how it works!!! please someone make an post it on youtube if possible thanks!!!!!!!!!
navigation doesn't work outside of the US at the moment right?
I was able to get the new maps.apk to install - and it is clearly a different application (with the new layers), but no navigate button. : (
seaweeduk said:
navigation doesn't work outside of the US at the moment right?
Click to expand...
Click to collapse
Nope, not until the big G says so.
mianosm said:
I was able to get the new maps.apk to install - and it is clearly a different application (with the new layers), but no navigate button. : (
Click to expand...
Click to collapse
what rom are you using?
mianosm said:
I was able to get the new maps.apk to install - and it is clearly a different application (with the new layers), but no navigate button. : (
Click to expand...
Click to collapse
You might have to try editing your packages.xml file even though it didn't give you an install error. Also, if you push your original build.prop's back, you lose navigation after a few hours. I guess the quick solution to that would be to keep the new build.prop's, but I'm not sure what the problems that might or might not create for other apps.
I'm using CM-4.2.3.1 with the edited build.prop and the build.sapphire.prop files.
# mount -o rw,remount /dev/block/mtdblock3 /system
Click to expand...
Click to collapse
A quick shortcut is to drop the device from this command. As you're re-mounting, the kernel knows the device name. Like this:
# mount -o rw,remount /system
Click to expand...
Click to collapse
Wow dude your the bomb, I did it a different way but it worked perfect. I just took a dount rom extracted it, deleted the maps.apk, then I took the droid dump maps app and put it into the donut rom. Then I made the changes to the build.trout.prop so that it recognized the g1 as the verizon phone, used your downloadable build.prop, of course I just deleted the original build.prop in the donut build, I resigned the donut rom, flashed it like it was brand new, and bingo everything worked perfectly. Wow good job dude. I would upload my rom but I dont want to get into any trouble.
I am using "AOSP1.6_r1.4+ADP DRD20 ROM". Maps on here is called "GoogleMaps.apk". I also do not have just a build.prop. I have a build.sapphire.prop and build.trout.prop. I modified both and replaced according to the first post. When I rebooted, GoogleMaps.apk was reinstalled, so I had to uninstall it again.
I did get the error described in post #8, but was able to get around it with the help of post #10.
But for some reason my network is completely down so I can't do nothing. Wifi and Cellular network. Hmmmm.
Edit: Replacing the files I backed up with the originals, brought my networks back.
Credit for koush for Droid2 Bootstrap
Credit for edgardcastro for sharing lots of information about 2nd-boot on Milestone1
Credit for Skrilax_CZ for 2nd-init and sh hijack
If you just want to install 2nd-init on your phone you can skip the whole guide and flash update-2nd-init.zip into your phone. As usual I will not hold responsibility to any damages it may cause.
WARNING: Use this ONLY if you know exactly what you are doing. This guide will make major changes in the /system partition and may turn the phone inoperative. I won’t hold responsibility if you brick your phone or to any damages it may cause.
Pre-requisites: A computer with Android SDK and ADB drivers installed and working. It’s recommended to have RSD Lite 4.9 and the appropriate SBF image just in case anything goes wrong.
This guide was made using a Brazilian Motorola Milestone2 based on Brazil Retail SBF and a computer running Windows Vista 32-bits. I started it from the scratch by flashing my phone with RSD Lite 4.9 and performing a full data/cache wipe, just to make sure any changes were discarded.
Note: Commands that should be entered in command prompt will be listed as: “C:\> <command>”. Commands issued to ADB Shell will be listed as: “# <command>”.
1. Enable USB Debugging on your phone;
2. Get permanent root. I used the app z4root which can be found here on XDA;
3. Install Droid2 Bootstrap. It may be downloaded from Market to support the developer. More info here http://www.koushikdutta.com/2010/08/droid-x-recovery.html;
4. Open Droid2 Bootstrap and click “Bootstrap Recovery”;
5. Use bootstrap to reboot into Clockwork Recovery and backup your phone;
6. Reboot;
7. C:\> adb remount
8. # stop
9. # mkdir /system/etc/rootfs
10. # cp /*.rc /system/etc/rootfs
11. # mkdir /system/etc/init.d
12. # cp /system/bin/sh /system/bin/_sh
13. # cp /init_prep_keypad.sh /system/bin
14. C:\> adb push sh_hijack.sh /system/bin/
15. C:\> adb push 2nd-init /system/bin/
16. C:\> adb push sysinit /system/bin/
WARNING: at this point you should keep a terminal window (adb shell) opened before replacing the 'sh' binary. This is so because you wont be able to open a new abd shell window to run the chmod command.
17. C:\> adb push sh /system/bin/
18. # chmod 755 /system/bin/sh
19. # chmod 755 /system/bin/sh_hijack.sh
20. # chmod 755 /system/bin/2nd-init
21. # chmod 755 /system/bin/sysinit
22. # ln -s /system/bin/busybox /system/xbin/mount
23. # ln -s /system/bin/busybox /system/xbin/rmdir
24. # ln -s /system/bin/busybox /system/xbin/cp
25. # ln -s /system/bin/busybox /system/xbin/umount
26. # ln -s /system/bin/busybox /system/xbin/run-parts
27. # reboot
28. At this point you should be getting into Clockwork Recovery every time, no matter how many times you have rebooted or if you’ve taken the battery of or not. THIS IS NORMAL. It means that the 2nd-boot + sh hijack is working as it should. The boots into clock recovery are caused by a conflict between sh hijack and logwrapper hijack (used by Droid2 Bootstrap). Continue the guide to fix this issue.
29. In clock recovery menu go to: mounts and storage>mount /system;
30. Open ADB Shell again (it will be available in clockwork recovery as well);
31. # cp /system/bin/logwrapper.bin /system/bin/mylogwrapper
32. C:\> adb pull /system/etc/rootfs/
33. Open init.rc and init.mapphone_umts.rc into a text editor that preserves unix end-line format (e.g.: notepad++). Find all entries of “/system/bin/logwrapper” replacing for “/system/bin/mylogwrapper”.
34. In init.mapphone_umts.rc find entry for “exec /init_prep_keypad.sh” replacing for “exec /system/bin/init_prep_keypad.sh”. Add the following text to the end of this file to be able to run all scripts in /system/etc/init.d at boot time:
Code:
service bootscripts /system/bin/sysinit
class post-zygote_services
disabled
oneshot
35. Save and close.
36. C:\> adb push init.rc /system/etc/rootfs/
37. C:\> adb push init.mapphone_umts.rc /system/etc/rootfs/
38. # chmod 755 /system/etc/rootfs/init.rc
39. # chmod 755 /system/etc/rootfs/init.mapphone_umts.rc
40. Choose “Reboot system now” in clock recovery menu;
You’re all set! Now it is just a matter of changing the rc files in /system/etc/rootfs to customize your system boot.
If you want to log the system boot you may also copy the provided log-init.sh script into /system/etc/rootfs and uncomment the line “exec /log_init.sh” from my init.rc file. Doing so will create the /data/logcat.log file that may get huge in sometime.
2nd-init files and my modified *.rc files attached.
Have fun!
UPDATED to version 2.0.0 (froyo) this version exploits /system/bin/mount_ext3.sh instead of sh binary. It's a new method I developed in order of starting 2nd-init earlier but also keeping compatibility with Droid2bootstrapper (recovery takes place first). This might help me booting Leaked GB from 2nd-init, which wasn't possible on the previous version. Take note it's not ready yet to apply on GB.
I just missed the exec /system/bin/init_prep_keypad thanks!
What is this for?
Sent from my A953 using XDA App
inheme said:
What is this for?
Sent from my A953 using XDA App
Click to expand...
Click to collapse
A method to customize initialization scripts of android system. It's a major hack used be some Milestone1 custom ROM's. I've succeeded into porting this to MS2, and I think some modders here of XDA may be interested into adding this to custom ROM's. It may be added to the stock ROM (as I did) but it is not something that everyone is willing to try.
Word of advise: If you don't know what it is you don't need it
Ok thanks for the explanation
So it means that custom roms will be easier to create?
Sent from my A953 using XDA App
That's some major news for our little community.
Tell me if I'm wrong, but since init starts after the kernel is loaded, it's not useful at all for loading a custom kernel, true?
But having a custom init script is a step to CyanogenMod 6 port on Milestone 2, still true?
Anyways, great job, and great howto.
momus87 said:
That's some major news for our little community.
Tell me if I'm wrong, but since init starts after the kernel is loaded, it's not useful at all for loading a custom kernel, true?
Click to expand...
Click to collapse
To load a custom kernel we'll need that kexec hack that team freemymoto is working on.
But having a custom init script is a step to CyanogenMod 6 port on Milestone 2, still true?
Click to expand...
Click to collapse
Well, it's possible, but I believe the big issue here is the impossibility of running custom kernels. Even so, a skilled Modder may be able to overcome that and port CM6 to MS2 using Motorola's stock kernel. It has been done for the MS1.
Anyways, great job, and great howto.
Click to expand...
Click to collapse
You're welcome.
Thanks, r2beta0... this is going to help us out a lot!
r2beta0 said:
Well, it's possible, but I believe the big issue here is the impossibility of running custom kernels. Even so, a skilled Modder may be able to overcome that and port CM6 to MS2 using Motorola's stock kernel. It has been done for the MS1.
You're welcome.
Click to expand...
Click to collapse
Guess that would be me
nah just kidding. I've just happened to have some luck porting Froyo and Gingerbread to the bootloader-locked x10 mini pro. I've just ordered my milestone 2 and I will work on CM6. AWESOME JOB on the 2nd init man! Really, thanks!!
edit: just can't stop thanking you! You saved me a lot of work and porting CM will be easy as sh*t for me now! THANKS
Mikevhl said:
Guess that would be me
nah just kidding. I've just happened to have some luck porting Froyo and Gingerbread to the bootloader-locked x10 mini pro. I've just ordered my milestone 2 and I will work on CM6. AWESOME JOB on the 2nd init man! Really, thanks!!
edit: just can't stop thanking you! You saved me a lot of work and porting CM will be easy as sh*t for me now! THANKS
Click to expand...
Click to collapse
You're welcome! You can count on me to provide as much help as I can to free our MS2's from Motorola's hand. I would be very grateful if you could share your knowledge of porting CM to locked devices. I was trying to port MIUI and Shadow mod BR to MS2 but I got stuck when dealing with proprietary files.
Sent from my A953 using XDA App
@r2beta0
Could this port work on Motorola defy?
Sent from my MOTO Defy
demolition23 said:
@r2beta0
Could this port work on Motorola defy?
Sent from my MOTO Defy
Click to expand...
Click to collapse
It's very likely, since the 2 devices are very similar. Most of the files I attached are from Milestone1 and works perfectly on MS2. Though I recommend you to NOT replace your *.rc files with the attached ones since they could be not compatible. It would be better if you edit your own files. Also try it ONLY if you have a working version of ClockworkMod Recovery (or other custom recovery). You may adapt this guide for your device and post it here on XDA, just remember to mention my name on credits
Already posted and hoping someone to port this..
http://forum.xda-developers.com/showthread.php?t=1003449
demolition23 said:
Already posted and hoping someone to port this..
http://forum.xda-developers.com/showthread.php?t=1003449
Click to expand...
Click to collapse
BTW, why do you want to use 2nd-init? You know, this guide is more inclined for devs/mods who want (need) to include this feature on their ROM's. With this you can change the way things are loaded on linux system before android starts up. But to take advantage of that you should know a lot about how linux works and so on. Regular users should look for a ROM based on the features he needs. Most ROM's already have 2nd-init implemented, but it's not something users are aware of.
Possible issue I've come across:
When replacing sh, i can no longer re-open the shell for obvious reasons... potentially I need to already have a second terminal open with shell running in it already?
SBFing and trying again :3
smacky_wolf said:
Possible issue I've come across:
When replacing sh, i can no longer re-open the shell for obvious reasons... potentially I need to already have a second terminal open with shell running in it already?
SBFing and trying again :3
Click to expand...
Click to collapse
I had no such issue here. When executing the steps of this guide I kept two windows opened all the time. One command prompt to run adb push/pull and another window running adb shell.
Thanks to point that out! I will post a warning in the main post. You should have a adb shell window already running to be able to run chmod just after replacing sh.
But don't worry, you don't need to SBF. Just reboot into clockwork recovery, mount /system via menu, and open your adb shell. It uses a different shell so you can fix the problem in /system/bin.
Looks like Motorola Defy now has CyanogenMod 7 using 2nd-init script! Wish same were the case for MS2.
syl0n said:
Looks like Motorola Defy now has CyanogenMod 7 using 2nd-init script! Wish same were the case for MS2.
Click to expand...
Click to collapse
I'm on it, but development is slow
No necessary to use 2nd init.
Just install "droid 2 bootstrap" and Rom Manager will work perfectly.
keylight65 said:
No necessary to use 2nd init.
Just install "droid 2 bootstrap" and Rom Manager will work perfectly.
Click to expand...
Click to collapse
What are you talking about? This guide isn't related to ROM Manager.
To install from CMD - Terminal
1. Download the fxps script. http://db.tt/zjiwMQw
2. adb shell mount -o rw,remount /dev/block/stl6 /system
3. adb push fxps /system/bin/fxps
4. adb shell busybox chmod 755 /system/bin/fxps
5. adb shell reboot
To Run it
1. adb shell fxps
2 adb shell reboot
To install from Terminal Emulator
"Download the fxps script and move it in your SD Card" http://db.tt/zjiwMQw
$ su
# adb shell mount -o rw,remount /dev/block/stl6 /system (Puts the system in R/W mode)
# cp /sdcard/fxps /system/bin/fxps (Copys the script from SD Card to bin directory)
# chmod 755 /system/bin/fxps (Gives root access to the script)
# reboot
To Run it open the Terminal Emulator and enter
$ su
# fxps (It will start... When it finish reboot)
# reboot
This Script is not mine i just find it and gine it to you in simple way
Thanks the Dev of this Script i hope to see it in Power Menu some day...
or you can use the Root Explorer to paste it in the /system/bin/ directory and
then with Root Explorer edit permitions by long touching the fxps file and tick all the permitions
Thanks!
rudolf895 said:
Thanks!
Click to expand...
Click to collapse
no problem mate hope to help in my way... and cross yours
can anyone confirm it .... please
Ok trying
Will post results
EDIT:
Installed
took 1m41s
The media fire link has.txt file
You need to rename that
Or directly use this
Direct dl link:
http://db.tt/zjiwMQw
Can you add to first post?
cdesai said:
Ok trying
Will post results
EDIT:
Installed
took 1m41s
The media fire link has.txt file
You need to rename that
Or directly use this
Direct dl link:
http://db.tt/zjiwMQw
Can you add to first post?
Click to expand...
Click to collapse
thanks mate ......
It doesnt work
No change occurred
Before it no fc
After it no fc
But now I can't listen music
All players say file not supported for mp3s which I was listening before fxps
cdesai said:
It's crap
No change occurred
Before it no fc
After it no fc
But now I can't listen music
All players say file not supported fire mp3s which I was listening before fxps
Click to expand...
Click to collapse
i cant confirm that you are correct mate... i tryed a lot of my players and my MP3s work so fine.... so dont hurry to make conclusions... i toke this script from "rom manager v3.0.1.0.apk" and decompile the file and then toke the script... so if all the others we are CRAP who use the Rom manager and clockwork recovery then you are correct... (Think Before you Talk its Easy...)
nikkpap said:
i cant confirm that you are correct mate... i tryed a lot of my players and my MP3s work so fine.... so dont hurry to make conclusions... i toke this script from "rom manager v3.0.1.0.apk" and decompile the file and then toke the script... so if all the others we are CRAP who use the Rom manager and clockwork recovery then you are correct... (Think Before you Talk its Easy...)
Click to expand...
Click to collapse
ok dude
but now it has seriously started fcing
i m fed up
need to reflash
btw u tried on wich rom
on kyrillos 3.3 4.0rc 4.0 rc2 4.0 rc3 i have no problem with you in personal only i dont like hyronic style sorry again ...
Hope this helps someone. I got fairly sick of the date/time bug giving me error alerts upon reboot. This fix takes the RTC date/time and applies an offset specific to your own phone to set the correct date/time at startup. I have attached an APK to make life easy. It should also give the ability to have recovery use the files it creates to set the clock correctly on startup.
The app requires root. If running AOSP, your ROM must have initscript support.
The app has 3 functions:
Install offset only (for use with a compatible recovery, not used by the ROM)
Install offset and initscript (to correct ROM clock offset, also for use with a compatible recovery)
Uninstall (Remove /data/local/userinit.sh /data/media/rtc_offset and /sdcard/rtc_offset)
Feel free to include the app in your own ROMs, just give me credit
As of version 2.0, the script will create /data/media/rtc_offset which can be used by recovery to correct the date/time on boot. Note this will require the recovery to specifically support this correction.
Version 2.1 uses /system/bin/toolbox for compatibility across roms (rather than relying on whatever /system/bin/date points to)
Version 2.2 places the rtc_offset file both in /sdcard/rtc_offset and also in /data/media/rtc_offset if available. The initscript will use either file that is available. This is for possible compatibility with older phones that may not have /data/media, at the request of Phil3759
Special thanks to Atze001, sniperle and Phil3759.
Hope this helps, enjoy.
dougiebee said:
Hope this helps someone. I got fairly sick of the date/time bug giving me error alerts upon reboot. My solution was to get the modification date of the /data/system directory and set that as the current date at boot time. Not great, but better than 1970. This or something similar may be posted elsewhere but I haven't seen it.
I'm running CM11 - not sure whether this works on other AOSP ROMS.
1) Create a file named 01datehack with the following content:
Code:
#!/system/bin/sh
olddate=`ls -ld /data/system | awk '{print $4, $5}' | sed -e 's/-//g' -e 's/ /./g' -e 's/://g' -e 's/$/00/g'`
date -s $olddate
Then run the following commands:
Code:
adb root
adb shell "mkdir -p /data/local/userinit.d"
adb push 01datehack /data/local/userinit.d
adb shell "chmod 755 /data/local/userinit.d/01datehack"
As it lives in /data it will survive flashing an update as long as you don't wipe. It's only a couple of fairly noddy linux commands, there's quite possibly a command line switch that would negate the need for all the SED'ing - also possibly a better directory/file to look at.
Hope this helps, enjoy.
Click to expand...
Click to collapse
I'm on the latest cm11 nightly. Tried your code but didn't make any difference. Phone still started up in February and then changed to today's date after network/WiFi started.
murdoch1 said:
I'm on the latest cm11 nightly. Tried your code but didn't make any difference. Phone still started up in February and then changed to today's date after network/WiFi started.
Click to expand...
Click to collapse
What do you get from "adb shell ls -ld /data/system"? Have you enabled ADB root access in developer options?
1970
dougiebee said:
What do you get from "adb shell ls -ld /data/system"? Have you enabled ADB root access in developer options?
Click to expand...
Click to collapse
Yes enabled ADB root access in Developer options. Running the command you provided results me with the following:-
drwxrwxr-x system system 2013-12-23 08:47 system
Cheers
deleted
Try this. I have made a flashable zip for TWRP
http://forum.xda-developers.com/showpost.php?p=48760802&postcount=13
Its a userinit.sh script in data/local
Atze001 said:
Try this. I have made a flashable zip for TWRP
https://dl.dropboxusercontent.com/u/20033515/TimeDateFix.zip[/U
Its a userinit.sh script in data/local
Click to expand...
Click to collapse
Will this work for me as I'm running philz cwm?
You can try it. If it dont work you get an Installation error and nothing more happens.
If you get an Error please tell me i will fix it for CWM.
Atze001 said:
You can try it. If it dont work you get an Installation error and nothing more happens.
If you get an Error please tell me i will fix it for CWM.
Click to expand...
Click to collapse
Just installed. Worked perfectly phone booted up with the correct date immediately.
Many thanks. Have a good Xmas.
Thanks go to dougiebee for this work.
Works perfectly on CM11 and TWRP.
Thanks a lot dougiebee and Atze001. :laugh:
Works on CM11/D802/TWRP!
Gesendet von meinem LG-D802 mit Tapatalk
Here are the new Links for the flashable fix.
This one ist with userinit.sh in data/local
https://dl.dropboxusercontent.com/u/20033515/TimeDateFix/TimeDateFix_Local.zip
and this ist the original with 01datehack in data/local/userinit.d
https://dl.dropboxusercontent.com/u/20033515/TimeDateFix/TimeDateFix_org.zip
Atze001 said:
Here are the new Links for the flashable fix.
This one ist with userinit.sh in data/local
https://dl.dropboxusercontent.com/u/20033515/TimeDateFix/TimeDateFix_Local.zip
and this ist the original with 01datehack in data/local/userinit.d
https://dl.dropboxusercontent.com/u/20033515/TimeDateFix/TimeDateFix_org.zip
Click to expand...
Click to collapse
thanks, but you didn't set permission to 755 in your script, that's why it doesn't work. i'm sure you can fix it
I personally use the first zip and it works. Many people confirmed that it works.
But if you want i can set the permissons to 755
Permissions fixed
I now have a much better fix. It uses the RTC rather than relying on file timestamps. It's easy to implement, but creation of a flashable zip will not be straight forward.
I ran the following using ADB once the system was up and the date/time was correct:
Code:
expr $(date +%s) - $(cat /sys/class/rtc/rtc0/since_epoch)
Which gave me 1384422218 - which is "Thu Nov 14 09:43:38 GMT 2013" - the exact date/time I first powered on my phone after I got it.
So I edited my userinit file to read:
Code:
#!/system/bin/sh
realdate=$(expr 1384422218 + `cat /sys/class/rtc/rtc0/since_epoch` | awk '{print strftime("%Y%m%d.%H%M%S",$1)}')
date -s $realdate
This takes my hard-coded (device-specific) power-on time and adds the current RTC time since then to give me the correct date/time, much better than using the timestamp of a file or directory.
I'll update the OP if others confirm this works for them. Note: you need to replace 1384422218 with the number specific to your phone. Creating a flashable zip would be a bit of a challenge, as it would need to be device specific.
Wouldn't it be possible to add a script to the flashable zip that determines the correct value and modifies the flashable file with the value before or after flashing?
PS: I don't know anything about this stuff...
dougiebee said:
I now have a much better fix. It uses the RTC rather than relying on file timestamps. It's easy to implement, but creation of a flashable zip will not be straight forward.
I ran the following using ADB once the system was up and the date/time was correct:
Code:
expr $(date +%s) - $(cat /sys/class/rtc/rtc0/since_epoch)
Which gave me 1384422218 - which is "Thu Nov 14 09:43:38 GMT 2013" - the exact date/time I first powered on my phone after I got it.
So I edited my userinit file to read:
Code:
#!/system/bin/sh
realdate=$(expr 1384422218 + `cat /sys/class/rtc/rtc0/since_epoch` | awk '{print strftime("%Y%m%d.%H%M%S",$1)}')
date -s $realdate
This takes my hard-coded (device-specific) power-on time and adds the current RTC time since then to give me the correct date/time, much better than using the timestamp of a file or directory.
I'll update the OP if others confirm this works for them. Note: you need to replace 1384422218 with the number specific to your phone. Creating a flashable zip would be a bit of a challenge, as it would need to be device specific.
Click to expand...
Click to collapse
Just applied your new version. Works a treat. As you say its better than basing the date on a file timestamp. I basically used the flash zip and amended the unserinit.sh script with the code generated on my device.
All done.
Cheers again.
With 01datehack in userinit.d it dont work for me. With userinit.sh in local it works.
I will take a look to make a Batch or a zip out of this.
dougiebee said:
I now have a much better fix. It uses the RTC rather than relying on file timestamps. It's easy to implement, but creation of a flashable zip will not be straight forward.
I ran the following using ADB once the system was up and the date/time was correct:
Code:
expr $(date +%s) - $(cat /sys/class/rtc/rtc0/since_epoch)
Which gave me 1384422218 - which is "Thu Nov 14 09:43:38 GMT 2013" - the exact date/time I first powered on my phone after I got it.
So I edited my userinit file to read:
Code:
#!/system/bin/sh
realdate=$(expr 1384422218 + `cat /sys/class/rtc/rtc0/since_epoch` | awk '{print strftime("%Y%m%d.%H%M%S",$1)}')
date -s $realdate
This takes my hard-coded (device-specific) power-on time and adds the current RTC time since then to give me the correct date/time, much better than using the timestamp of a file or directory.
I'll update the OP if others confirm this works for them. Note: you need to replace 1384422218 with the number specific to your phone. Creating a flashable zip would be a bit of a challenge, as it would need to be device specific.
Click to expand...
Click to collapse
Does this survive flashing or do I need to do this every time I flash?
Sent from my LG-VS980 using Tapatalk