Related
THIS IS NOW OUTDATED!!
It uses the old sqsh method WITH a rootfs. So if you're using the NoMoRootfs method, this won't work. Please use the already complete builds in the Kaiser/Vogue threads as they are working the best at this moment.
DISCLAIMER:
I take no responsibility for anything that may happen to your phone/computer. Use at your own risk.
PURPOSE:
This is for informational/testing purposes. And for people to stop asking, "can somebody port X rom!!! PLZ!!!"
PREFACE:
I made this as a quick tool to port ROMs from the Dream/Sapphire forums to work with our phones. It's a very quick and dirty script I threw together using bash, so there's probably some problems with it. This tool is simply designed to make a copy of the Dream/Sapphire ROM. Once you get the setup, it's really easy and you'll be porting like crazy.
I did this all on Ubuntu 9.10 so things might not work properly if you're using another distro.
THANKS:
All credit goes to the people that made this possible, in no particular order...
dzo, vilord, mssmison, zen, enatefox, pmos, jamezelle, craig0r, cyanogen, and so many more. If I forgot you, I'm sorry, but you know if you helped in some way.
THE SETUP:
1) Download this file
2) Extract the folder to your desktop. Then copy and paste the following code into the terminal:
Code:
sudo mv -f $HOME/Desktop/Android/genext2fs /bin/genext2fs; sudo chmod 755 /bin/genext2fs; sudo dpkg -P squashfs-tools; sudo dpkg -i $HOME/Desktop/Android/squashfs-tools_3.3-7_i386.deb; sudo rm -r $HOME/Desktop/Android/squashfs-tools_3.3-7_i386.deb; sudo chmod 777 $HOME/Desktop/Android/*.build.script
3) Now go into synaptic package manager, search for squashfs-tools, select it and under Package, check Lock Version so that way it won't try to update.
4) Now cruise over to the Dream android development forum or the Sapphire android development forum and download the ROM you would like to port. Place the zip file in the Android folder. (no need to rename)
5) Place any .apk's you would like built into the system in the Apps folder.
ADVANCED SETUP:
If you would like to tweak the system before building, open the script in a text editor and you'll find a line to uncomment that will halt the script until you are ready.
HOW TO RUN:
Either run the script from a terminal
Code:
./$HOME/Desktop/Android/HERO.build.script
or
./$HOME/Desktop/Android/Donut.Build.script
Or double click and Run in Terminal
You will get a prompt for your password to use the sudo command. THIS IS NOT SAVED ANYWHERE OR MAGICALLY SENT TO ME. It is just to get the system.sqsh setup for you to use.
You will now see a Donut/Hero folder inside the Android folder. Inside that will be a nice little system.sqsh with the date ready to boot!
*Rename to system.sqsh when you put on your SD card*
Grab the latest basefiles from vogue-android and you're good to go.
~~~~~~ To get an output of what's happening run in a terminal as described above but add " > build.txt" and you'll see a txt file in the Android folder. ~~~~~~~
CHANGING SYSTEMS:
If you want to port a new rom, replace the .zip.
UPDATES:
1) Download the updates from HERE
2) Extract to the Android folder overwriting if necessary.
3) Copy and paste the following code into a terminal:
Code:
sudo chmod 777 $HOME/Desktop/Android/*.script
CLEANUP:
If you follow the advanced setup and/or accidentally closed the terminal before the build finishes, run the cleanup script. This will unmount everything that might be mounted and delete all folders that are made during the process.
DOWNLOADS:
If you're too lazy or just want a quick link:
Main "Android porting" folder
Updates
Input, testers, bugs, and tweaks to the scripts are appreciated!
FAQ:
Why does my system.sqsh not work?
Most likely cause is that you're not using the correct version of squashfs-tools. You'll have to find version 3.X for the distro you're using. Version 4.X will NOT work!!!
When I try to boot a system.sqsh I just made I keep getting something about android power wake locks. WTF?
You're probably trying to port an eclair or cyan ROM. These don't work at the current state. Hopefully soon I'll get these working.
Will update more when they arise.
CHANGELOG:
11-27-09:
-Created a cleanup script in case the terminal is closed during the build process.
-Bug fixes in Donut and Hero scripts
11-24-09:
-Added an Apps folder for apk's you want built into the system.
-Bug fixes in scripts
11-22-09:
-Combined everything needed into a zip file
-WAY easier to setup
11-20-09:
-Added feedback to make more user friendly
-Append time to system.sqsh
loserskater said:
Input, testers, bugs, and tweaks to the scripts are appreciated!
Click to expand...
Click to collapse
Will try today... Downloading
Tried and working. Had to change the script for it work with ubuntu version that i use. Thanks this is really great
garynsa said:
Will try today... Downloading
Tried and working. Had to change the script for it work with ubuntu version that i use. Thanks this is really great
Click to expand...
Click to collapse
What did you change?
Glad to see it's working.
loserskater said:
What did you change?
Glad to see it's working.
Click to expand...
Click to collapse
hI
For some reason I cannot use -a in the genext2fs command. Had to remove that..
One of the Donut is working. Couldnt get the Cyanogen build working . Struggling with hero build also.
Will try again in the next couple of days and post results.
Thanks
garynsa said:
hI
For some reason I cannot use -a in the genext2fs command. Had to remove that..
One of the Donut is working. Couldnt get the Cyanogen build working . Struggling with hero build also.
Will try again in the next couple of days and post results.
Thanks
Click to expand...
Click to collapse
Make sure you use the genext2fs that I referenced.
That one works with -a and might take care of some issues. try that and see if it works.
Updated script to now move system to a Hero or Donut folder.
Working on the cyanogen build now...
EDIT: Here's a cyanogen script that gets it to boot, but sits at a black screen. I haven't had much time to test it so it might boot further than that if you leave it. If somebody wants to test this out or tweak it in some way go for it.
It uses the donut.sqsh in the Android folder so you shouldn't have to do anything with it except make it executable.
EDIT 2: Still working on cyan builds... that script didn't work.
great job i like to see stuff like this to motivate people!!! also note this will work with any donut or hero build from the sapphire forum
jamezelle said:
great job i like to see stuff like this to motivate people!!! also note this will work with any donut or hero build from the sapphire forum
Click to expand...
Click to collapse
Good point, forgot to mention that. Updated first post.
I'm hoping it will help people start to learn to tweak system's. But I have a slight feeling wer're going to start seeing a lot of "MLIGN/DWANG/etc's Android Rom" threads from random people.
Hi
Was able to port the DWANGs build using your script. Thanks a lot for making life this simple. Howev3er, hero build is still not working. Tried your genesxt2fs. Is it possible to get the links to correct base hero version to use? I tried magic and normal version. It keeps giving me black screen and doesnt completely boot. I think the base hero version is not the right one i am using
Thanks
OK, I think I figured out the problem. The apps folders weren't copying over from the data folder to the system folder correctly. Testing now, and will update first post with new scripts.
EDIT: Finally got the Hero builds working correctly. You should still be able to use any hero.sqsh.
loserskater said:
OK, I think I figured out the problem. The apps folders weren't copying over from the data folder to the system folder correctly. Testing now, and will update first post with new scripts.
EDIT: Finally got the Hero builds working correctly. You should still be able to use any hero.sqsh.
Click to expand...
Click to collapse
Hi
The new script is great.. I was able to get the hero to boot I still have 2 check a few thing willl post later in the night with more
Thanks a lot
garynsa said:
Hi
The new script is great.. I was able to get the hero to boot I still have 2 check a few thing willl post later in the night with more
Thanks a lot
Click to expand...
Click to collapse
Glad to see its working. Thanks for the feedback!
Most things working
Hi
was able to get the hero ported and a few things worked
1. Calls
2. SMS
3. Wifi (getting ips)
4. Working with partition rootfs (speed quite great with this)
Not working
1. Camera
2. GPS
I am using he ION build to build the hero roms (based on the inputs of Zen). May be I need to use another hero rom for the camera to work? I recommend that the links to the recommended build to be used as template (donut, hero...) be updated on the first thread to make it easy for others to have a single starting platform
garynsa said:
Hi
was able to get the hero ported and a few things worked
1. Calls
2. SMS
3. Wifi (getting ips)
4. Working with partition rootfs (speed quite great with this)
using u
Not working
1. Camera
2. GPS
I am using he ION build to build the hero roms (based on the inputs of Zen). May be I need to use another hero rom for the camera to work? I recommend that the links to the recommended build to be used as template (donut, hero...) be updated on the first thread to make it easy for others to have a single starting platform
Click to expand...
Click to collapse
If using a hero.sqsh doesnt fix the problem it sounds like it might be the rootfs (probably not copying over correctly). Ill take a look at it when I get home and update the first post with hero/donut.sqsh's.
Im also thinking about combing the 2 into just one script and youll be able to just type which build you want when you run it. What do you think? Or is the 2 seperate scripts more convenient?
loserskater said:
If using a hero.sqsh doesnt fix the problem it sounds like it might be the rootfs (probably not copying over correctly). Ill take a look at it when I get home and update the first post with hero/donut.sqsh's.
Im also thinking about combing the 2 into just one script and youll be able to just type which build you want when you run it. What do you think? Or is the 2 seperate scripts more convenient?
Click to expand...
Click to collapse
Personally i prefer the separate scripts mainly because each requires a different base templates. However if you prefer to combine them may be have sub-folders within the main so that the work happen for each port within the sub-folder.
Few suggestions if you like (please ignore if not correct.. being a non-programmer of linux I can be a bit off )
1. Let the folder names be requested at start and use them
2. If possible to put in a log of the run to check if there were issue or not (because i use double-click to run the script sometimes there is a problem that i face if i dont watch the window. for now i have put some waits to check the errors. Had this issue while testing to port one)
If I can help (except on coding as I dont know it.. generally change the script just enough to work... )
Queries/questions
1. Is there a way to test the build on the comp itslef rather than to keep booting on the phone (takes a lot of time and the phone is not usable all that time...)
Thanks for all the work
garynsa said:
Personally i prefer the separate scripts mainly because each requires a different base templates. However if you prefer to combine them may be have sub-folders within the main so that the work happen for each port within the sub-folder.
Few suggestions if you like (please ignore if not correct.. being a non-programmer of linux I can be a bit off )
1. Let the folder names be requested at start and use them
2. If possible to put in a log of the run to check if there were issue or not (because i use double-click to run the script sometimes there is a problem that i face if i dont watch the window. for now i have put some waits to check the errors. Had this issue while testing to port one)
If I can help (except on coding as I dont know it.. generally change the script just enough to work... )
Queries/questions
1. Is there a way to test the build on the comp itslef rather than to keep booting on the phone (takes a lot of time and the phone is not usable all that time...)
Thanks for all the work
Click to expand...
Click to collapse
I'll try to make the script more user friendly with prompts if something doesn't happen correctly. And also work on naming folders.
But first I want to figure out the camera/gps issues...
There isn't a way to boot it on the comp that I know of. I'll upload blank data.img's for each build so that they'll boot faster but other than that I think moving to SD Card and booting is the only way. But once all these bugs get sorted out, you won't have to do it as often!
EDIT: Which folders would you like to name? Just where the system.sqsh gets stored?
loserskater said:
I'll try to make the script more user friendly with prompts if something doesn't happen correctly. And also work on naming folders.
But first I want to figure out the camera/gps issues...
There isn't a way to boot it on the comp that I know of. I'll upload blank data.img's for each build so that they'll boot faster but other than that I think moving to SD Card and booting is the only way. But once all these bugs get sorted out, you won't have to do it as often!
EDIT: Which folders would you like to name? Just where the system.sqsh gets stored?
Click to expand...
Click to collapse
Hi
Thanks for the answers. For me it should be both (but the starting folder is main. Other can be a sub-folder like u have now to be renamed as choice)
garynsa said:
Hi
Thanks for the answers. For me it should be both (but the starting folder is main. Other can be a sub-folder like u have now to be renamed as choice)
Click to expand...
Click to collapse
Are you referring to the Android folder? Or just a folder where everything is kept when it runs?
loserskater said:
Are you referring to the Android folder? Or just a folder where everything is kept when it runs?
Click to expand...
Click to collapse
Android folder... but its not a big deal as one can easily change it while startign the script
Is there a way to make a permanent change to the $PATH variable to place /system/xbin ahead of /system/bin? I found /init.rc when the phone is booted, but obviously I can't make changes to that yet. When booted into recovery, I can't find the same file to edit it. The /init.rc file is specific to the recovery image at that point.
Basically, I have busybox installed in /system/xbin and want it to override the /system/bin apps. I do not want to install busybox in /system/bin.
Any help would be appreciated. Thanks!
are you trying to export a path? if so it would go something like
export PATH=$PATH /system/bin
or you can
PATH=$PATH /system/bin
export PATH
B-dub25 said:
are you trying to export a path? if so it would go something like
export PATH=$PATH /system/bin
or you can
PATH=$PATH /system/bin
export PATH
Click to expand...
Click to collapse
He's trying to make it so he doesn't have to reset the $PATH variable every time. I'm assuming you are currently just using something like.
export PATH=/system/xbin:/sbin:/system/sbin:/system/bin
every time you enter shell. The way I would do it is by editing the init.rc as you stated, however it doesn't stick on the incredible, also as you stated.
The only thing I can recommend is making it a shorter PATH to type. You could just enter
export PATH=/system/xbin:$PATH
for example, and that would accomplish the same thing with less typing.
The only other way that I know of would be to make a start-up script, not sure how to accomplish this outside of init.rc however. In linux I would add it to the bash_profile or something similar. Not sure how to do it in android...
Not only for shell, but I'd like to be able to do it for installed apps as well, such as OpenVPN. Ah well, just have to wait for full root unlock.
This is done in the ramdisk. You can actually do this yourself. You need to extract the boot image, break it apart into the ramdisk and kernel, alter the init.rc file, package it back up and then flash it back to your phone in recovery.
Even if we get the nand unlocked, you will still need to do this since the init.rc recreates itself from the ramdisk during each boot.
If you are using a custom ROM, just request the dev to do this.
ihtfp69 said:
This is done in the ramdisk. You can actually do this yourself. You need to extract the boot image, break it apart into the ramdisk and kernel, alter the init.rc file, package it back up and then flash it back to your phone in recovery.
Even if we get the nand unlocked, you will still need to do this since the init.rc recreates itself from the ramdisk during each boot.
If you are using a custom ROM, just request the dev to do this.
Click to expand...
Click to collapse
Thank you kindly, didn't know where those files were kept. Interesting how that works, so basically the phone works like a hardware chip, where the main parts of the OS recreate themselves from ROM, similar to firmware... I like it... prevents corruption I suppose.
Out of curiosity (I've never made a ROM, and therefor never packaged the boot image), is it packaged as a tarball? Or do you require ADB to extract? If you don't want to answer, I can probably track it down somewhere.
It's a bit more complicated than that. Take a look at this link. I'm sure there are other ways, but I would recommend only doing this in some flavor of Linux like Ubuntu.
HOWTO: Unpack, Edit, and Re-Pack Boot Images
ihtfp69 said:
It's a bit more complicated than that. Take a look at this link. I'm sure there are other ways, but I would recommend only doing this in some flavor of Linux like Ubuntu.
HOWTO: Unpack, Edit, and Re-Pack Boot Images
Click to expand...
Click to collapse
Cool link. Thanks.
But yea, pretty much seems to be that simple, Just a gzip (zip) and tarball (cpio). The only thing I wasn't expecting was stripping out the 2k header with a hex editor, but I think I'll try using the scripts found through that link to do that, not that I couldn't do it by hand... but I'm lazy...
Thanks again.
I have tried both AdAway and AdFree Android on my Nexus and while both seem to work okay on wi-fi, as soon as I use a mobile data connection the ads show as usual.
Has anybody else noticed this?
(I'm rooted etc. btw)
all I can tell is that I've the same experience.
Probably because they both use the hosts file to block ads, which is pretty silly and not very reliable.
Solution: use iptables instead. Get a script like this: http://pgl.yoyo.org/as/iplist.php?ipformat=iptables and put it in your userinit.d. Might have to change the location of the iptables executable for Android.
Thanks, but excuse the amateurish question, but where can I find the userinit.d?
I've extracted a ROM and tried searching for it but with no success.
cmonthegas said:
Thanks, but excuse the amateurish question, but where can I find the userinit.d?
I've extracted a ROM and tried searching for it but with no success.
Click to expand...
Click to collapse
Unfortunately I don't have a Galaxy Nexus yet so I don't know where they put userinit.d and iptables in the new version. I hope to put detailed instructions once I get my GN, but that could be a while....
Haven't checked yet but normally init.d folder is located in...
/etc/init.d
dunno if thats the same as userinit.d though???
right, I've checked in the /etc/init.d folder and there's three files
87calibration
93zipalign
99complete
I doubt it's any of them?
cmonthegas said:
right, I've checked in the /etc/init.d folder and there's three files
87calibration
93zipalign
99complete
I doubt it's any of them?
Click to expand...
Click to collapse
Actually since you are rooted you can just put it in that directory. Doesn't look like it comes with userinit but that's not a big deal, the point of using userinit is so that it lives on /data and not /system so you don't have to replace it everytime you flash /system. Just put the script in there, name it "95firewall", replace the location of the iptables binary in the script (you can find out where iptables lives by typing "which iptables" in the terminal) and chmod and chown it to be the same as the rest of the files in the directory.
Oh yeah and take out "-o eth0" from every line in the script, I don't think Android uses that interface name.
adaway adblocking works fine for me regardless of being on wifi or 3g. I don't really understand why there would be a difference, does it reference a separate host file per interface or something?
bleomycin said:
adaway adblocking works fine for me regardless of being on wifi or 3g. I don't really understand why there would be a difference, does it reference a separate host file per interface or something?
Click to expand...
Click to collapse
I think it may have something to do with proxies. With some SIM cards, Internet access through the cell radio is automatically configured to use a proxy. I've seen this with desktop operating systems: with proxies set up a certain way, domain name resolution bypasses the hosts file completely. Since on Android, this layer is just Linux, it wouldn't surprise me if this is what's happening as well.
Thanks for the input! I'll give it a try after lunch and see what happens.
I tried briefly last night using a custom script in Droidwall, but I couldn't get it to work properly. That would probably be the ideal method as the rules can just be turned on/off easily from within the app, but I'll give this a try first.
I'll update when I've had a go at it.
Cheers!
Ha, well it would appear I can't try it as I'm running a stock rom which doesn't support init.d
I was so used to running a custom rom, I forgot all about that.
I'll probably try installing another rom today or tomorrow - I haven't got time to be reinstalling everything atm
Shodney said:
Ha, well it would appear I can't try it as I'm running a stock rom which doesn't support init.d
I was so used to running a custom rom, I forgot all about that.
I'll probably try installing another rom today or tomorrow - I haven't got time to be reinstalling everything atm
Click to expand...
Click to collapse
Haha, same here...I didn't realize the stock ROM doesn't support it. Darn that sucks.
Okay i've (finally) had chance to have a play with this after installing Revolution rom with init.d support.
I changed the tables and dropped them into init.d, but they aren't being applied and ads are still coming through.
example of what I changed the entries to:
/system/bin/iptables -A OUTPUT -d 1100i.com -j DROP
Click to expand...
Click to collapse
If I try to apply a rule manually using ADB, I get the following error:
FIX ME! implement getgrnam() bionic/libc/bionic/stubs.c:416
Click to expand...
Click to collapse
So I'm stuck
Any ideas?
Guys I looked around and didnt find anything regarding our phones and this script so I decided to post it here. If I missed it and there is a thread about it, forgive me.
Recently the developer updated his script so it can run on ICS too. Is anyone running the script?? Would it be useful for our phones?
http://forum.xda-developers.com/showthread.php?p=16635544#post16635544
atsavlis said:
Recently the developer updated his script so it can run on ICS too. Is anyone running the script?? Would it be useful for our phones?
Click to expand...
Click to collapse
Nope.
and
Probably not much use at all. Zeppelinrox originally created it for phones with low amounts of memory (originated on the milestone which has 256mb and would constantly kill the launcher etc), I'm not sure if anythings changed now in the script, but we have heaps of memory, and I just don't see the point.
That's weird... this device has the most supercharged services.jar downloads...
http://android.mimic.ca/
Hmmmm, interesting... Hopefully someone who has an idea can shine some light for us. There must be a reason the script developer created a section specifically for ICS??
atsavlis said:
Hmmmm, interesting... Hopefully someone who has an idea can shine some light for us. There must be a reason the script developer created a section specifically for ICS??
Click to expand...
Click to collapse
Shhhh! He's behind you ........
I think this could potentially be a problem with DroidTheory's SHO script in this AXIOM XBREAD.
I don't know but I guess zeppelin can find out for us? :O
It did wonders for my Samsung Captivate.
I'm currently running it on the latest AOKP build, but it was one of the first things I installed. So I don't really have a feel for what the Nexus is like without it.
TwinkyOfHope said:
It did wonders for my Samsung Captivate.
I'm currently running it on the latest AOKP build, but it was one of the first things I installed. So I don't really have a feel for what the Nexus is like without it.
Click to expand...
Click to collapse
What options are you using?
TwinkyOfHope said:
It did wonders for my Samsung Captivate.
I'm currently running it on the latest AOKP build, but it was one of the first things I installed. So I don't really have a feel for what the Nexus is like without it.
Click to expand...
Click to collapse
Could you give us a quick rundown of what you did?? Specifically did you do that whole process about ODEX/DEODEX roms??
Make sure you have terminal emulator before replacing your services.Jar!
First use root browser to copy your services.Jar to your sdcard it is in the /system/framework folder.
Then go to http://android.mimic.ca and upload your services.Jar file.
Afterwards, I downloaded the modified services.Jar because the flashable cwm option didn't work for me.
I copied the modified services.Jar to /system then changed its permissions to the same permissions of the other .jar files in the /system/framework folder.
Then move the services.Jar with changed permissions to the /system/framework folder.
Once you have done that, open up terminal emulator.
Type this out, and press enter when said:
Su enter
Cd /system/framework enter
Chown 0.0 services.Jar enter
Chmod 644 services.Jar enter
Then reboot!
Start Up script manager.
Browse to the supercharger v6 pdf and click on it. Press su to run the script with superuser permissions.
The script will load and is mostly self explanatory. It will take you through the options when you first run it. I put the text scrolling on fast and disable the animation and integrate when it asks.
When you get back to the main menu, I usually use option 10. It calculates what minfree values to use based on the ram of the phone.
After all this, reboot once more and run the script again to see if you are 100% supercharged!
EDIT: if you run into bootloops by moving your services.Jar incorrectly, then just reflash your rom without wiping.
Sent from my Galaxy Nexus using XDA
Option 10 asks us to input our own Ram value, is this correct?? If so, what did you set it to?
atsavlis said:
Option 10 asks us to input our own Ram value, is this correct?? If so, what did you set it to?
Click to expand...
Click to collapse
Option 10 shouldn't ask you to input anything else. It should use the minfree calculator and set itself. Are you using update9 RC7? If it still isn't working for you, then try option 8 which should be the 768 settings
Sent from my Galaxy Nexus using XDA
i followed everything but when i run the first line of code i get
sh: cd/system/framework: not found
not sure if its because of the binary
You're missing a space.
zeppelinrox said:
You're missing a space.
Click to expand...
Click to collapse
thanks i just noticed that. funny thing is when i was on liquids rom they had a cwm zip file to flash for that rom and was able to bypass the cd /system/framework, enter, chown 0.0 services.jar, enter, chmod 644 services.jar, enter stuff. i am not sure if the stuff carried over but it let me run it on aokp31 release without it and it runs smoothly. phone is exactly the way i want it super snappy
Any use of the script on stock jelly bean?
Sent from my Galaxy Nexus
Hello fellas.
Back in the day, if I wanted to keep my dpi setting of 280 after flashing a new nightly (talking CM now), I just made a local.prop with the modified line and put it in /data.
Since, I think, CM10, though, local.prop doesn't get loaded, so I have to manually change build.prop.
I know a solution to this would be just keeping the same build.prop and flashing it after the rom (I already have a zip with the modifications I like that I flash after each nightly), but I don't really want to keep an old build.prop. What I want is to juat modify the line through my zip, so it stays updated while I don't have to modify the line every single day.
I found very quickly that I can use this line:
sed -i 's/ro.sf.lcd_density=320/ro.sf.lcd_density=280/g' /system/build.prop
to get the job done, and it does indeed work if I run it using the terminal. The problem is, I can't get it to work in recovery.
Having very little experience with programming, I'm just trying stuff to see if it works. I treid directly including the like line in the updater-script, didn't have too much hope for that.
I also tried including another simple file with this code:
#!/sbin/sh
sed -i 's/ro.sf.lcd_density=320/ro.sf.lcd_density=280/g' /system/build.prop
that I then extract and run, as I've seen in threads in the forum, but still doesn't work. The file gets extracted, but it doesn't work
I even tried to do it in a userinit script form, just to see if the rom loaded it on boot, but nope.
This is pretty friggin' simple to do, and I'm sure I'm probably making a silly noob mistake, but I just don't have any experience with this kind of code, so if someone can tell me how to make my zip run that very simple line, I'd much appreciate it.
Thanks.
Ok, after moar and moar and moar search, I finally found a script that does the job.
Problem solved.
yay
yay
Hi,
can you please provide your solution. I'm also trying to edit values in build.prop.
I tried to do via init.d script. The script is fine but / system seems to be read only when executing script at startup.
So it would be great if you can reply how you did it (maybe complete other way).
Thanks in advanced!
This is the post in question.
Swiftkey'd from my GNexus
Perfect, thanks a lot! I already found a workaround via an init.d script but this looks very promissing....
Sent from my XT894 using xda app-developers app
It's very useful.
I just included it in my after-nightly zip, so everything becomes automated with cyandelta.
Swiftkey'd from my GNexus
Hi,
So how do I edit AND add lines to build.prop from recovery ZIP?
Easy solution
Or maybe using just the updater-script and this code (this should also work on every rom)
run_program("/sbin/sh", "-c", "sed -i 's:ro.sf.lcd_density=.*:ro.sf.lcd_density=280:' /system/build.prop");
Click to expand...
Click to collapse
You can change 280 to another value if you want.
..
Molitro said:
Hello fellas.
Back in the day, if I wanted to keep my dpi setting of 280 after flashing a new nightly (talking CM now), I just made a local.prop with the modified line and put it in /data.
Since, I think, CM10, though, local.prop doesn't get loaded, so I have to manually change build.prop.
I know a solution to this would be just keeping the same build.prop and flashing it after the rom (I already have a zip with the modifications I like that I flash after each nightly), but I don't really want to keep an old build.prop. What I want is to juat modify the line through my zip, so it stays updated while I don't have to modify the line every single day.
I found very quickly that I can use this line:
sed -i 's/ro.sf.lcd_density=320/ro.sf.lcd_density=280/g' /system/build.prop
to get the job done, and it does indeed work if I run it using the terminal. The problem is, I can't get it to work in recovery.
Having very little experience with programming, I'm just trying stuff to see if it works. I treid directly including the like line in the updater-script, didn't have too much hope for that.
I also tried including another simple file with this code:
#!/sbin/sh
sed -i 's/ro.sf.lcd_density=320/ro.sf.lcd_density=280/g' /system/build.prop
that I then extract and run, as I've seen in threads in the forum, but still doesn't work. The file gets extracted, but it doesn't work
I even tried to do it in a userinit script form, just to see if the rom loaded it on boot, but nope.
This is pretty friggin' simple to do, and I'm sure I'm probably making a silly noob mistake, but I just don't have any experience with this kind of code, so if someone can tell me how to make my zip run that very simple line, I'd much appreciate it.
Thanks.
Click to expand...
Click to collapse
Sir can you tell me what to do to change ro.product.name if same phone in different regions is having different ro.product.name so that the build.prop for every phone that's installed.