How to install BIN ROM? - MDA, XDA, 1010 Software Upgrading

I got a XDA new ROM which is 4.00.01. It's a BIN file. 32 MB. I don't know how to flash it. Anyone has ideas?

What's the exact size in bytes?

I have seen .bin files which start with the string 'B000FF'
you can use
Code:
perl splitrom.pl yourfile.bin -wo outfile.nb1 -t nb1
to convert it to nb1.
you can find splitrom.pl in the mkrom distribution archive.
splitrom understands several types of romimages.

Can I convert to NBF file? So that I can use PROGRAM A to install. Size is 33,555,995 bytes. It start with B000FF.

you must make sure there is either a bootloader in your .bin file,
or you get a bootloader from another source.
you can extract a bootloader from another nbf file using
Code:
perl splitrom.pl yournbf.nbf -wl bootloader.nb0
you must make very sure that your nbf really contains a bootloader, if it doesn't and programme a overwrites it with junk, you will have your self a brand new hightech paperweight.
a safer way to burn unknown images, is via an sd card + xdarit + bootloader mode.

What is the command to convert to NBF once I got the bootloader? When I try to extract the bootloader, I got the following message: "80000000 - 80040000 -- bootloader 0 files 1 modules". Does that mean no bootload information inside the NBF file?

that means you are looking at a file containing just a bootloader, no OS.
Code:
perl splitrom.pl yourfile.bin -rl bootloader.nb0 -wo outfile.nbf -t nbf -n PW10A1-ENG-3.17-001
to convert .bin + bootloader to .nbf
you can check the result again using
Code:
perl splitrom.pl outfile.nbf

Sorry about having so many questions. How can I make sure that the nbf really contains a bootloader? I use the NBF file from O2 UK RUU 3.17.03 to extract bootloader which under PROGRAM A folder. Can I use "perl splitrom.pl yourbin.bin -wl bootloader.nb0" to
extract the bootloader from my BIN file? I use UltraEdit to view the BIN file, I notice some information about bootloader 5.22 (not 5.17). The person give me this ROM said it's the PPC 2003 final. Actually I was given a HTC tool to flash the BIN file. But when I load the bin file, it checks my SD card and tells me invalid card. So I cannot flash directly.

