Guest HiTBuLL Posted July 23, 2010 Report Posted July 23, 2010 hi guys, i am just 15 yo but i want to create a custom rom for my samsung galaxy.how can i do this?is there any document about that? many thanks
Guest L00N3YB!N Posted July 24, 2010 Report Posted July 24, 2010 I would like to know the same. Are there any tutorials that show how you can mod the firmwares and what skills are required, ie; do you need to know alot about C/C++. Also will there be much problems using a Linux OS to do these as most stuff I have seen is for Windows
Guest BigBearMDC Posted September 5, 2010 Report Posted September 5, 2010 I don't know if you are talking of the Samsung Galaxy Spica or the Samsung Galaxy S. It doesn't really matter though because both are Android handsets. Basically, there are those 4 things you need for a custom ROM:a custom Recovery imagea rooted kernela dump of the system memory/ any other original (or custom) ROMa MAC or PC, it doesn't matter if you use Windows or Linux The first thing you'll need is a ROM. If you only have the original shipped ROM you'll have to unpack it first. If you don't have a original ROM you'll have to dump your system and data partitions. Therefore you need adb. You can make a dump of the partitions using a command like this: adb shell cp /dev/block/mtdblock1 /sdcard/system.img This will dump the system partition to your SD card, placed in the file system.img. mtblock1 is the partition you want to dump. So it is possible that mtblock1 is not your system partition. You'll have to find this out on your own. If that's done do the same for your data partition. When you have the images ready you'll have to extract them. Usually you do this with a binary called unyaffs. This application is only available for Linux (as far as I know) as its part of the Android source. You will find information about it on google. Once you got all the files, move them to your working directory, saving the ontent of the data partition in ~/working-dir/data and the content of the system partition in ~/working-dir/system. Furthermore you'll have to create this folder structure: ~/working-dir/META-INF/com/android/google. You can leave the META-INF directory empty, that's where AndroidSign will put the MANIFEST file etc. in. But you'll have to create the file "update-script" and store it in ~/working-dir/META-INF/com/google/android. More on that later. Next, you'll have to add all those applications that you want to be in your custom ROM. Also, you'll have to add the su binary to ~/working-dir/system/bin, the busybox binary to ~/working-dir/system/xbin and the Superuser application to ~/working-dir/system/app. You might also add stuff like A2SD or a different music player etc. If you have done all the changes to your ROM you have to add the boot image. It has to be stored in your working directory: ~/working-dir/boot.img (the boot image should at least be rooted). Now head over to the android (~/working-dir/META-INF/com/google/android). The name of the update-script explains already what it does: it just tells the recovery image what to do with the files that are in the ROM. It tells the recovery image to first format the partitions, copy over the files, set the right permissions and copy over the boot image. The most difficult part of creating an own custom ROM is without a doubt the update script. But there are tools on the net that can do this for you. A proper update script should look like this: assert compatible_with("0.2") == "true" show_progress 0.500000 0 format SYSTEM: copy_dir PACKAGE:system SYSTEM: delete DATA:app copy_dir PACKAGE:data DATA: symlink busybox SYSTEM:xbin/[ symlink busybox SYSTEM:xbin/[[ symlink busybox SYSTEM:xbin/arp symlink busybox SYSTEM:xbin/ash symlink busybox SYSTEM:xbin/awk [...] symlink toolbox SYSTEM:bin/stop symlink toolbox SYSTEM:bin/sync symlink toolbox SYSTEM:bin/top symlink toolbox SYSTEM:bin/vmstat symlink toolbox SYSTEM:bin/watchprops symlink toolbox SYSTEM:bin/wipe set_perm_recursive 0 0 0755 0644 SYSTEM: set_perm_recursive 0 2000 0755 0755 SYSTEM:bin set_perm 0 3003 02755 SYSTEM:bin/netcfg set_perm 0 3004 02755 SYSTEM:bin/ping set_perm 1001 1005 0444 SYSTEM:etc/AudioPara4.csv set_perm_recursive 1002 1002 0755 0440 SYSTEM:etc/bluez set_perm 0 0 0755 SYSTEM:etc/bluez set_perm 1002 1002 0440 SYSTEM:etc/dbus.conf set_perm 1014 2000 0550 SYSTEM:etc/dhcpcd/dhcpcd-run-hooks set_perm_recursive 0 2000 0755 0750 SYSTEM:etc/init.d set_perm 0 0 0755 SYSTEM:etc/init.d set_perm 0 2000 0550 SYSTEM:etc/init.goldfish.sh set_perm_recursive 0 0 0755 0555 SYSTEM:etc/ppp set_perm_recursive 0 2000 0755 0755 SYSTEM:xbin set_perm 0 0 06755 SYSTEM:xbin/librank set_perm 0 0 06755 SYSTEM:xbin/procmem set_perm 0 0 06755 SYSTEM:xbin/procrank set_perm_recursive 1000 1000 0771 0644 DATA: set_perm 1000 1000 0771 DATA:app set_perm 0 0 04755 SYSTEM:bin/su show_progress 0.200000 0 show_progress 0.200000 10 write_raw_image PACKAGE:boot.img BOOT: show_progress 0.100000 0[/code] No that we have all the files that we need, we'll have to pack this into an update.zip. Save the whole ~/working-dir in an uncompressed zip image. After that you'll have to sign the ROM. I recommend you to use AndroidSign (google will help). Once the ROM is signed copy it to your SD card, boot into recovery and flash it. That's all :P Best regards, BB
Recommended Posts
Please sign in to comment
You will be able to leave a comment after signing in
Sign In Now