Related
How can I change my bootsplash image on Qtek2020i???
Desktop Application = nb image converter.
Purpose = use to convert ur .jpg file into a set of splash1.nb and splash2.nb files (the win mobile thingy uses this pic format at bootups).
Copy .nb files to your device /windows directory.
copy BootSplash_Changer.cab to device and run it. lastly please do a soft reset.
done....
thanks
mm... why two pictures? where second is shown? first appears when you turn on device... and second?...
thank's alot!
Ice_mephi said:
mm... why two pictures? where second is shown? first appears when you turn on device... and second?...
Click to expand...
Click to collapse
Some phones (not the Alpine as far as I know, though) have two splash images, and show splash1.nb and splash2.nb as they boot - if you look through the forums, some people detail how they've got pictures of their kids or family as the splash images.
The Alpine / 2020i just uses the one though, I believe. I remember creating two different images, but it just showed the first one until it reached Windows and the PIN entry screen.
I see... I used only Alpin so don't know what shows on other...
btw - can I save my current boot picture?
because if something goes wrong - i belive my guarantee would be canceled if they notice I made something with it...
I managed to obtain the original XDA2i splash image from the ROM, and I posted it up on this forum.
I saw it, but I live in Russia, and here is no O2...))
my alpine has picture of Moscow with some numbers at the bottom - some serial number I belive...
If you are very patient, you can strip out the original boot splash logo with a hex editor. It took me a while to get it just right, but it is possible.
Alternatively, if you have the original firmware on your PC or on the web anywhere if you send me a link to it I can try and strip it out.
I believe someone's also in the process of making a program to save the original boot splash, but it's not finished yet.
Excuse me... i downloaded the nb converter but when i run it it says a comdlg32.ocx is missing ?? how to make it run ?? THankzz
Google for the file, put it in the same directory as the .exe and it should work ok.
For those looking for the actual attachment I was talking about earlier, see this thread: http://forum.xda-developers.com/viewtopic.php?t=34359
you guys are a lifesaver
Dunno about the rest of us but I'm always glad to dispense nuggets of advice whenever I can.
This is a howto for editing all the splashscreens of your Wizard.
There are several tutorials however none of them deal with all 3 of them.
I myself had a lot of searching before I found the way to change HTC Logo.
All info is already on this forum, I only wrote this little tutorial, changed a tool and created some scripts to ease your work..
I have changed a few steps (just to make it easier)
I have included every program and file used.
WARNING:
DO NOT PROCEED IF YOU DON'T UNDERSTAND THE STEPS.
Do not blame me if you brick your phone, your house burns down, your girlfriend gets pregnant and all other catastrophies..
1st step: Splashscreen1 the HTC Logo
The HTC logo is the first splash screen you see (its the screen without the IPL/SPL ETC data).
It is a 240 W x 320 H 24 bits bitmap, but it is compressed..
In order to make a HTC_Logo Splash screen do the following:
1a) Create a 240x320 (Portrait!!) bitmap save it as 24 bits bitmap.
1b) Call this file htc.bmp and copy it to the folder with my files.
1c) Doubleclick htc-compres.bat -> Now a file called "HTC_Logo.nb" is created. The size of this file should be exactly 65536 bytes *
2nd Step: Splashscreen2 the Splash Screen
The Splash Screen is the second splash screen you will see when booting the phone
It is again a 240 W x 320 H 24 bits bitmap.
2a) Create a 240x320 (Portrait!!) bitmap save it as 24 bits bitmap.
2b) Call this file splash.bmp and copy it to the folder with my files.
2c) open nb_image_converter.exe; load your splash.bmp and click save .nb; call this file signed.002 ( not signed.002.nb )
2d) doubleclick splash2.bat. A file called signed-splash.nb is now created. The size of this file should be exactly 196608 bytes
3rd Step: Create the splash-installer.
3a) run nbfsplash-tool.exe (this file has been modified by me in order to simplify the process)
3b) Model ID is wizard (don't change)
- Choose the language of your rom (eg. WWE)
- leave OEM version; Operator version and CID empty ( So don't change!!!)
3c) Check File #1 and add the signed-splash.nb file; select the image name "Splash screen" and click the start address
-it should read "92000000" don't change!!
3d) Check File #2 and add the htc_logo.nb file file; select the image name "HTC Logo" and click the start address
-it should read "9D000000" don't change!!
3e) Click translate. a file called nk.nbf is created.
3f) open RUU_SPLASH.zip and drag and drop the nk.nbf.
3g) rename RUU_SPLASH.zip to RUU_SPLASH.exe
Now you are ready to flash your splash files.
doubleclick the RUU_SPLASH.exe and follow the well known actions (it will be done in less than a minute).
4rd Step: Splashscreen3 the Welcomehead.96.png
It is the third splash screen you will see when booting the phone
It is a 240 W x 320 H png file.
4a) Create a 240x320 (Portrait!!) bitmap save it as a 24 bits bitmap.
4b) Call this file welcomehead.bmp and copy it to the folder with my files.
4c) doubleclick welcomehead.bat, now a file called welcomehead.cab is created.
4d) install the cab on the phone.
Have Fun.
EqX
Attached: tools you need.
*
In order for this to work you need the MSVC 8.0 runtimes:
http://www.microsoft.com/downloads/...EE-A3F9-4C13-9C99-220B62A191EE&displaylang=en
Note: If your own bitmap is compressed and the HTC_Logo.nb exceeds the 64K limit, the bitmap is too complex. The Lz compression can't handle it.
Save the BMP as a gif file, then open the gif and save it again as a bmp. The compression of gif is enough to simplify the bitmap.
Then try 1b-1c again.
If it still is not enough, then you'll have to convert to jpeg (try lowest compression first!) and re-convert it to BMP, after that try 1b-1c again..
created some more scripts
I have added some scripts in order to eliminate the use of a hex-editor.
Made a cab-creator to change the welcomehead.96.png.
Modified the tut (simplified).
Htc Prophet
do you know this method is compatible for G4 prophet
thanks
AbuYahya said:
do you know this method is compatible for G4 prophet
thanks
Click to expand...
Click to collapse
As far as I know it is NOT compatible with the prophet.
wow great work! This will come in useful ! Many Thanks!
the-equinoxe said:
1a) Create a 240x320 (Portrait!!) bitmap save it as 24 bits bitmap.
1b) Call this file htc.bmp and copy it to the folder with my files.
1c) Doubleclick htc-compres.bat -> Now a file called "HTC_Logo.nb" is created. The size of this file should be exactly 65536 bytes
Click to expand...
Click to collapse
Following your instructions I have created the file [htc.bmp] then clicked the file [htc-compres.bat] nothing happens.
section 2 works fine.
Sugestion for where I'm going wrong?
andy_morgan said:
Following your instructions I have created the file [htc.bmp] then clicked the file [htc-compres.bat] nothing happens.
section 2 works fine.
Sugestion for where I'm going wrong?
Click to expand...
Click to collapse
yep same here. i guess i got to use the old way.
andy_morgan said:
Following your instructions I have created the file [htc.bmp] then clicked the file [htc-compres.bat] nothing happens.
section 2 works fine.
Sugestion for where I'm going wrong?
Click to expand...
Click to collapse
It's not your fault!
I forgot to include a file.
Now it has been included in the zip file in the first post.
[edit]
removed the file because startpost had been updated some time ago..
[/edit]
the-equinoxe said:
It's not your fault!
I forgot to include a file.
It has been included in the zip file in the first post.
I also attached the file here so you dont have to download the whole zip.
unpack it and put it in the folder with my files.
Click to expand...
Click to collapse
Thanks for that, works a treat.
finally i can modify the HTC-Logo by myself! thanks a lot!!
I tried. Problems here:
I made a 240x320 24bit BMP file (htc.bmp, i double check its properties), after i run htc-compres.bat, a file named HTC_Logo.nb was created, so far so good? no, the file size WASN'T 65,535 but 119,004, any hints?
huangyz said:
I tried. Problems here:
I made a 240x320 24bit BMP file (htc.bmp, i double check its properties), after i run htc-compres.bat, a file named HTC_Logo.nb was created, so far so good? no, the file size WASN'T 65,535 but 119,004, any hints?
Click to expand...
Click to collapse
If your own bitmap is compressed and it exceeds the 64K limit, the bitmap is too complex. The Lz compression can't handle it.
I encountered it once, I saved it as a gif file, and then opened it again and saved it again as a bmp. The compression of gif was enough to simplify the bitmap.
It won't work always, in some cases you even have to convert to jpeg (try lowest compression first!) and than back again.
Superb - I love it whena plan comes together.
Great little tutorial, worked a treat.
Cheers
Matt
great work. makes my life easyer.thanks!!!!!
I'm using a wizard, i had no problems changing splash screen using other thread instructions, but theres something i can't get here; you guys talk about 2 or even 3 different splashes, i had only one;] seriously, first there goes the splash i uploaded, then after a few seconds, the same picture with rom, radio etc numbers on it... is it other than usually? enlight me;]
also... you may find it a bit funny, i havent ask anyone yet... my wiz. boots quite long... it's more then 2 minutes usually, sometimes it's longer... i seriously doubt it's normal, but haven't have time to hard reset yet... tell me please, how funny is it for you?
banannq said:
I'm using a wizard, i had no problems changing splash screen using other thread instructions, but theres something i can't get here; you guys talk about 2 or even 3 different splashes, i had only one;] seriously, first there goes the splash i uploaded, then after a few seconds, the same picture with rom, radio etc numbers on it... is it other than usually? enlight me;]
Click to expand...
Click to collapse
The 1st screen you see (without rom radio spl etc) is the HTC Logo
The 2nd screen you see (with rom radio spl etc) is the splash
The 3rd screen you see (again without rom radio spl etc) is the welcomehead of windows mobile 5.0
A lot of roms use the same picture for the first 2 screens.
Some may even use the same as welcomehead.
Excelent Work
Nice job,
Can I put this how-to on Molski.Biz?
Offcourse I will give you the credits for it
Molski
HI there,
I am a newbie and wanted just download the first file of this posting, but I am not able to download it due to access restrictions or something like that. I am able to download the BLC.EXE but I need the first file. Maybe someone can help?
molski said:
Nice job,
Can I put this how-to on Molski.Biz?
Offcourse I will give you the credits for it
Molski
Click to expand...
Click to collapse
That would be great.
Here's a tutorial for those wanting to make their own (animated) bootscreen for the HTC Hero. Decided to write it after I'd seen a couple of posts from people asking about this, and some encouragement from yet another. I've tried to write this in greatest detail possible, so everyone can have a go at doing this.
Tools
It's really quite simple, if you have the proper tools for the job:
SignAPK.jar + testkey.pk8 + testkey.x509.pem
SignAPK.cmd (batch file written by me to facilitate signapk.jar use)
Graphics editor that can work with animated GIF files (Adobe Photoshop or Fireworks recommended)
a plain text editor capable of editing UNIX files (if you're unsure about this, use the free, and open source Notepad++. You can get the Installer.exe here.)
These aren't required, but make things easier:
Android SDK Tools installed (working adb.exe at the very least)
Hero's stock bootscreen to start from)
I have attached two stock Hero bootscreens (one with and one without the HTC startup sound), as well a zip file with the signapk files.
Setting up SignAPK
First, make sure you have Java installed. If not go to www.java.com to install it.
Second, I recommend to unzip the SignAPK_xda.zip file to C:\SignAPK.
Lastly, add the signapk folder to your PATH environment variable:
[*]Go to Control Panel, System
[*]Click on "Advanced" (or "Advanced System Settings")
[*]Click the button "Environment Variables..."
[*]Locate the PATH variable under "User Variables" (or "System variables" if you want to use SignAPK under other user accounts) and double-click it to edit
[*]In the "Variable Value" field, at the end of the line, type a semi-colon and the path to the signapk files ;C:\SignAPK
[*]You could also add the path to your java.exe file here if you have troubles with running signapk.
A note on signapk.CMD
I wrote this batch file so it's possible to sign a zip file from a command line with the least amount of typing (saves time and less chance of a typo). It will check for java.exe and if it doesn't find it in your %PATH% it will let you know and try anyway. It will also prompt you to overwrite or not, if it finds the signed destination file already exists. Open in notepad to find out more.
Contents of bootscreen_stock.zip
You can delete the following three files, as they are created by the signing process:
META-INF\CERT.RSA
META-INF\CERT.SF
META-INF\MANIFEST.MF
This file contains the command to copy the files to the SYSTEM: volume on your device - you never need to edit this:
META-INF\com\google\android\update-script
This file tells Android how and which files to display - open in Notepad++:
system\media\bootscreen\boot_animation.xml
Then we have the actual bootscreen files:
system\media\bootscreen\boot1.gif - shown first, and plays only once
system\media\bootscreen\boot2.gif - shown after first ends, and loops forever (i.e. until end of boot sequence)
system\media\bootscreen\boot_bg.gif - optional file, this file is used as background during entire boot sequence if the 2 aforementioned files are smaller than Hero's screen
system\media\bootscreen\boot.mp3 - optional sound file, played once during boot
boot_animation.xml file contents
Code:
<?xml version="1.0" encoding="utf-8"?>
<!--
* Copyright (C) 2008 HTC Inc.
*
-->
[COLOR="Red"]<!-- For new bootup animation
<BootConfiguration>
<BootAnimation
image="/system/media/bootscreen/boot.gif"
audio="/system/media/bootscreen/boot.mp3"
image2="/system/media/bootscreen/boot2.gif" (optional)
image3="/system/media/bootscreen/boot3.gif" (optional)
screenX="100" (optional)
screenY="130" (optional)
image_bg = "/system/media/bootscreen/boot_bg.gif" (optional)
useAudio="1" // 1: true ; 0:false (optional)
/>
</BootConfiguration>
-->
[/COLOR]
[COLOR="Green"]<!-- For cropped version -->
<BootConfiguration>
<BootAnimation
image="/system/media/bootscreen/boot.gif"
image2="/system/media/bootscreen/boot2.gif"
image3="/system/media/bootscreen/boot2.gif"
loopimage="/system/media/bootscreen/boot2.gif"
image_bg="/system/media/bootscreen/boot_bg.gif"
audio="/system/media/bootscreen/boot.mp3"
screenX="10"
screenY="180"
useAudio="1"
/>
</BootConfiguration>
[/COLOR]
[COLOR="Red"]<!-- For full screen version -->
<!--BootConfiguration>
<BootAnimation
image="/system/media/bootscreen/boot.gif"
audio="/system/media/bootscreen/boot.mp3"
useAudio="1"
/>
</BootConfiguration-->[/COLOR]
This is the file included with the stock bootscreen. This file actually contains 3(!) configurations, however the first and third (red-colored) have been commented out. In short, edit the middle (green-colored) "BootConfiguration" section.
Delete the line that begins with image3= as you won't need it.
If you do not wish to include a startup sound, delete lines starting with:
audio=
useaudio=
Alternatively, simply set useAudio=0
If you boot1.gif and boot2.gif files are both 320x480 pixels, delete lines starting with:
image_bg=
screenX=
screenY=
Alternatively, simply set screenX=0 and screenY=0
If you delete the audio= and image_bg= lines, you can ofcourse delete the files audio.mp3 and image_bg.gif to keep the update.zip as small as possible.
ScreenX and ScreenY are coordinates in pixels, that tell Android where to place the GIF files on the screen. Top-left of the screen would be ScreenX=0 and ScreenY=0; bottom-right would be ScreenX=320 and ScreenY=480. This means that if you make a GIF file that is 200 px wide and 180px high and you wish to center this on the screen, you'd use ScreenX=60 and ScreenY=150 (i.e. ScreenX=320-200=120/2=60 and ScreenY=480-180=300/2=150). If your GIF files are exactly 320x480 pixels, you can set ScreenX and ScreenY both to 0, or leave those two lines out entirely.
Creating a GIF animation from scratch
(boot1.gif and boot2.gif)
Using Adobe Photoshop CS4 (cannot speak for older versions, I think you'd need the now discontinued Adobe ImageReady instead):
Create a layer for each frame of your animation (yes, I didn't say creating an animation from scratch wouldn't be a lot of work)
Click Window -> Animation to show the Animation panel
Click the panel menu (top right icon in panel) and choose "Make Frames from Layers"
If the frames are loaded in reverse from what you intended, choose "Reverse Frames" from the Animation panel menu
From the panel menu, choose "Optimize Animation" and UNtick both "Bounding Box" and "Redundant Pixel Removal"
Finally, go to File -> Save for Web & Devices, UNtick "Transparency" and play with some of the options to reduce file size.
To (re-)open an animated GIF file in Photoshop CS4, go to File -> Import -> Video Frames to Layers and type in the file name box *.gif then hit the Enter key so you can see GIF files, browse to it, select and click Load.
Using Adobe Fireworks CS4:
Make sure the "States" panel is visible, via Window -> States
Create a new "State" for each frame of your animation
To set frame delays, or basically set how long each frame will be shown for, in 100ths of a second, select one or more states and right-click, choose "Properties"
Make sure you do not use transparency (this gave me problems)
To save, go to File -> Save As, set "Save as Type" to "Animated GIF (*.gif)" and "click Options"
Do check "Dither" for better looking gradients and transitions
Play with the options on the first tab to reduce file size
On the "Animation" tab, UNcheck "Crop each state" (don't do this and get some crazy glitchy results in your bootscreen)
Creating a GIF animation by converting a G1 bootscreen animation to Hero format
(boot1.gif and boot2.gif)
You can also import a bunch of PNG files as layers (and subsequently frames) from, for example, a G1 bootscreen.
The fastest way in my experience is simply using Fireworks' File -> Open dialog, make sure all files are in one directory, select them all, do check the "Open as Animation" checkbox and click "Open". This will open each file into its own state in one big file. Then use instructions above to set frame delays and proceed to save as animated GIF.
You can also do it in Photoshop, but this method is very slow, via File -> Scripts -> Load Files into Stack (UNtick "Create Smart Object after loading layers"). Then follow the steps above to create an animated GIF file.
Compiling your bootscreen
If you have the files you want, it's time to zip them and then sign the zip file.
Make a folder "mybootscreen" and unzip the stock bootscreen into that, so it looks like this:
META-INF\CERT.RSA
META-INF\CERT.SF
META-INF\MANIFEST.MF
META-INF\com\google\android\update-script
system\media\bootscreen\boot_animation.xml
system\media\bootscreen\boot1.gif
system\media\bootscreen\boot2.gif
system\media\bootscreen\boot_bg.gif
system\media\bootscreen\boot.mp3
Delete those first 3 files, edit the XML file as needed and replace the GIF files with your own (see my explanations above).
Use for example 7-zip to select the 2 folders META-INF and system and click "Add" (to create new archive)
Make sure you set "Archive Format" to ZIP
Open a Command Prompt window (click Start, Run, type cmd and click OK, or if you have Vista or Windows 7, click Start, type cmd and hit Enter key)
Use this command to go to the directory with your zip file: CD /D C:\path\to\your\file
Type signapk mybootscreen.zip and hit Enter key
Barring any typo's you should now have a file named mybootscreen_signed.zip. You can copy that to the root of your SDCARD and flash it via your recovery image, or use DroidExplorer's flash function.
If this tutorial was of any use to you, or you have ideas to make it better, please reply and let me know. Thanks for reading!
EDIT (2010-04-11): updated SignApk_xda_v20100411.zip. Fixed a couple of forgotten quotes in signapk.cmd that made signing files with spaces in their filenames impossible. New zipfile attached.
wooooo THANKS!
THANKS A LOT! I have made the animated gifs and the sound, but I was insure how to sign and create the signed zip. I'll be trying this ASAP when Ive finished work. Ill keep you posted....
Thanks again m8.
Great guide, I have made my own bootscreen for the Villain rom, but for some reason, when i flash it to my hero, on boot, it plays less than a second of it, ad then messes up completely and displays random static like on an old tv, and then just a black screen for the remainder of the boot time
Help!! my gifs are not that big, i made sure of that (only slightly more than the stock) and i made them in photoshop CS4 with the animations panel, and followed your instructions to the letter.
Gifs are bellow, please help, as i would really like to release these, as i think they are really nice.
Boot1
{
"lightbox_close": "Close",
"lightbox_next": "Next",
"lightbox_previous": "Previous",
"lightbox_error": "The requested content cannot be loaded. Please try again later.",
"lightbox_start_slideshow": "Start slideshow",
"lightbox_stop_slideshow": "Stop slideshow",
"lightbox_full_screen": "Full screen",
"lightbox_thumbnails": "Thumbnails",
"lightbox_download": "Download",
"lightbox_share": "Share",
"lightbox_zoom": "Zoom",
"lightbox_new_window": "New window",
"lightbox_toggle_sidebar": "Toggle sidebar"
}
Boot2
Hey, very nice work! Try the zip I've attached. I think it came out great.
It boils down to a few small problems. Here are some steps I took to correct them:
Imported your files into PS as I described in the tutorial using "Video frames to Layers"
Edit -> Convert to Profile -> sRGB IEC61966-2.1 (UNcheck "Flatten Image")
For just boot1.gif in Animation Panel, bottom left, set looping to "Once"
For just boot1.gif via Image -> Image Size... -> Width:320px, Height:480px, Resolution:72dpi, Check Resample Image and set to "Bicubic"
File -> Save for Web & Devices, with these settings: Selective, Diffusion, UNcheck transparency, UNcheck interlaced, Colors:64 (as this is a grayscale animation, it looks fine), Dither:100%, Matte:none, Web snap:0%, Lossy:0, Metadata:none.
The end result is bigger files, but they work. The XML was fine.
Great! thanks a lot for your help, and your original guide, I might do a few more boot screens now as it looks really good (in my opinion)
mattyyey said:
THANKS A LOT! I have made the animated gifs and the sound, but I was insure how to sign and create the signed zip. I'll be trying this ASAP when Ive finished work. Ill keep you posted....
Thanks again m8.
Click to expand...
Click to collapse
How'd it come out? Would love to see your results!
Really interessant, this is exactly what I was looking for! Thanks for this How-To!
For the signing process I haven't use your "signapk.cmd" (since I'm a linux user)But I have a question: testkey.x509.pem & testkey.pk8 you provied are only to sign app for the Hero? or is it a standard Android singning process? I mean... where are those key from?
For now i've just "resign" the stockbootscreen for "educational purpose", soon I'll try to create something, I hope
EDIT: Okay I was able to resign the original one correctly since I was able to flash it, BUT my bootscreen is still this nexus one animated. So maybe I don't understand wich bootscreen we actually modifing. I know this is not the really first one (this one is fine: spend one day to find that we need a custom SPL to change my ex horrible T-mobile first bootscreen to a Hero one) So why can't I remove the nexus one coming with aHero ROM?
EDIT2: using
Code:
./adb pull /system/media/bootscreen/boot.gif ./Desktop
I get the right image... that mean the files are correctly flashed on my ROM but nothing change so that mean aHero is using a different path for the 2nd bootscreen ???
Thanks for any hint
carbonyle said:
Really interessant, this is exactly what I was looking for! Thanks for this How-To!
Click to expand...
Click to collapse
You're most welcome!
carbonyle said:
For the signing process I haven't use your "signapk.cmd" (since I'm a linux user)But I have a question: testkey.x509.pem & testkey.pk8 you provied are only to sign app for the Hero? or is it a standard Android singning process? I mean... where are those key from?
Click to expand...
Click to collapse
The signapk files (except signapk.cmd) came from a 5MB file named "AndroidMod.zip" that floats around the internet, so to speak. It also contains 3 img files, part of a tutorial I guess, which are not needed for signing. The testkey certificates were created by whomever made that zipfile. The credentials for those files are quite anonymous ("Android" and "[email protected]", etc), so they should be fine to use. You could use openssl to generate your own key files. I tried, and they generated okay, but zips signed with my own certificate wouldn't flash. Recovery (Amon RA) kept saying the files weren't signed. So if you figure out how to properly generate your own certificates, I'd love to hear it.
carbonyle said:
For now i've just "resign" the stockbootscreen for "educational purpose", soon I'll try to create something, I hope
EDIT: Okay I was able to resign the original one correctly since I was able to flash it, BUT my bootscreen is still this nexus one animated. So maybe I don't understand wich bootscreen we actually modifing. I know this is not the really first one (this one is fine: spend one day to find that we need a custom SPL to change my ex horrible T-mobile first bootscreen to a Hero one) So why can't I remove the nexus one coming with aHero ROM?
EDIT2: using
Code:
./adb pull /system/media/bootscreen/boot.gif ./Desktop
I get the right image... that mean the files are correctly flashed on my ROM but nothing change so that mean aHero is using a different path for the 2nd bootscreen ???
Thanks for any hint
Click to expand...
Click to collapse
I don't know I'll download aHero and have a look.
EDIT: Okay, just had a quick look in "aHero07-signed.zip" and it appears Android 2.1 uses a different bootscreen format. Do this:
adb shell
cd /system/media
ls
Instead of a bootscreen directory you'll see a file "bootanimation.zip". Instead of 2 animated GIFs, it contains 2 directories. Each directory is an animation, with a bunch of PNG files for frames. A text file describes which dir is what animation (order of playback) and the delay between frames. If you want to convert a 1.5/1.6 bootscreen from GIFs to seperate PNGs for use in this new format, just open the GIF file in Photoshop (or GIMP I guess) as described and save each frame as a seperate file (Photoshop has a function or script for that, maybe GIMP does too).
Maybe you'll find more information in this thread. I got the Supernova bootscreen graphics (see my sig) from there, which I converted into a bootscreen for Cupcake.
Well, my experience from running 2.1, you can use the bootanimation.zip, or if you delete it and create the bootscreen folder, it also works.
I have the same problem though, when I load up my gif, using the old method, it looks like hells just got unleashed on the gif. Nothing in place, static, etc... I followed your tutorial, tried a couple things, nothing has been working so far...
EDIT: Nvm, found another program to remove the transparency, works now! Got bored, haven't seen any terminal style logins - this works great for my phone, the timing might be different for others though.
To get it working, just delete your bootanimation.zip and flash the zip as usual.
Boot1
Boot2
http://groups.google.com/group/admin-panel-dev/web/terminal_signed.zip
Great tutorial! And nice work that one is Warhawk
I have a problem. I made one by screen capturing some video. Converted it to .gif fine. I can play it in windows fine, but when flashing to android the image just gives a black screen (its only the gif area of the screen cos the animation is only 300x120.
I have provided the .gif above, if anyone can help.
Thanks
I went ahead and removed the transparency from the gif, it showed up on my Hero just fine when I zip/signed it.
Aaah Thanks so much buddy. I swear i tried that though (maybe i made a mistake)
Cheers so much!
I am getting an error after flashing. My installation aborts.
...
Verifying update package...
Installing update...
E:Can't find update script
Installation aborted.
...
Can you help??
quan_one said:
I am getting an error after flashing. My installation aborts.
...
Verifying update package...
Installing update...
E:Can't find update script
Installation aborted.
...
Can you help??
Click to expand...
Click to collapse
Upload your update.zip. Some-one should be able to help.
Did you include the update-script to: \META-INF\com\google\android
Hey guys I created my own boot screen but I am failing to see why my gif will not display on my hero. I have created it from scratch being careful not to include any transparent images or layers but it still displays as a black screen. I am not sure what would cause my gif not to play on my phone other than a transparency issue.
Any help would be more than welcome.
(I am able to sign my zip and flash it no problem)
(edit: The image was my actual .gif but after upload it turn into a jpeg. I will host the file and upload from there.)
My stuff can be found here at mediafire : http://www.mediafire.com/?sharekey=43b651ad9cd91774e7c82ed4b8f0c380e53d1e35008d24d5d8c7c6998cb4ca21
.psd
signed zip
Thanks again!
rejectedkid said:
Hey guys I created my own boot screen but I am failing to see why my gif will not display on my hero. ...
Click to expand...
Click to collapse
You need to go into mybootanimation_signed.zip\system\media\bootscreen and edit your boot_animation.xml.
phaelox said:
...ScreenX and ScreenY are coordinates in pixels, that tell Android where to place the GIF files on the screen. Top-left of the screen would be ScreenX=0 and ScreenY=0; bottom-right would be ScreenX=320 and ScreenY=480. This means that if you make a GIF file that is 200 px wide and 180px high and you wish to center this on the screen, you'd use ScreenX=60 and ScreenY=150 (i.e. ScreenX=320-200=120/2=60 and ScreenY=480-180=300/2=150). If your GIF files are exactly 320x480 pixels, you can set ScreenX and ScreenY both to 0, or leave those two lines out entirely...
Click to expand...
Click to collapse
The difficult thing is that you have two .gifs that are diff sizes so not too sure what to do.
On the one I made, my .gifs are both the same resolution so the value I set for ScreenX and ScreenY work for both.
Look at some other people's .xml files and hope you find someone elses that also uses two different resolution .gifs.
ah. thanks for your input
Sent from my HERO200 using the XDA mobile application powered by Tapatalk
And just because there are no transparent images that you can see or know you put in, doesn't mean that they aren't in there. For some reason, even if I untick Transparent layers in PS, I still get them. I went and got Animation Shop 3, optimized the gif after making it in PS, then re-wrote the file, and everything works fine.
Hope everything is working
Hi !
I have 2 questions :
First one :
To ddotpatel : Your bootscreen is really nice ! Is it working on any 2.1 rom or do I have to change it ? On which rom did you create it ?
And the second one, that tuto is working on 1.5 and 2.1 roms ? Because I heard that it was different to make an 1.5 bootscreen and an 2.1 one...
Thanks for your answers
This guide will help you in porting ROM's to different devices. Although it my not work 100% of the time, it should you show the steps involved in porting a ROM but also which files are important to a device's functionality.
Some handy tools to have before starting:
- The Android SDK, this contains ADB logcat which is a hugely important tool in ROM development. It lets us know what is perhaps causing an app to F/C or a ROM to bootloop. See our guide on how to set this up HERE
- Notepad++ , very useful for altering scripts.
- Patience, getting ports to boot can sometimes take a lot of effort and time but hopefully this guide will show you the quickest and easiest way to get your ported ROM booting.
Okay first decide which ROM you would like to port, don't port HDPI ROM's to MDPI devices or vice versa it just won't work.And it's best to start with the easy and simple ports to get some experience behind you before you go off porting Sense 3.0 to your X10.
Let's get started...
Porting is fairly easy and requires only some folders, files and a boot.img to be replaced.
Now because this is a universal guide I can only tell you how to get the basic hardware working on your port. AOSP ROMs are fairly easy to figure out so you won't have much trouble figuring out what needs replacing. Manufacturer specific ROMs such as Sense 3.0 ROMs are bit more difficult to figure out but the basic skills you will be taught here can be applied in principle to those ROMs.
1. First off lets start with the biggie, the kernel. Those of you familiar with linux will know how important the kernel is a to system, I won't go into detail here but if your kernel isn't specific to your device then your ROM won't boot. The kernel is contained within the boot.img of your ROM's zip (or zImage if it's a Samsung). During flashing it is unpacked and wrote to the system.
To replace the kernel we need to decompile it and no this isn't as easy as opening it winzip. The best way to do this is using Linux; we can use a combination of both perl scripts and terminal commands.
In order for us too see the kernel files contained within the boot.img, we need to first unpack it and this will extract the kernel binary and the ramdisk. What you need at this point is the split_bootimg.zip. This contains a perl script which will extract both files and display the boot.img header, the kernel command line and the board name (if specified).
An example of the output would be:
Page size: 2048 (0x00000800)
Kernel size: 1388548 (0x00153004)
Ramdisk size: 141518 (0x000228ce)
Second size: 0 (0x00000000)
Board name:
Command line: no_console_suspend=1
So how to use this perl script you ask? Well...
First open a terminal and cd to the directory which contains the perl scripts you just downloaded. Next, type this command: "perl split_bootimg.pl boot.img" and that will extract the kernel to your current directory.
Now, we need to extract the ramdisk, the ramdisk has been unpacked from the boot.img and is sitting your current directory with the file name "boot.img-ramdisk.gz", at the moment this still isn't useful to us so we need to un-gzip and then un-cpio it.
So for that we need the Linux terminal. So again from the terminal or using the same terminal enter these commands:
mkdir ramdisk < Creates a directory where we can store the ramdisk
cd ramdisk < Changes our current directory to that of the ramdisk
gzip -dc ../boot.img-ramdisk.gz | cpio -i < Will un-gzip and un-cpio ramdisk
Okay so now we can see all the ramdisk files:
./init.devicename.rc
./default.prop
./proc
./dev
./init.rc
./init
./sys
./init.goldfish.rc
./sbin
./sbin/adbd
./system
./data
So what's important here is the "init.devicename.rc" and "unvented.device.rc". This is the target devices .rc files contained within the ramdisk, now all we have to do here is rename this .rc file to that of the device you are porting to, e.g: "init.trout.rc" > "init.hero.rc"
Some devices ramdisk differ and may not contain "unvented.device.rc" so if this is case for you,then begin by renaming the init.device.rc to your model id and leave it at that. If you get problems well.. that's what the live support is for.
The other file which may be of use to us here is "init.rc", this contains all the system wide kernel properties which we can change to our liking but we'll leave as it is for now.
So now we've edited the ramdisk, we need to change the kernel so that the one the ROM uses is actually specific to our device, when we used the split_bootimg perl script it also unpacked the kernel and that is also in our current directory with the filename "boot.img-kernel".
Easiest way to replace the kernel is to take a kernel update zip for your device, un-zip it and rename the zImage file to "boot.img-kernel" and copy and replace the file of the same name in your directory.
Okay, now that's all done, we need to pack this back up into something that android can understand when it's being flashed. So we need to make a new boot.img from the files we have in our current directory.
First, we need to pack the ramdisk back up into it's original state, so again we need to use the Linux terminal. The command that will do this is this:
find . | cpio -o -H newc | gzip > ../newramdisk.cpio.gz
Remember the ../ is the path to the directory of your ramdisk, remember to remove anything that won't be used by the kernel as cpio will include EVERYTHING in the working directory.
Okay now that the ramdisk is back in it's original format we need to repack the kernel and ramdisk into the boot.img.
So back into the terminal we go and this time we're going to use the "repack-bootimg" perl script (as if that wasn't obvious enough). The command you will ise here is esentially the same to the one we used to split it, so:
"perl repack-bootimg.pl ../path to kernel ../path to ramdisk directory ../path to outfile"
And the boot.img is complete!
So if we look back to the ROM we are porting we can see that we need to put the boot.img into the root of the zip, this will hold true for almost every Android ROM. Next we need to replace some of the files which allow the hardware and keys to work. This is the easy part.
Go into the root of the zip and follow this path to the kernel modules; "/system/lib/modules" Delete all the files you find here.
Now take the kernel modules which came along with the kernel you added to the boot.img and copy them there. Next follow this path to the propietary hardware files;
"/system/lib/hw" Delete all the files you find here.
Again this as simple as taking the files from a ROM meant for your device and copying them into this directory. So what we've done there is added the kernel modules that we can set symlinks to in the updater-script and contain the modules needed for things like WiFi, bluetooth etc. The "/hw" directory as you can see contains the files which control the sensors and lights such as GPS and the accelerometer.
Next, we can look at making sure the hard and soft keys work, the files which contain the layout of your device keys can be found in;
"/system/usr/keylayout" and "/system/usr/keychars"
Touch only those 2 directories.
Delete all the files in here and copy the ones from your device (following the same directory) here.
Okay now to finish off we need to copy over the mount point information for your device and the WiFi drivers.
Follow this path; "/system/etc" and delete only these files and directories.
- vold.fstab
- /wifi
- /ppp
Now follow the same path in a ROM for your device and copy over these files.
Okay we're done!
Before flashing take a look and some guides which show you how to write updater-scripts, incase you need to create important symbolic links.
Happy Porting!
**mod edit** credits to JieeHD from the VillainROM team for this guide! original thread here: http://www.freeyourandroid.com/guide/porting-android
reserved for future......
Hey,how did i help in this?
PS:i m thinking of buying this phone.....is it any good?
i have both the galaxy sl and spice mi 410 i copied from your thread so had to give you credit even though you are not the original poster
spice mi 410 competely outshines galaxy sl so much so that i hardly use sl hooked to this at i.6ghz its lightning fast great plays any game hardly random reboots though average camera galaxy sl better
side note :if you could build succh a nice rom with sl god knows what good you can do with mi 410 please buy it haha
cranium rocks
oh cool............i had forgotten about that thread
2nd hand for 9999 only.................
Hey that's my tutorial... Hope it helps someone....
Sent from my SAMSUNG-SGH-I777 using xda premium
rdannar said:
Hey that's my tutorial... Hope it helps someone....
Sent from my SAMSUNG-SGH-I777 using xda premium
Click to expand...
Click to collapse
than credit to you i am just sharing with everyone "hope it helps someone"
Thank you!!! Will try too port a gt-I9100 rom to a gt-I9100G.
Hope it will be easy with this guide.
Dear Preyesh1.... Could you add the credit to the creator of this guide or at least you mention the url source because I've seen this guide just exactly as in this thread somewhere in the internet.
Except if this guide is pure of yours.
Just to remind...
Edited: Never mind... The creator has been here after all...
I have some questions:
so this means you can take the U9000 android 2.2.2 kernel and merge with ICS?
or does this only works with kernel coming from a GB build to another GB build?
It will help me cause I'm gonna use it soon
Sent from my Triumph using XDA
ziggy46 said:
It will help me cause I'm gonna use it soon
Sent from my Triumph using XDA
Click to expand...
Click to collapse
Hey are you going to port your rom to your device this will be great...!!
I wanna try this great tutorial
Sent from my Droid using Tapatalk
Nice plagiarism.
I mean look at that OP. You've selected the entire article, hit copy, hit new post here, hit paste then hit submit. That's plagiarism of the laziest kind you could have at the very least put some effort in, formatted the text, used code blocks etc.
My word.
edit:
preyesh1 said:
See our guide on how to set this up HERE
Click to expand...
Click to collapse
Hahahahaha.
LG BIN/TOT Extractor
This is a tool for extracting LG Bin/Tot Firmware files.
I update the git a lot more than what I update the thread so check there for latest news.
Features
Split Bin file into relevant partitions
Split Tot file into relevant blocks and merge blocks into partitions
Display AP Header
Display GPT Header
Extract Header from Bin/Tot File
Features I like to implement (and probably won't get around to)
Extracting boot img (The tools currently available don't work in all cases and it's very easy to read the header since it's open source.)
Extracting ext4 partitions. So that it's easy to access the file. Theres already other tools that can do this so this isn't essential.
Mergeing tot partitions based on data from partitions itself and not GPT
Inject Alternate Data into partitions. I'll block access to X-loader,U-boot and GPT so that You can't kill your phone.
Source
https://github.com/Xonar/LGBinExtractor
Confirmed to work with
Quite a few phones.
I lost track of which ones work.
To check just run with -daph. You'll get file information if it works and either garbled data or an error message if it doesn't.
If your phones not supported follow the steps on git readme.
Thanks
SnowLeopardJB - for lots and lots of testing
navossoc - his tool that extracts kdz and wdb files
vim1 - D821 support
scotty755 - LGL22 support
tkawajir - L-04E and LG G Flex F340K support
If you feel I forgot to thank you, msg me and I'll add you.
If it can extract BIN files then yes. We believe the nandroid V30* of KU5900 that was supplied was incomplete. So If KDZ is converted to BIN and FLS (which we can), then extract contents of BIN, then you can have complete files without looking for Koreans and Chinese to relay that the nandroid was incomplete and can have untampered files.
xonar_ said:
Question to other Devs
Will you use a tool like this or am I wasting my time?
Is a tool like this allowed or would it be considered reverse engineering? (If its not allowed I'm going to stop IMMEDIATELY)
Click to expand...
Click to collapse
Yes I will. If I myself can build a program to extract this EFI partition..
It is reverse engineering, but I don't know if it's legal or not (in this case), but for me it's legal as I'm considered this to educational purpose
Many others tool was created to have purpose like this, for example http://psas.revskills.de/?q=node/5
-CMIIW-
I've attached an image of the system partition of the V20E_00 for you guys to see.
I am going to download the v30H_00.kdz today. So I'll keep you posted about how the extracting goes. I probably won't have time to check it out until the weekend so please don't hold your breath.
I've only recently managed to find the necessary information about the ext4 file system to integrate the functionality into my tool. For now Ext2Read can extract the ext4 file system just fine. I'll add that somewhere over the weekend (Provided something doesn't come up).
Could you as soon, as you are able to unpack it fully maybe upload a complete backup of the system partition and also system2, cause we think, that in the nandroid there are some files missing and we need those, to probably be able to boot that system. Great job btw
Thanks for the positive feedback.
I am getting the v30h_00.kdz in a few hours (I got a friend to download it for me, I don't have that much cap ).
There is no way I will be able to upload the file since it will be big but if it works I'll post the tool and how to do it.
GitHub is giving me an error : "Page did not respond in a timely fashion". I am going to try again tonight to post the source.
I already tried to extract the bin files, but I didn't see any pattern to know where start or ends a partition.
Some partitions you can identify by it's header and try to extract the file size from there (i did that with recovery.exe).
If you know for sure the partition name and the address, I can improve the recovery.exe to patch always the right partition.
So, what is the trick?
[]'s
navossoc said:
I already tried to extract the bin files, but I didn't see any pattern to know where start or ends a partition.
Some partitions you can identify by it's header and try to extract the file size from there (i did that with recovery.exe).
If you know for sure the partition name and the address, I can improve the recovery.exe to patch always the right partition.
So, what is the trick?
[]'s
Click to expand...
Click to collapse
The first meg of the file contains the names of the data blocks size on file,size on disk and where they start on file. I'll post exactly how it is set out later.
The data blocks aren't only partitions though for example the first one is the GPT header with it's corresponding entries and also some blocks are empty.
I recognized the start the two partitions from your tool.
Sent from my LG Optimus Black
xonar_ said:
The first meg of the file contains the names of the data blocks size on file,size on disk and where they start on file. I'll post exactly how it is set out later.
The data blocks aren't only partitions though for example the first one is the GPT header with it's corresponding entries and also some blocks are empty.
I recognized the start the two partitions from your tool.
Sent from my LG Optimus Black
Click to expand...
Click to collapse
You are talking about the first 1MB from BIN? right?
They are using little endian or big endian to represent the numbers?
The name of the sections I already knew, but never found the initial offset.
I will try to take a look later.
[]'s
navossoc said:
You are talking about the first 1MB from BIN? right?
They are using little endian or big endian to represent the numbers?
The name of the sections I already knew, but never found the initial offset.
I will try to take a look later.
[]'s
Click to expand...
Click to collapse
Yes the BIN. They are using little endian. All the offsets and sizes are in LBA's (512 bytes in this case) with LBA 0 starting at 0x100000.
Sent from my LG Optimus Black
Source of Bin Fls Extractor (So far)
GitHub isn't working out as planned. The client stopped downloading in the middle and I don't want to waste more cap so here is the source as an attachment.
This is still a work in progress and is only confirmed to work with v20E_00 South Africa.
Linux users can just mount the *.img file of system to access it. Windows users have to use a tool like Ext2Read. Mac users I'm not sure : Google it.
EDIT : I wont be able to get the v30 kdz for another day unfortunately. Feel free to try and change my tool to work with it.
EDIT2: These sources are old. I'll upload my fixed ones later. Reads in chunks and works on P970 and KU5900 ( I don't have any other files to test it with but it should work with almost all BIN files extracted from kdz files )
xonar_ said:
GitHub isn't working out as planned. The client stopped downloading in the middle and I don't want to waste more cap so here is the source as an attachment.
This is still a work in progress and is only confirmed to work with v20E_00 South Africa.
Linux users can just mount the *.img file of system to access it. Windows users have to use a tool like Ext2Read. Mac users I'm not sure : Google it.
EDIT : I wont be able to get the v30 kdz for another day unfortunately. Feel free to try and change my tool to work with it.
Click to expand...
Click to collapse
Nah! The damn trick was the 512 bytes + 0x100000 base.
I never thinked about it...
I take a look at your code, I understand the whole concept now.
I have successfully extracted the system.img and system2.img from the V30H_00.kdz
Nice, maybe later I can do some modifications on recovery.exe, so they can find always the correct partition for recovery.img. (without the user choose one)
[]'s
navossoc said:
Nah! The damn trick was the 512 bytes + 0x100000 base.
I never thinked about it...
I take a look at your code, I understand the whole concept now.
I have successfully extracted the system.img and system2.img from the V30H_00.kdz
Nice, maybe later I can do some modifications on recovery.exe, so they can find always the correct partition for recovery.img. (without the user choose one)
[]'s
Click to expand...
Click to collapse
Nice! Great job you guys. :good:
navossoc said:
Nah! The damn trick was the 512 bytes + 0x100000 base.
I never thinked about it...
I take a look at your code, I understand the whole concept now.
I have successfully extracted the system.img and system2.img from the V30H_00.kdz
Nice, maybe later I can do some modifications on recovery.exe, so they can find always the correct partition for recovery.img. (without the user choose one)
[]'s
Click to expand...
Click to collapse
can you upload system files asap?
George Jetson said:
can you upload system files asap?
Click to expand...
Click to collapse
http://forum.xda-developers.com/showpost.php?p=31443301&postcount=270
Thanks to navossoc there
navossoc said:
Nah! The damn trick was the 512 bytes + 0x100000 base.
I never thinked about it...
I take a look at your code, I understand the whole concept now.
I have successfully extracted the system.img and system2.img from the V30H_00.kdz
Nice, maybe later I can do some modifications on recovery.exe, so they can find always the correct partition for recovery.img. (without the user choose one)
[]'s
Click to expand...
Click to collapse
That's good news.
I won't be able to work on the program during the rest of this week. With the system files extracted there's nothing that needs to be urgently done.
Next Step is to to try and build the BIN from other files. I think I can improve on your recovery.exe to add su binary and apk aswel (Might take a bit longer since I need to extract the ext4 partition, add su then put it back together )
Well, it's just a beta, because it use too much ram to write the files.
I need to read the file in chunks, but, for now it's a good prototype, we can using it.
extract.7z
Code:
CRC32: 2199d10f
MD5: 5b8d8031ff5d66ec2832d182e98505be
SHA-1: b6d729a20d4370e25ebc4eddfc27e25673b1d2f2
To use the tool is just run...
Code:
extract.exe filename_AP.bin
It should work on any bin file, tested on P920, P970 and KU5900.
Please report any error.
[]'s
Thanks navossoc its working well on ginger p970 bin file.
Great stuff thanks alot! You to make a great team.
Sent from my LG-P920 using xda app-developers app
Now how can we make a new bin file with that img files?