well, that is a difficult question. in an ideal world we would have ready a list of bootloaders, and md5sums of these. for easy idendification. but not done that yet. su currently I look at the binary. and see if I see this line in the hexdump:
0000060: 4543 4543 0010 0a8c 0000 0000 0000 0000 ECEC............
and at about 0001580 there should be some lines with '*' and 'init debugserial...'
then it at least resembles something that looks like a bootloader, and not accidentally an os image. ( yes, that is a mistake we made fore you, leading us to abother intersting development : jtag flashing
5.22 is the latest I saw too.
so does your .bin file start with 'b000ff' ? can you maybe upload this file to
ftp://xda-developers.com ?
actually we noticed that somehow for recent roms the bootloader was not flashed by programme A. even though we managed to overwrite it with crap with one of our own experiments. possibly a different version of programme A. we have not researched this yet.
I would be interested in that htc program too.
you can only extract a bootloader from your .bin file if it contains one. .bin files may contain any memory region. so I don't know if yours does.

I saw the following information. So I believe it has bootloader.
0000060: 4543 4543 0010 0a8c 0000 0000 0000 0000 ECEC............
about 0001580 there should be some lines with '*' and 'init debugserial...'
I've done the following. I don't know if I'm right.
1. I run "perl splitrom.pl yourfile.bin -wl bootloader.nb0 -t nb0" to extracted the bootloader.
2. Run "perl splitrom.pl yourfile.bin -wo outfile.nb1 -t nb1" to extract OS.
3. Run "perl splitrom.pl yourfile.bin -rl bootloader.nb0 -wo outfile.nbf -t nbf -n PW10A1-ENG-4.00-001" to get NBF file. I got error message said romimage already has bootloader. So I run "perl splitrom.pl yourfile.bin -wo outfile.nbf -t nbf -n PW10A1-ENG-4.00-001" to convert to NBF file directly. I dont' know if this the right command to convert BIN to BNF file, but I didn't see any error.
4. I run "perl splitrom.pl outfile.nbf" to check and below is the result.
rommap: 80000000-81f00000
no xipchian found
no operator rim found
80000000 - 80040000 -- bootloader 0 files 1 modules
80040000 - 8015c5c8 -- kernel 5 files 5 modules
80180000 - 80376bd0 -- kernel 10 files 14 modules
80380000 - 8064306c -- kernel 20 files 36 modules
80670000 - 80be66a8 -- kernel 107 files 88 modules
80c80000 - 8102ce98 -- kernel 11 files 36 modules
81050000 - 813ef114 -- kernel 95 files 44 modules
81400000 - 815d2238 -- kernel 34 files 7 modules
815f0000 - 8171bc7c -- kernel 56 files 19 modules
817c0000 - 81adf390 -- kernel 109 files 40 modules
81980000 - 81925800 -- bitmap :30000be5 .. 010000ea
I tried to upload the file to your FTP. But no permission. Please PM your MSN Messenger ID, so that we can discuss more baout this ROM.
Thanks

I don't have msn, but you can find me on irc in #xda-developers on ircnet
( if you don't know a server: irc.nl.uu.net )
3: yes, that should work.
if you want to replace the exsisting bootloader, you can type "perl splitrom.pl outfile.nb1 -rl bootloader.nb0 -wo outfile.nbf -t nbf -n PW10A1-ENG-4.00-001"
4: ah, ppc2003 roms have a different structure splitrom cannot yet find
the xipchain in its new location. that is why it says 'kernel' on all lines.
also the bitmap it mentions is not the bitmap.
another issue may be that the nbf it creates has the wrong size, since
the xipchain in ppc2003 roms is in a location which was not originally
present in nbf files, I am not sure if programme a can write it correctly.
forgot to tell you the password: user=xdaftp pass=xdaftp

Replacing a corrupted bootloader via ActiveSync
I have a T-Mobile PPC Phone on which I have installed the AT&T radio stack and the XDA-Developers 1.1 ROM. All works well except for the fact that I appear to have corrupted the bootloader. The device now jumps directly into Windows CE and ignores any keys which I press when performing a soft reset.
From reading the rest of this thread it seems that I may be able to replace my corrupted bootloader via ActiveSync if I prepare an image file correctly. Is this true, or am I misunderstanding the ActiveSync upgrade process? As I can't reload from SD card, I'd be grateful for some expert advice before I go ahead - I can't afford to get it wrong!
Thanks,
Malcolm

Hi,
I've already upload the PPC2003 for XDA to your FTP. Please check your private message for the password for the ZIP file.
Thanks

Related

Hi from Romania !

After one week with a T-Mobile US version (32Mb) i want to thank you all for your job.
I mean that first thing when I got it I've installed SE 1.2 and unlocked it. Afterwards I was toying with TMO 4.00.16 ENG and also upgraded radio to 6.24.
Everythnig is smooth but ... I want to build my own ROM. I've set up the makerom on a linux box and i think i will follow this steps:
1. perl setup.sh nk.nbf (this one taken from the origina TMO distribution in the RUU directory) - on the linux box
2. dumprom -4 -d files -q nk.nbf - on the linux machine to get all files
3. perl fdf2reg.pl files/default.fdf cfg/default.reg - linux
4. tr -d "\0" <files/initobj.dat >cfg/initobj.txt - linux box
5. cp files/initdb.ini cfg/initdb.ini - linux box
6. delete all files & add all the files I want to add (all kind of software)
7. bash mkrom.sh out/out.nbf - to generate the file for the SD
Questions:
a) is it possible to remove some files from the original ROM and how (any additional steps required)
b) using ssnap for the addtitional software installed ... where shall i make the additions (in files and for registry) ?
Thanks for all your support.
Decebal
PS. Any XDA owner from Romania ?

please help me, i'm retarded....typhoonnbfdecode.pl

Hey, if I'm not hardcore enough that this post gets deleted, I understand, but I am trying...
I am trying to do the following to extract a radio ROM from a tornado ROM package...
instructions from sp3dev...
so, goto spv-developers, find info how to setup perl and typhoonnbfdecode.pl. then, unpack the update with winrar, open nk.nbf with typhoonnbftools 0.4, select gsm, select extract decrypted, then save as gsm.n_d then, use typhoonnbfdecode.pl -r gsm=gsm.n_d -t -c radio.nbf. then, open radio.nbf with nbf tools and remove cdl___02 and save nbf into the folder with romupdate.exe enterbootloader.exe ruugetinfo.exe ruuresource.dll. run romupdate.exe and flash.
and i advise you to set supercid.
I have installed Activeperl, and installed package w/ nbfutils. I downloaded typhoonnbfdecode.pl, but I can't figure out how to use it. Could someone please help me by telling me how to tell typhoonnbftools.pl to do these commands?
THANKYOU!!!

[Q] How to use osnbtool

Hi all, I have problems using osnbtool: when I open it it closes immediatly...
Can somebody tell me how to use it? I'm using Windows 7
Never used it but try right click and run as administrator.
It is a console tool. You need to run it from the Command Prompt in admin priviledge.
Ok I managed to run It, the problem now is that the program crashes after some time... what should I do now?
Please somebody answer
Didn't you get this if you just type "osnbtool" on the command prompt? The built-in help is good enough. What exactly do you want to use it for?
$ ./tools/osnbtool.exe
OS ROM Partition Tool V1.59 By Weisun :> PDAclan.com
A powerful tool for de-pack partitions from OS.NB!(RAW-OS-IMAGE)
*** Decompress & compress SRPX partitions,unpack & pack partitions.
*** Support to re-structure OS.NB when insert a resized partition.
====Command for decompress,compress,unpack & pack partitions:
-d <OS.NB> <Num> <OUT.BIN> Decompress Num of part from OS image to OUT.BIN
-c <OS.NB> <Num> <IN .BIN> Compress or insert IN.BIN to OS image
====Command for split to a RAW-OS-IMAGE form srcFile & repack:
-sp <fName.ext> Split source file to fName.ext.PRE & fName.ext.OS.NB
----'fName.ext.OS.NB' means that RAW-OS-IMAGE.
----it can remove extra-data(SECTOR_ENTRYs) or B000FF struc.
-extra <fName.ext> [0x"intBlocksToFill" | 0x"dwBlockSize"] Insert extra fields (SECTOR_ENTRYs) & get fName.ext.EXA
-2bin <fName.ext> [0x"StartADDR"|-CutHeader] Pack fName.ext to BIN(B000FF)
-FixBinHeader <fName.ext> [0x'intRecordsToAdd'] Fix 'B000FF' header-entry.
====Command for unmask src file :
-x <fName.ext> <0x"dwKeyWord"> [outFile] Unmask source file to outFile
====Command for PagePool value changing in XIP.BIN:
-pp <XIP.BIN> <0x"dwOFFSET"> <decVal"MB"> [-y] Change PagePool Value at OFFSET in source XIP file
-ap <XIP.BIN> <decVal"MB"> [-y] Auto search & change PagePool Value in source XIP file.

[Q] Unpack SMG files

Guys, i googled around a bit, but couldnt find any info on how to unpack .smg files
Using the firmware depacker i opened the sbf, but now i need to unpack the smg files
Any idea?
Done.
Use Explore2fs
Each smg file is the image of it's group code, and image format may differ from each other. For example CG35.smg is the image of boot ram drive, so you need some special tricks to edit it (http://elinux.org/Android_on_OMAP).
As for CG39.smg it's the ext3 image of /system. You can change it easily on linux mouting it as a loopback device, like this:
mount -o loop CG39.smg /mnt/system

[HOW-TO / VIDEO / WIN-LIN-OSX] Extract System/Data files directly from a FTF

Good morning family!
It's my very first time posting in this subforum, but I think this tutorial was actually something needed, since all threads everyone can found while Googling are quite old (like, from the Xperia S times ), and also I'm quite tired of infinite threads like this and this, so...
Today I bring you an extensive and unified guide on how to extract ANY SYSTEM FILE from a FlashTool's Firmware (FTF), whether it's from the userdata.sin or from the system.sin.
Since this is going to be a guide for all OSes, there are some programs you'll need in general,
Latest version available of FlashTools (for SIN dumping purposes).
A reader tool for the extracted image, which can be:
An EXT4 reader / mounter.
An Unyaffs2, if you're using this guide for an old device (like the already mentioned Xperia S, and older).
Some cups of coffee, and lots of patience [IMPORTANT].
But, some of them will be platform specific, so the thread will split in:
2nd post: WINDOWS
3rd post: LINUX
4th post: OSX
Here you've a video tutorial showing the whole process for the 3 OSes:
If you're enjoying it, don't forget to press Thanks button and rate this thread!​
WINDOWS GUIDE
Step 1 - Extract the SIN we need
Using your favourite archive manager (WinRAR, 7-Zip, etc), open the FTF you want to extract the files from. (FYI: an FTF is just a Zip file with renamed extension)
Now copy/extract the SIN you want to unpack to a folder of your preference.
Step 2 - Dump the SIN
I'll take into account you already had installed Flashtools and Java JRE, in which case I highly encourage you to update both to the latest version available.
Now, open Flashtools. Click on Tools, Sin Editor. Hit the [...] and locate the SIN you previously extracted. Now, hit the [Extract Data] button. After a couple of minutes the bar should start running.
Once finished, you can have 2 kind of files: a .yaffs2 or a .ext4/.ext3/.ext2 file, which require different procedures on how to see it's contents.
Step 3.a - Convert the file to a readable format - UnYaffs2
If the file you get is a .yaffs2 format file, you're going to need to extract it. For doing so, you need this tool, which contains a executable and a cygwin dll.
Extract this .rar contents to the very same folder where you placed the SIN, and thus, where the .yaffs2 is located.
Now, while you're in that folder press the shift key in your keyboard, and while you keep pressing it, right click on a blank space in that folder. In the menu choose Open a Command Prompt here.
To end the proccess, type
Code:
unyaffs2.exe [COLOR="DarkOrchid"]<the-name-of-the-yaffs2>[/COLOR]
Where <the-name-of-the-yaffs2> you must type the file name of the yaffs2 (e.g. system.yaffs2)
The files will get extracted and you'll be able to pick the ones you need.
Step 3.b - Mount the image - Linux Reader
There're many many tools to mount a EXT format image in Windows, but in this case, I'll use the Diskinternals Linux Reader, since it's free and it's compatible with all 3 possible formats you can encounter: .ext4/.ext3/.ext2.
Download it from here and install it. (It must be this version, since newer ones are broken.)
Once done, you should be perfectly able to double-click-to-mount the EXT file Flashtools generated without any trouble.
LINUX GUIDE
Step 1 - Extract the SIN we need
Using your favourite archive manager (Ark, Peazip, etc), open the FTF you want to extract the files from. (FYI: an FTF is just a Zip file with renamed extension)
Now copy/extract the SIN you want to unpack to a folder of your preference.
Step 2 - Dump the SIN
I'll take into account you already had installed Flashtools and Java JRE, in which case I highly encourage you to update both to the latest version available.
Now, open Flashtools. Click on Tools, Sin Editor. Hit the [...] and locate the SIN you previously extracted. Now, hit the [Extract Data] button. After a couple of minutes the bar should start running.
Once finished, you can have 2 kind of files: a .yaffs2 or a .ext4/.ext3/.ext2 file, which require different procedures on how to see it's contents.
Step 3.a - Convert the file to a readable format - UnYaffs2
If the file you get is a .yaffs2 format file, you're going to need an extra tool to extract it. For doing so, you are going to need the unyaffs2 tool.
You can download a pre-compiled binary from here, or you can compile your own using GCC with the source code, the header and the code below inside a Terminal (Ctrl+Alt+T to open it).
Code:
gcc -o unyaffs unyaffs.c
Once you've a working UnYaffs2 binary, just copy it to the very same folder where you placed the SIN, and thus, where the .yaffs2 is located, and type in a Terminal (Ctrl+Alt+T to open it).
Code:
cd [COLOR="DarkOrchid"]<file-route-of-the-sin>[/COLOR]
./unyaffs2 [COLOR="Blue"]<the-name-of-the-yaffs2>[/COLOR]
Where <file-route-of-the-sin> is where the SIN was located, and where <the-name-of-the-yaffs2> you must type the file name of the yaffs2 (e.g. system.yaffs2)
The files will get extracted and you'll be able to pick the ones you need.
Step 3.b - Mount the image
Since we're already in Linux, mounting a EXT image is not that hard. Just mount it using this commands in a Terminal (Ctrl+Alt+T to open it).
Code:
cd [COLOR="DarkOrchid"]<file-route-of-the-sin>[/COLOR]
mkdir android
sudo mount -t ext[color="RED"]*[/color] -o loop <name-of-the-image> android/
Where <file-route-of-the-sin> is where the SIN was located, where <the-name-of-the-image> you must type the file name of the ext image (e.g. system.ext4), and finally, where ext*, replace * with the version number of the EXT image you're mounting, usually, ext4
Now, once finished, to unmount it, type in a Terminal.
Code:
sudo umount android
rm -fr android
OSX GUIDE
Step 1 - Extract the SIN we need
Using your favourite archive manager (UnRarX, ZipEg, etc), open the FTF you want to extract the files from. (FYI: an FTF is just a Zip file with renamed extension)
Now copy/extract the SIN you want to unpack to a folder of your preference.
Step 2 - Dump the SIN
I'll take into account you already had installed Flashtools and Java JRE, in which case I highly encourage you to update both to the latest version available.
Now, open Flashtools. Click on Tools, Sin Editor. Hit the [...] and locate the SIN you previously extracted. Now, hit the [Extract Data] button. After a couple of minutes the bar should start running.
Once finished, you can have 2 kind of files: a .yaffs2 or a .ext4/.ext3/.ext2 file, which require different procedures on how to see it's contents.
Step 3.a - Convert the file to a readable format - UnYaffs2
If the file you get is a .yaffs2 format file, you're going to need an extra tool to extract it. For doing so, you are going to need the unyaffs2 tool.
You can download a pre-compiled binary from here, or you can install your own using Brew. From a Terminal (Command+Space, then type in Terminal) type the following commands.
Code:
ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)" < /dev/null 2> /dev/null #This is just to Install Brew for the first time. If you already have it, it's not needed.
brew install unyaffs
If you chose using the UnYaffs2 binary, copy it to the very same folder where you placed the SIN, and thus, where the .yaffs2 is located.
If you chose the Brew installation, just continue.
Now, type in a Terminal (Command+Space, then type in Terminal).
Code:
cd [COLOR="DarkOrchid"]<file-route-of-the-sin>[/COLOR]
unyaffs2 [COLOR="Blue"]<the-name-of-the-yaffs2>[/COLOR]
Where <file-route-of-the-sin> is where the SIN was located, and thus, where the yaffs2 file is located; and where <the-name-of-the-yaffs2> you must type the file name of the yaffs2 (e.g. system.yaffs2)
The files will get extracted and you'll be able to pick the ones you need.
Step 3.b - Mount the image - Ext4FUSE
There're many many tools to mount a EXT format image in OSX, but in this case, since we don't need RW access, but just RO, I'll use ext4fuse, since it's free and it's more than compatible with our needs.
To install it you'll need Brew. To get things ready, type the following commands in a Terminal (Command+Space, then type in Terminal).
Code:
ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)" < /dev/null 2> /dev/null #This is just to Install Brew for the first time. If you already have it, it's not needed.
brew tap homebrew/fuse
brew install Caskroom/cask/osxfuse
brew install ext4fuse
If you're on OSX Yosemite, El Capitan, or Leopard, you may need an extra command to add yourself to the Operator group, so that you can have readonly permissions to the disks.
Use it only if you get an error while trying to access the mounted EXT image later.
Code:
sudo dscl . append /Groups/operator GroupMembership [COLOR="red"]<your-user>[/COLOR]
Where your user <your-user> is your username.
Now, to mount the ext4 image, type in a Terminal (Command+Space, then type in Terminal).
Code:
mkdir android
ext4fuse [COLOR="DarkOrchid"]<path-to-the-ext4-image>[/COLOR] android
Where <path-to-the-ext4-image> you must type in the full path where the SIN was located, and thus, where the EXT4 image is located.
Use this as reference.
Reserved
In case I need it
Great job! Keep up the good work!!
Well. great guide.
Just a note, Microsoft officially released Bash on Ubuntu on Windows yesterday. Try it. It's a full fledged Linux subsystem but unfortunately only available to Windows Insiders. It would be the best alternate to cygwin.
Boot.img
How can i extract the boot.img
or is this applicable to every single .sin file present in the .ftf file
serajr said:
Great job! Keep up the good work!!
Click to expand...
Click to collapse
Thank you, I appreciate your words
mfbcool said:
Well. great guide.
Just a note, Microsoft officially released Bash on Ubuntu on Windows yesterday. Try it. It's a full fledged Linux subsystem but unfortunately only available to Windows Insiders. It would be the best alternate to cygwin.
Click to expand...
Click to collapse
I know, I saw the demonstration in the //build/, but since it hasn't been released for all yet (I guess it'll be for Redstone 2?), I didn't saw it necessary to be included.
sandeep.sethi said:
How can i extract the boot.img
or is this applicable to every single .sin file present in the .ftf file
Click to expand...
Click to collapse
No, this is only applicable for system.sin, userdata.sin, cache.sin and probably modem.sin.
However, if many of you request it, I could try making another for the kernel (boot.img)... But remember, every device doesn't have the same way/method to unpack the kernel, so making a generic tutorial for all wouldn't be possible
No, this is only applicable for system.sin, userdata.sin, cache.sin and probably modem.sin.
However, if many of you request it, I could try making another for the kernel (boot.img)... But remember, every device doesn't have the same way/method to unpack the kernel, so making a generic tutorial for all wouldn't be possible
Click to expand...
Click to collapse
if u can provide the guide it would be very helpful :fingers-crossed: :fingers-crossed:
This thread got featured in XDA Portal, thank you guys!
I tried extracting Xperia Pro's system SIN (can't remember the exact name but the one with the largest file size) using the latest version of Flashtool but wasn't successful. Like it's not supported yet.

Categories

Resources