[UTIL] KDZ extractor for new format KDZs (G7 / V35 / V40) - LG V30 ROMs, Kernels, Recoveries, & Other Developm

I am posting this in the V30 forums in case LG decides to update the KDZ format used for the V30.
This work is Elliott Mitchell's / @emdroidle's -- I only updated it to deal with the new format.
I have added detection for old and new format KDZs, so only one Python script is needed now.
Also, I submitted a PR to @steadfasterX's repo, so that this will be updated in SALT.
Until they are merged, you can continue to use my repo *MERGED*, but all enhancements in the future will be added to his repo.
With that said -- current working repo: link
Going forward: steadfasterX's repo
You need zstandard 0.9 or greater
-- Brian

Brian, again brother, you rock!!!
---------- Post added at 12:37 PM ---------- Previous post was at 12:21 PM ----------
Ok so i download the software, make sure I installed zstandard and ran the program. I keep getting the following error: Traceback (most recent call last):
File "../undz2.py", line 25, in <module>
import zstandard as zstd
ModuleNotFoundError: No module named 'zstandard'

Dvalin21 said:
Brian, again brother, you rock!!!
---------- Post added at 12:37 PM ---------- Previous post was at 12:21 PM ----------
Ok so i download the software, make sure I installed zstandard and ran the program. I keep getting the following error: Traceback (most recent call last):
File "../undz2.py", line 25, in <module>
import zstandard as zstd
ModuleNotFoundError: No module named 'zstandard'
Click to expand...
Click to collapse
What distro are you using? Do you have zstandard 0.9 or greater installed?
Paste the output of:
Code:
pip show zstandard
or pip3 depending on your distro.
Code:
Name: zstandard
Version: 0.9.1
Summary: Zstandard bindings for Python
Home-page: https://github.com/indygreg/python-zstandard
Author: Gregory Szorc
Author-email: [email protected]
License: BSD
Location: /usr/lib64/python3.6/site-packages
Requires: cffi
Required-by:
-- Brian

Im using the latest ubuntu lts distro and here is my info Name: zstandard
Version: 0.10.2
Summary: Zstandard bindings for Python
Home-page: https://github.com/indygreg/python-zstandard
Author: Gregory Szorc
Author-email: [email protected]
License: BSD
Location: /home/kdz/.local/lib/python2.7/site-packages
Requires: cffi

Dvalin21 said:
Im using the latest ubuntu lts distro and here is my info Name: zstandard
Version: 0.10.2
Summary: Zstandard bindings for Python
Home-page: https://github.com/indygreg/python-zstandard
Author: Gregory Szorc
Author-email: [email protected]
License: BSD
Location: /home/kdz/.local/lib/python2.7/site-packages
Requires: cffi
Click to expand...
Click to collapse
Do you have zstd installed?
Code:
pip list | grep zstd
If you do, you will have to uninstall it. It has nothing to do with me doing:
Code:
import zstandard as zstd
That was actually my attempt to get around the bug that if you have zstd AND zstandard installed, you run into this problem.
So, if you do:
Code:
pip uninstall zstd
EDIT: also, you need to use pip3 since you have Python2 installed.
Code:
Location: /home/kdz/.local/lib/[B][U]python2.7[/U][/B]/site-packages
-- Brian

So i did something dumb....I went back trying to check everything and thought maybe i should just start fresh so I uninstalled all version of python....not good apparently. Needless to say I need to reinstall ubuntu as when i tried to restart my computer it kept asking for username and password and then said forbidden policy. Give me a few and Ill try this again

Ok, got everything reinstalled. Here is where I am at
[email protected]:~$ pip3 --version
pip 9.0.1 from /usr/lib/python3/dist-packages (python 3.6)
Also installed "python"
ran the commands and it worked
[email protected]:~/Desktop/kdztools-master$ ./unkdz -f G710.kdz -x
[!] Warning: Data between headers and payload! (offsets 826 to 83768)
[+] Extracting all partitions from v2 file!
[+] Extracting G710TM10n_00.dz to kdzextracted/G710TM10n_00.dz
[+] Extracting LGUP_c.dll to kdzextracted/LGUP_c.dll
[+] Extracting LGUP_c.dylib to kdzextracted/LGUP_c.dylib
[+] Extracting extra data to kdzextracted/kdz_extras.bin
[email protected]:~/Desktop/kdztools-master$ cd kdzextracted
[email protected]:~/Desktop/kdztools-master/kdzextracted$ ../undz2.py -f G710TM10n_00.dz -x
[ ] Warning: Found 2 out of order chunks (please report)
[!] Warning: Chunk is part of "OP_S", but starts in front of slice?!
[!] Warning: Chunk is part of "OP_S", but starts in front of slice?!
[!] Warning: Chunk is part of "OP_S", but starts in front of slice?!
[!] Warning: Chunk is part of "OP_S", but starts in front of slice?!
[!] Warning: Chunk is part of "xbl_a", but starts in front of slice?!
[!] Warning: Chunk is part of "xbl_config_a", but starts in front of slice?!
[!] Warning: Chunk is part of "BackupGPT", but starts in front of slice?!
[!] Warning: Chunk is part of "xbl_b", but starts in front of slice?!
[!] Warning: Chunk is part of "xbl_config_b", but starts in front of slice?!
[!] Warning: Chunk is part of "BackupGPT", but starts in front of slice?!
[!] Warning: Chunk is part of "BackupGPT", but starts in front of slice?!
[!] Warning: Chunk is part of "aop_a", but starts in front of slice?!
[!] Warning: Chunk is part of "tz_a", but starts in front of slice?!
[!] Warning: Chunk is part of "hyp_a", but starts in front of slice?!
[!] Warning: Chunk is part of "modem_a", but starts in front of slice?!
[!] Warning: Chunk is part of "abl_a", but starts in front of slice?!
[!] Warning: Chunk is part of "dsp_a", but starts in front of slice?!
[!] Warning: Chunk is part of "keymaster_a", but starts in front of slice?!
[!] Warning: Chunk is part of "akmu_a", but starts in front of slice?!
[!] Warning: Chunk is part of "boot_a", but starts in front of slice?!
[!] Warning: Chunk is part of "cmnlib_a", but starts in front of slice?!
[!] Warning: Chunk is part of "cmnlib64_a", but starts in front of slice?!
[!] Warning: Chunk is part of "devcfg_a", but starts in front of slice?!
[!] Warning: Chunk is part of "qupfw_a", but starts in front of slice?!
[!] Warning: Chunk is part of "laf_a", but starts in front of slice?!
[!] Warning: Chunk is part of "vbmeta_a", but starts in front of slice?!
[!] Warning: Chunk is part of "dtbo_a", but starts in front of slice?!
[!] Warning: Chunk is part of "storsec_a", but starts in front of slice?!
[!] Warning: Chunk is part of "raw_resources_a", but starts in front of slice?!
[!] Warning: Chunk is part of "sid_a", but starts in front of slice?!
[!] Warning: Chunk is part of "aop_b", but starts in front of slice?!
[!] Warning: Chunk is part of "tz_b", but starts in front of slice?!
[!] Warning: Chunk is part of "hyp_b", but starts in front of slice?!
[!] Warning: Chunk is part of "modem_b", but starts in front of slice?!
[!] Warning: Chunk is part of "abl_b", but starts in front of slice?!
[!] Warning: Chunk is part of "dsp_b", but starts in front of slice?!
[!] Warning: Chunk is part of "keymaster_b", but starts in front of slice?!
[!] Warning: Chunk is part of "akmu_b", but starts in front of slice?!
[!] Warning: Chunk is part of "boot_b", but starts in front of slice?!
[!] Warning: Chunk is part of "cmnlib_b", but starts in front of slice?!
[!] Warning: Chunk is part of "cmnlib64_b", but starts in front of slice?!
[!] Warning: Chunk is part of "devcfg_b", but starts in front of slice?!
[!] Warning: Chunk is part of "qupfw_b", but starts in front of slice?!
[!] Warning: Chunk is part of "laf_b", but starts in front of slice?!
[!] Warning: Chunk is part of "vbmeta_b", but starts in front of slice?!
[!] Warning: Chunk is part of "dtbo_b", but starts in front of slice?!
[!] Warning: Chunk is part of "storsec_b", but starts in front of slice?!
[!] Warning: Chunk is part of "raw_resources_b", but starts in front of slice?!
[!] Warning: Chunk is part of "sid_b", but starts in front of slice?!
[!] Warning: Chunk is part of "sec", but starts in front of slice?!
[!] Warning: Chunk is part of "apdp", but starts in front of slice?!
[!] Warning: Chunk is part of "msadp", but starts in front of slice?!
[!] Warning: Chunk is part of "logfs", but starts in front of slice?!
[!] Warning: Chunk is part of "BackupGPT", but starts in front of slice?!
[!] Warning: Chunk is part of "BackupGPT", but starts in front of slice?!
[!] Warning: Chunk is part of "BackupGPT", but starts in front of slice?!
[+] Extracting all chunkfiles!
[+] Extracting PrimaryGPT_0.bin to PrimaryGPT_0.bin.chunk
[+] Extracting persist_13446.bin to persist_13446.bin.chunk
[+] Extracting ftm_21894.bin to ftm_21894.bin.chunk
[+] Extracting oem_a_77574.bin to oem_a_77574.bin.chunk
[+] Extracting vendor_a_81670.bin to vendor_a_81670.bin.chunk
[+] Extracting vendor_a_114503.bin to vendor_a_114503.bin.chunk
[+] Extracting vendor_a_147206.bin to vendor_a_147206.bin.chunk
[+] Extracting vendor_a_147701.bin to vendor_a_147701.bin.chunk
[+] Extracting vendor_a_180039.bin to vendor_a_180039.bin.chunk
[+] Extracting vendor_a_180534.bin to vendor_a_180534.bin.chunk
[+] Extracting vendor_a_213237.bin to vendor_a_213237.bin.chunk
[+] Extracting vendor_a_245510.bin to vendor_a_245510.bin.chunk
[+] Extracting vendor_a_245575.bin to vendor_a_245575.bin.chunk
[+] Extracting vendor_a_246070.bin to vendor_a_246070.bin.chunk
[+] Extracting vendor_a_278773.bin to vendor_a_278773.bin.chunk
[+] Extracting vendor_a_311111.bin to vendor_a_311111.bin.chunk
[+] Extracting vendor_a_311606.bin to vendor_a_311606.bin.chunk
[+] Extracting vendor_a_337669.bin to vendor_a_337669.bin.chunk
[+] Extracting vendor_b_337670.bin to vendor_b_337670.bin.chunk
[+] Extracting system_a_593670.bin to system_a_593670.bin.chunk
[+] Extracting system_a_626719.bin to system_a_626719.bin.chunk
[+] Extracting system_a_627232.bin to system_a_627232.bin.chunk
[+] Extracting system_a_659719.bin to system_a_659719.bin.chunk
[+] Extracting system_a_691974.bin to system_a_691974.bin.chunk
[+] Extracting system_a_692255.bin to system_a_692255.bin.chunk
[+] Extracting system_a_692768.bin to system_a_692768.bin.chunk
[+] Extracting system_a_725255.bin to system_a_725255.bin.chunk
[+] Extracting system_a_757510.bin to system_a_757510.bin.chunk
[+] Extracting system_a_757791.bin to system_a_757791.bin.chunk
[+] Extracting system_a_758304.bin to system_a_758304.bin.chunk
[+] Extracting system_a_790791.bin to system_a_790791.bin.chunk
[+] Extracting system_a_823327.bin to system_a_823327.bin.chunk
[+] Extracting system_a_823840.bin to system_a_823840.bin.chunk
[+] Extracting system_a_856327.bin to system_a_856327.bin.chunk
[+] Extracting system_a_888863.bin to system_a_888863.bin.chunk
[+] Extracting system_a_889376.bin to system_a_889376.bin.chunk
[+] Extracting system_a_921863.bin to system_a_921863.bin.chunk
[+] Extracting system_a_954118.bin to system_a_954118.bin.chunk
[+] Extracting system_a_954631.bin to system_a_954631.bin.chunk
[+] Extracting system_a_986886.bin to system_a_986886.bin.chunk
[+] Extracting system_a_987399.bin to system_a_987399.bin.chunk
[+] Extracting system_a_1019654.bin to system_a_1019654.bin.chunk
[+] Extracting system_a_1020167.bin to system_a_1020167.bin.chunk
[+] Extracting system_a_1052422.bin to system_a_1052422.bin.chunk
[+] Extracting system_a_1052935.bin to system_a_1052935.bin.chunk
[+] Extracting system_a_1085703.bin to system_a_1085703.bin.chunk
[+] Extracting system_a_1118471.bin to system_a_1118471.bin.chunk
[+] Extracting system_a_1151239.bin to system_a_1151239.bin.chunk
[+] Extracting system_a_1184007.bin to system_a_1184007.bin.chunk
[+] Extracting system_a_1216775.bin to system_a_1216775.bin.chunk
[+] Extracting system_a_1249543.bin to system_a_1249543.bin.chunk
[+] Extracting system_a_1282311.bin to system_a_1282311.bin.chunk
[+] Extracting system_a_1315079.bin to system_a_1315079.bin.chunk
[+] Extracting system_a_1347847.bin to system_a_1347847.bin.chunk
[+] Extracting system_a_1380615.bin to system_a_1380615.bin.chunk
[+] Extracting system_a_1413151.bin to system_a_1413151.bin.chunk
[+] Extracting system_a_1413664.bin to system_a_1413664.bin.chunk
[+] Extracting system_a_1446151.bin to system_a_1446151.bin.chunk
[+] Extracting system_a_1478687.bin to system_a_1478687.bin.chunk
[+] Extracting system_a_1479200.bin to system_a_1479200.bin.chunk
[+] Extracting system_a_1511687.bin to system_a_1511687.bin.chunk
[+] Extracting system_a_1544455.bin to system_a_1544455.bin.chunk
[+] Extracting system_a_1576710.bin to system_a_1576710.bin.chunk
[+] Extracting system_a_1577223.bin to system_a_1577223.bin.chunk
[+] Extracting system_a_1609991.bin to system_a_1609991.bin.chunk
[+] Extracting system_a_1642246.bin to system_a_1642246.bin.chunk
[+] Extracting system_a_1675014.bin to system_a_1675014.bin.chunk
[+] Extracting system_a_1707782.bin to system_a_1707782.bin.chunk
[+] Extracting system_a_1708295.bin to system_a_1708295.bin.chunk
[+] Extracting system_a_1754885.bin to system_a_1754885.bin.chunk
[+] Extracting system_b_1754886.bin to system_b_1754886.bin.chunk
[+] Extracting system_b_1787935.bin to system_b_1787935.bin.chunk
[+] Extracting system_b_1820422.bin to system_b_1820422.bin.chunk
[+] Extracting system_b_1820935.bin to system_b_1820935.bin.chunk
[+] Extracting system_b_1853471.bin to system_b_1853471.bin.chunk
[+] Extracting system_b_1853984.bin to system_b_1853984.bin.chunk
[+] Extracting system_b_1886471.bin to system_b_1886471.bin.chunk
[+] Extracting system_b_1918726.bin to system_b_1918726.bin.chunk
[+] Extracting system_b_1919007.bin to system_b_1919007.bin.chunk
[+] Extracting system_b_1919520.bin to system_b_1919520.bin.chunk
[+] Extracting system_b_1952007.bin to system_b_1952007.bin.chunk
[+] Extracting system_b_1984262.bin to system_b_1984262.bin.chunk
[+] Extracting system_b_1984543.bin to system_b_1984543.bin.chunk
[+] Extracting system_b_1985056.bin to system_b_1985056.bin.chunk
[+] Extracting system_b_2049798.bin to system_b_2049798.bin.chunk
[+] Extracting system_b_2050079.bin to system_b_2050079.bin.chunk
[+] Extracting system_b_2050592.bin to system_b_2050592.bin.chunk
[+] Extracting system_b_2115334.bin to system_b_2115334.bin.chunk
[+] Extracting system_b_2148102.bin to system_b_2148102.bin.chunk
[+] Extracting system_b_2180870.bin to system_b_2180870.bin.chunk
[+] Extracting system_b_2213638.bin to system_b_2213638.bin.chunk
[+] Extracting system_b_2246406.bin to system_b_2246406.bin.chunk
[+] Extracting system_b_2279174.bin to system_b_2279174.bin.chunk
[+] Extracting system_b_2311942.bin to system_b_2311942.bin.chunk
[+] Extracting system_b_2344710.bin to system_b_2344710.bin.chunk
[+] Extracting system_b_2377478.bin to system_b_2377478.bin.chunk
[+] Extracting system_b_2410246.bin to system_b_2410246.bin.chunk
[+] Extracting system_b_2443014.bin to system_b_2443014.bin.chunk
[+] Extracting system_b_2475782.bin to system_b_2475782.bin.chunk
[+] Extracting system_b_2508550.bin to system_b_2508550.bin.chunk
[+] Extracting system_b_2541318.bin to system_b_2541318.bin.chunk
[+] Extracting system_b_2574086.bin to system_b_2574086.bin.chunk
[+] Extracting system_b_2574367.bin to system_b_2574367.bin.chunk
[+] Extracting system_b_2574880.bin to system_b_2574880.bin.chunk
[+] Extracting system_b_2639622.bin to system_b_2639622.bin.chunk
[+] Extracting system_b_2639903.bin to system_b_2639903.bin.chunk
[+] Extracting system_b_2640416.bin to system_b_2640416.bin.chunk
[+] Extracting system_b_2705158.bin to system_b_2705158.bin.chunk
[+] Extracting system_b_2737926.bin to system_b_2737926.bin.chunk
[+] Extracting system_b_2770694.bin to system_b_2770694.bin.chunk
[+] Extracting system_b_2803462.bin to system_b_2803462.bin.chunk
[+] Extracting system_b_2836230.bin to system_b_2836230.bin.chunk
[+] Extracting system_b_2868998.bin to system_b_2868998.bin.chunk
[+] Extracting system_b_2869511.bin to system_b_2869511.bin.chunk
[+] Extracting system_b_2916101.bin to system_b_2916101.bin.chunk
[+] Extracting 0_OP_TMO_US.img to 0_OP_TMO_US.img.chunk
[+] Extracting 1_OP_TMO_US.img to 1_OP_TMO_US.img.chunk
[+] Extracting 2_OP_TMO_US.img to 2_OP_TMO_US.img.chunk
[+] Extracting 3_OP_TMO_US.img to 3_OP_TMO_US.img.chunk
[+] Extracting userdata_3702662.bin to userdata_3702662.bin.chunk
[+] Extracting userdata_3735430.bin to userdata_3735430.bin.chunk
[+] Extracting userdata_3736071.bin to userdata_3736071.bin.chunk
[+] Extracting userdata_3768198.bin to userdata_3768198.bin.chunk
[+] Extracting userdata_3768712.bin to userdata_3768712.bin.chunk
[+] Extracting userdata_3801607.bin to userdata_3801607.bin.chunk
[+] Extracting userdata_3833734.bin to userdata_3833734.bin.chunk
[+] Extracting userdata_3866502.bin to userdata_3866502.bin.chunk
[+] Extracting userdata_3867143.bin to userdata_3867143.bin.chunk
[+] Extracting userdata_3899270.bin to userdata_3899270.bin.chunk
[+] Extracting userdata_3932038.bin to userdata_3932038.bin.chunk
[+] Extracting userdata_3932679.bin to userdata_3932679.bin.chunk
[+] Extracting userdata_3964806.bin to userdata_3964806.bin.chunk
[+] Extracting userdata_3997574.bin to userdata_3997574.bin.chunk
[+] Extracting userdata_3998215.bin to userdata_3998215.bin.chunk
[+] Extracting userdata_4030342.bin to userdata_4030342.bin.chunk
[+] Extracting userdata_4063110.bin to userdata_4063110.bin.chunk
[+] Extracting userdata_4095878.bin to userdata_4095878.bin.chunk
[+] Extracting userdata_4128646.bin to userdata_4128646.bin.chunk
[+] Extracting userdata_4161414.bin to userdata_4161414.bin.chunk
[+] Extracting userdata_4194182.bin to userdata_4194182.bin.chunk
[+] Extracting userdata_4226950.bin to userdata_4226950.bin.chunk
[+] Extracting userdata_4259718.bin to userdata_4259718.bin.chunk
[+] Extracting userdata_4292486.bin to userdata_4292486.bin.chunk
[+] Extracting userdata_4325254.bin to userdata_4325254.bin.chunk
[+] Extracting userdata_4358022.bin to userdata_4358022.bin.chunk
[+] Extracting userdata_4390790.bin to userdata_4390790.bin.chunk
[+] Extracting userdata_4423558.bin to userdata_4423558.bin.chunk
[+] Extracting userdata_4456326.bin to userdata_4456326.bin.chunk
[+] Extracting userdata_4489094.bin to userdata_4489094.bin.chunk
[+] Extracting userdata_4521862.bin to userdata_4521862.bin.chunk
[+] Extracting userdata_4522503.bin to userdata_4522503.bin.chunk
[+] Extracting userdata_4554630.bin to userdata_4554630.bin.chunk
[+] Extracting userdata_4587398.bin to userdata_4587398.bin.chunk
[+] Extracting userdata_4588039.bin to userdata_4588039.bin.chunk
[+] Extracting userdata_4620166.bin to userdata_4620166.bin.chunk
[+] Extracting userdata_4652934.bin to userdata_4652934.bin.chunk
[+] Extracting userdata_4685702.bin to userdata_4685702.bin.chunk
[+] Extracting userdata_4718470.bin to userdata_4718470.bin.chunk
[+] Extracting userdata_4751238.bin to userdata_4751238.bin.chunk
[+] Extracting userdata_4784006.bin to userdata_4784006.bin.chunk
[+] Extracting userdata_4816774.bin to userdata_4816774.bin.chunk
[+] Extracting userdata_4849542.bin to userdata_4849542.bin.chunk
[+] Extracting userdata_4882310.bin to userdata_4882310.bin.chunk
[+] Extracting userdata_4915078.bin to userdata_4915078.bin.chunk
[+] Extracting userdata_4947846.bin to userdata_4947846.bin.chunk
[+] Extracting userdata_4980614.bin to userdata_4980614.bin.chunk
[+] Extracting userdata_5013382.bin to userdata_5013382.bin.chunk
[+] Extracting userdata_5046150.bin to userdata_5046150.bin.chunk
[+] Extracting userdata_5078918.bin to userdata_5078918.bin.chunk
[+] Extracting userdata_5111686.bin to userdata_5111686.bin.chunk
[+] Extracting userdata_5144454.bin to userdata_5144454.bin.chunk
[+] Extracting userdata_5177222.bin to userdata_5177222.bin.chunk
[+] Extracting userdata_5209990.bin to userdata_5209990.bin.chunk
[+] Extracting userdata_5242758.bin to userdata_5242758.bin.chunk
[+] Extracting userdata_5275526.bin to userdata_5275526.bin.chunk
[+] Extracting userdata_5308294.bin to userdata_5308294.bin.chunk
[+] Extracting userdata_5308935.bin to userdata_5308935.bin.chunk
[+] Extracting userdata_5341062.bin to userdata_5341062.bin.chunk
[+] Extracting userdata_5373830.bin to userdata_5373830.bin.chunk
[+] Extracting userdata_5406598.bin to userdata_5406598.bin.chunk
[+] Extracting userdata_5439366.bin to userdata_5439366.bin.chunk
[+] Extracting userdata_5472134.bin to userdata_5472134.bin.chunk
[+] Extracting userdata_5504902.bin to userdata_5504902.bin.chunk
[+] Extracting userdata_5537670.bin to userdata_5537670.bin.chunk
[+] Extracting userdata_5570438.bin to userdata_5570438.bin.chunk
[+] Extracting userdata_5603206.bin to userdata_5603206.bin.chunk
[+] Extracting userdata_5635974.bin to userdata_5635974.bin.chunk
[+] Extracting userdata_5668742.bin to userdata_5668742.bin.chunk
[+] Extracting userdata_5701510.bin to userdata_5701510.bin.chunk
[+] Extracting userdata_5734278.bin to userdata_5734278.bin.chunk
[+] Extracting userdata_5767046.bin to userdata_5767046.bin.chunk
[+] Extracting userdata_5799814.bin to userdata_5799814.bin.chunk
[+] Extracting userdata_5832582.bin to userdata_5832582.bin.chunk
[+] Extracting userdata_5865350.bin to userdata_5865350.bin.chunk
[+] Extracting userdata_5898118.bin to userdata_5898118.bin.chunk
[+] Extracting userdata_5930886.bin to userdata_5930886.bin.chunk
[+] Extracting userdata_5963654.bin to userdata_5963654.bin.chunk
[+] Extracting userdata_5996422.bin to userdata_5996422.bin.chunk
[+] Extracting userdata_6029190.bin to userdata_6029190.bin.chunk
[+] Extracting userdata_6061958.bin to userdata_6061958.bin.chunk
[+] Extracting userdata_6094726.bin to userdata_6094726.bin.chunk
[+] Extracting userdata_6127494.bin to userdata_6127494.bin.chunk
[+] Extracting userdata_6160262.bin to userdata_6160262.bin.chunk
[+] Extracting userdata_6193030.bin to userdata_6193030.bin.chunk
[+] Extracting userdata_6225798.bin to userdata_6225798.bin.chunk
[+] Extracting userdata_6258566.bin to userdata_6258566.bin.chunk
[+] Extracting userdata_6291334.bin to userdata_6291334.bin.chunk
[+] Extracting BackupGPT_7340027.bin to BackupGPT_7340027.bin.chunk
[+] Extracting PrimaryGPT_0.bin to B.PrimaryGPT_0.bin.chunk
[+] Extracting xbl_a_6.bin to B.xbl_a_6.bin.chunk
[+] Extracting xbl_config_a_902.bin to B.xbl_config_a_902.bin.chunk
[+] Extracting BackupGPT_2043.bin to B.BackupGPT_2043.bin.chunk
[+] Extracting PrimaryGPT_0.bin to C.PrimaryGPT_0.bin.chunk
[+] Extracting xbl_b_6.bin to C.xbl_b_6.bin.chunk
[+] Extracting xbl_config_b_902.bin to C.xbl_config_b_902.bin.chunk
[+] Extracting BackupGPT_2043.bin to C.BackupGPT_2043.bin.chunk
[+] Extracting PrimaryGPT_0.bin to D.PrimaryGPT_0.bin.chunk
[+] Extracting BackupGPT_2043.bin to D.BackupGPT_2043.bin.chunk
[+] Extracting PrimaryGPT_0.bin to E.PrimaryGPT_0.bin.chunk
[+] Extracting aop_a_6.bin to E.aop_a_6.bin.chunk
[+] Extracting tz_a_134.bin to E.tz_a_134.bin.chunk
[+] Extracting hyp_a_646.bin to E.hyp_a_646.bin.chunk
[+] Extracting modem_a_774.bin to E.modem_a_774.bin.chunk
[+] Extracting abl_a_56582.bin to E.abl_a_56582.bin.chunk
[+] Extracting dsp_a_56838.bin to E.dsp_a_56838.bin.chunk
[+] Extracting keymaster_a_65030.bin to E.keymaster_a_65030.bin.chunk
[+] Extracting akmu_a_65158.bin to E.akmu_a_65158.bin.chunk
[+] Extracting boot_a_65286.bin to E.boot_a_65286.bin.chunk
[+] Extracting cmnlib_a_81670.bin to E.cmnlib_a_81670.bin.chunk
[+] Extracting cmnlib64_a_81798.bin to E.cmnlib64_a_81798.bin.chunk
[+] Extracting devcfg_a_81926.bin to E.devcfg_a_81926.bin.chunk
[+] Extracting qupfw_a_81958.bin to E.qupfw_a_81958.bin.chunk
[+] Extracting laf_a_81990.bin to E.laf_a_81990.bin.chunk
[+] Extracting vbmeta_a_94278.bin to E.vbmeta_a_94278.bin.chunk
[+] Extracting dtbo_a_94294.bin to E.dtbo_a_94294.bin.chunk
[+] Extracting storsec_a_96342.bin to E.storsec_a_96342.bin.chunk
[+] Extracting raw_resources_a_96374.bin to E.raw_resources_a_96374.bin.chunk
[+] Extracting sid_a_98422.bin to E.sid_a_98422.bin.chunk
[+] Extracting aop_b_98550.bin to E.aop_b_98550.bin.chunk
[+] Extracting tz_b_98678.bin to E.tz_b_98678.bin.chunk
[+] Extracting hyp_b_99190.bin to E.hyp_b_99190.bin.chunk
[+] Extracting modem_b_99318.bin to E.modem_b_99318.bin.chunk
[+] Extracting abl_b_155126.bin to E.abl_b_155126.bin.chunk
[+] Extracting dsp_b_155382.bin to E.dsp_b_155382.bin.chunk
[+] Extracting keymaster_b_163574.bin to E.keymaster_b_163574.bin.chunk
[+] Extracting akmu_b_163702.bin to E.akmu_b_163702.bin.chunk
[+] Extracting boot_b_163830.bin to E.boot_b_163830.bin.chunk
[+] Extracting cmnlib_b_180214.bin to E.cmnlib_b_180214.bin.chunk
[+] Extracting cmnlib64_b_180342.bin to E.cmnlib64_b_180342.bin.chunk
[+] Extracting devcfg_b_180470.bin to E.devcfg_b_180470.bin.chunk
[+] Extracting qupfw_b_180502.bin to E.qupfw_b_180502.bin.chunk
[+] Extracting laf_b_180534.bin to E.laf_b_180534.bin.chunk
[+] Extracting vbmeta_b_192822.bin to E.vbmeta_b_192822.bin.chunk
[+] Extracting dtbo_b_192838.bin to E.dtbo_b_192838.bin.chunk
[+] Extracting storsec_b_194886.bin to E.storsec_b_194886.bin.chunk
[+] Extracting raw_resources_b_194918.bin to E.raw_resources_b_194918.bin.chunk
[+] Extracting sid_b_196966.bin to E.sid_b_196966.bin.chunk
[+] Extracting sec_197094.bin to E.sec_197094.bin.chunk
[+] Extracting apdp_197478.bin to E.apdp_197478.bin.chunk
[+] Extracting msadp_197606.bin to E.msadp_197606.bin.chunk
[+] Extracting logfs_200039.bin to E.logfs_200039.bin.chunk
[+] Extracting BackupGPT_221179.bin to E.BackupGPT_221179.bin.chunk
[+] Extracting PrimaryGPT_0.bin to F.PrimaryGPT_0.bin.chunk
[+] Extracting BackupGPT_2043.bin to F.BackupGPT_2043.bin.chunk
[+] Extracting PrimaryGPT_0.bin to G.PrimaryGPT_0.bin.chunk
[+] Extracting BackupGPT_2043.bin to G.BackupGPT_2043.bin.chunk
---------- Post added at 05:54 PM ---------- Previous post was at 05:50 PM ----------
Next step.......if I wanted to explore the system_a/b.img how would I do it? especially when its in a thousand pieces?
Update: So i figured out that I could use commands Cat "file name" > combined file. So it looks like
[email protected]:~/Desktop/kdztools-master/kdzextracted/dzextracted$ cat system_a* > system_a.bin
[email protected]:~/Desktop/kdztools-master/kdzextracted/dzextracted$ cat system_b* > system_b.bin
system_a.bin was 2gb and system_b.bin was 578.6mb
Will report back when im able to explore through the files

Ummm. Use -s to extract the slices instead of -x. You get regular images that you don't have to combine. Considering system and vendor are sparse, you can't just concatenate them.
-- Brian

After actually using the right undz file (undz2.py) everything worked perfectly! No chunk files!

How do you solve these problems?
Code:
D:\kdztools>unkdz.py -f G710N11d_00_KT_KR_OP_1115.kdz -x
[!] Warning: Data between headers and payload! (offsets 826 to 83768)
[+] Extracting all partitions from v2 file!
[+] Extracting G710N11d_00.dz to kdzextracted\G710N11d_00.dz
[+] Extracting LGUP_c.dll to kdzextracted\LGUP_c.dll
[+] Extracting LGUP_c.dylib to kdzextracted\LGUP_c.dylib
[+] Extracting extra data to kdzextracted\kdz_extras.bin
D:\kdztools>cd kdzextracted
D:\kdztools\kdzextracted>D:\kdztools\undz2.py -f G710N11d_00.dz -s
Traceback (most recent call last):
File "D:\kdztools\undz2.py", line 1036, in <module>
dztools.main()
File "D:\kdztools\undz2.py", line 1002, in main
self.dz_file = UNDZFile(cmd.dzfile)
File "D:\kdztools\undz2.py", line 874, in __init__
self.loadChunks()
File "D:\kdztools\undz2.py", line 560, in loadChunks
chunk = UNDZChunk(self, self.dzfile)
File "D:\kdztools\undz2.py", line 321, in __init__
targetAddr = int(self.chunkName[len(self.sliceName)+1:-4])
ValueError: invalid literal for int() with base 10: 'other_KT_KR_101580'
D:\kdztools\kdzextracted>

TjoyD said:
How do you solve these problems?
Click to expand...
Click to collapse
you simply forgot to add an ID, the '-s' option is for extracting a single id / image only. try '-x' for extracting every image inside the dz or add an ID, you can list all images inside dz file and get all the ids of them with '-l' option.

TjoyD said:
How do you solve these problems?
Code:
D:\kdztools>unkdz.py -f G710N11d_00_KT_KR_OP_1115.kdz -x
[!] Warning: Data between headers and payload! (offsets 826 to 83768)
[+] Extracting all partitions from v2 file!
[+] Extracting G710N11d_00.dz to kdzextracted\G710N11d_00.dz
[+] Extracting LGUP_c.dll to kdzextracted\LGUP_c.dll
[+] Extracting LGUP_c.dylib to kdzextracted\LGUP_c.dylib
[+] Extracting extra data to kdzextracted\kdz_extras.bin
D:\kdztools>cd kdzextracted
D:\kdztools\kdzextracted>D:\kdztools\undz2.py -f G710N11d_00.dz -s
Traceback (most recent call last):
File "D:\kdztools\undz2.py", line 1036, in <module>
dztools.main()
File "D:\kdztools\undz2.py", line 1002, in main
self.dz_file = UNDZFile(cmd.dzfile)
File "D:\kdztools\undz2.py", line 874, in __init__
self.loadChunks()
File "D:\kdztools\undz2.py", line 560, in loadChunks
chunk = UNDZChunk(self, self.dzfile)
File "D:\kdztools\undz2.py", line 321, in __init__
targetAddr = int(self.chunkName[len(self.sliceName)+1:-4])
ValueError: invalid literal for int() with base 10: 'other_KT_KR_101580'
D:\kdztools\kdzextracted>
Click to expand...
Click to collapse
When I defined the new fields in the header, I used a G710EM KDZ. Apparently there is still an additional field that is in use on some KDZs. I am downloading the one you are trying to extract, and I will push the updated field definitions in ASAP.
seadersn said:
you simply forgot to add an ID, the '-s' option is for extracting a single id / image only. try '-x' for extracting every image inside the dz or add an ID, you can list all images inside dz file and get all the ids of them with '-l' option.
Click to expand...
Click to collapse
Actually -s without a slice(partition) value, will extract all slices. -c and -x work the same way, you can either provide a value returned from -l or if no values, it will extract all.
As stated above -- I missed a field definition. It worked on the KDZs that I tested because that field wasn't in use.
This is a quick and easy fix.
EDIT: also, I am going to update the help to better explain this, but here are the options:
-s extracts slices AKA partitions as flashable images. This is the option almost everyone is going to want.
-x extracts chunks without decompressing them, and leaves the chunk header. This is only useful if you want compressed data, or are using something like lglaf and NEED compressed data
-c extracts chunks and decompresses them. This is only useful if you really want to recombine them yourself.
-- Brian

@TjoyD I spent as much time as I had today trying to come up with a proper solution, but ran out of time.
For now, I have pushed a cheesy hack that will let you extract. Actually, as long as you are only using -s to extract whole partitions, this is fine. It would only be an issue if you wanted the uncompressed chunks since there is no consistency check for now to make sure that what was extracted was actually the chunk. However, if you extract a whole slice, it will either decompress, or it will fail if for some reason you come across yet another KDZ that has even more changes.
TL;DR: No one should trust anything except -s (slice extraction) on this version. I extracted the entire G710N11d_00_KT_KR_OP_1115 KDZ without issues, and I tested on the other KDZs that I had to see if there was a regression.
-- Brian

@runningnak3d I just realized this morning that when I decompiled the firmware (G710tm10n) there wasn't recovery.img that was extracted or am I missing something? Is it possible they didnt bother to included the recovery in the file? Thanks.

Dvalin21 said:
@runningnak3d I just realized this morning that when I decompiled the firmware (G710tm10n) there wasn't recovery.img that was extracted or am I missing something? Is it possible they didnt bother to included the recovery in the file? Thanks.
Click to expand...
Click to collapse
recovery and laf are now combined -- at least from what I have been able to tell from decompiling abl.
-- see below
The key combos that you use to get to download mode or recovery are processed by abl. In old school aboot, or even the V30 abl, if you hold vol up and plug in the USB cable, aboot (or V30 abl) hands off the boot process to laf so that you enter download mode. If you hold vol down + power / release power / hold power, the boot process is handed off to recovery.
In the G7 (again as near as I can tell since I don't own the device), those same key combos work, but a parameter is passed to laf to determine if download mode or recovery should be run.
Please keep in mind again that I don't own the device, and I only just figured out how to decompress abl so I could decompile it.
EDIT: actually this looks even more interesting. It appears that abl can also handle recovery, but if you extract laf, you will see that there is a stage2.img. That is starting to look like what we would consider "normal" recovery.
From abl:
Code:
factory_reset_no_1st_image
factory_reset_yes_1st_image
factory_reset_no_2nd_image
factory_reset_yes_2nd_image
and
Code:
recovery%c%a
[KSwitch] factory reset disabled, Do not go to handle_factory_reset_mode()
factory_reset_image
factory_reset_1st_line_image
factory_reset_2nd_line_image
recovery %c %a appears to be the command that is passed with a single argument.
I haven't downloaded the TWRP version that is available for the unlocked G7 (doing that now). That will give more insight from the dev that created it as to where it is flashed, and how it is booted.
Lastly, if any V30 folks would like me to take this to the G7 forums, please say so and I will ask to have the thread moved. I post here out of habit
-- Brian

Well, those little a-holes. LG stuck recovery in boot. It isn't an option that is passed to laf (although there ARE options that can be passed to laf), it is an option that is passed to boot.
recovery is not in laf.img, it is in the boot.img. If you extract it, and go into sbin:
Code:
[swango:~/dev … tracted/boot/initrd_dir/sbin] master* ± ls -al
total 4992
drwxr-x--- 2 swango swango 4096 Dec 18 11:08 .
drwxr-xr-x 31 swango swango 4096 Dec 18 11:08 ..
-rwxr-x--- 1 swango swango 1962720 Dec 18 11:08 adbd
-rwxr-x--- 1 swango swango 21964 Dec 18 11:08 bnrd
-rwxr-x--- 1 swango swango 998312 Dec 18 11:08 charger
-rwxr-x--- 1 swango swango 30176 Dec 18 11:08 rctd
-rwxr-x--- 1 swango swango 2078352 Dec 18 11:08 [B][U]recovery[/U][/B]
lrwxrwxrwx 1 swango swango 7 Dec 18 11:08 ueventd -> ../init
lrwxrwxrwx 1 swango swango 7 Dec 18 11:08 watchdogd -> ../init
Interesting. I still think (if you have an unlocked bootloader) it will be possible to inject TWRP into laf so that you have download mode OR TWRP.
There are some very interesting things in laf now. This stage2.img looks promising, also, they STILL have toybox which means that dd should be usable.
-- Brian

runningnak3d said:
Well, those little a-holes. LG stuck recovery in boot. It isn't an option that is passed to laf (although there ARE options that can be passed to laf), it is an option that is passed to boot.
recovery is not in laf.img, it is in the boot.img. If you extract it, and go into sbin:
Code:
[swango:~/dev … tracted/boot/initrd_dir/sbin] master* ± ls -al
total 4992
drwxr-x--- 2 swango swango 4096 Dec 18 11:08 .
drwxr-xr-x 31 swango swango 4096 Dec 18 11:08 ..
-rwxr-x--- 1 swango swango 1962720 Dec 18 11:08 adbd
-rwxr-x--- 1 swango swango 21964 Dec 18 11:08 bnrd
-rwxr-x--- 1 swango swango 998312 Dec 18 11:08 charger
-rwxr-x--- 1 swango swango 30176 Dec 18 11:08 rctd
-rwxr-x--- 1 swango swango 2078352 Dec 18 11:08 [B][U]recovery[/U][/B]
lrwxrwxrwx 1 swango swango 7 Dec 18 11:08 ueventd -> ../init
lrwxrwxrwx 1 swango swango 7 Dec 18 11:08 watchdogd -> ../init
Interesting. I still think (if you have an unlocked bootloader) it will be possible to inject TWRP into laf so that you have download mode OR TWRP.
There are some very interesting things in laf now. This stage2.img looks promising, also, they STILL have toybox which means that dd should be usable.
-- Brian
Click to expand...
Click to collapse
You rock as always. I decompile boot, but it didnt dawn on me when I saw the recovery folder that IT was recovery.

First post updated with a unified KDZ extractor that works on G4 to V40 KDZs.
-- Brian

Thanks!! It works great and has been able to completely extract the G710N11d KDZ. So now, I can start the G7 camera port for V30.
---------- Post added at 01:53 AM ---------- Previous post was at 01:01 AM ----------
I have one more question.
You said that you removed the mkdz item due to RSA problem, is the DZ file also encrypted?
The reason I am asking this question is that the DZ file, just like the KDZ, can be selected in the PartitionDL menu of LGUP.

TjoyD said:
Thanks!! It works great and has been able to completely extract the G710N11d KDZ. So now, I can start the G7 camera port for V30.
---------- Post added at 01:53 AM ---------- Previous post was at 01:01 AM ----------
I have one more question.
You said that you removed the mkdz item due to RSA problem, is the DZ file also encrypted?
The reason I am asking this question is that the DZ file, just like the KDZ, can be selected in the PartitionDL menu of LGUP.
Click to expand...
Click to collapse
It isn't encrypted, it has an RSA signature. It doesn't matter if you flash just the DZ file, all versions of laf (download mode) since late versions of MM, and ALL versions of N, O, and P expect the SIGN payload to be sent.
Back in the KK and LP days, you could flash a TOT file that had no RSA signature -- you just had to know how to make one.
The SIGN payload is simply sha1 hashes of every partition, but it is RSA signed, if you modify any of the partition and try to package the KDZ back up, the hash will fail, and laf refuses to flash (even worse, it usually will wipe the partition first -- so you are really screwed). If you try to modify the SIGN payload to change the hash to match your modified partition, again, it will fail since now the RSA signature doesn't match.
If you search the V20 forums for "laf root" my development thread is there where I documented all of my research. You might have to sift through 100+ pages though
Bottom line, the only way to flash modified partitions with new versions of laf (that have removed the COPY opcode) is to find an exploit that gives you root and use dd (look at my H932 root thread here for an example).
-- Brian

Related

CDMA:[ ROM ] [ KITCHEN ] JUICY 8 - Build 090618V (21815.5.0.50) [UC]

Code:
Juicy 8: Build 090618
[ ] New Kitchen based on PlatformRebuilder by Bepe
[ ] Proper module allocation and better hive compile
[ ] Spinlocked Drivers *thanks no2chem*
[ ] Custom XIP for RAPH800 based on USC ROM
[ ] Custom XIP for DIAM500 based on 2.0 Sprint ROM
[ ] CE OS 5.2.21815 (Build 21815.5.0.50)
[+] AutoShortcut (1.1.2.0)
[+] BootLauncher (1.0.1914.3232.1)
[+] GoogleMaps (3.0.1.6)
[+] HTCScroll (2.0.19151727.1)
[+] mHub (6.57.090121.E1) *includes EVRC codec support*
[+] NewContactCard (1.0.1913.1529)
[+] nueGXDMA *thanks no2chem*
[+] OperaBrowser (9.50.16702.0)
[+] PhoneCanvas (5.18.0.0) *thanks Knoop*
[+] PhoneCanvasEnhancement (4.10.34656.1) *thanks Knoop*
[+] ROMUpdateUtility (3.27.4.0)
[+] RandomAccess (4.1.1822.2125.0)
[+] SlotManager (1.0.40519.0) *thanks Knoop*
[+] SmartTouch (1.0.1914.1827.0)
[+] TaskManager (2.1.1914.3930.10)
[+] Encryption Support
[+] NetCF 2.0
[+] SqlCeMobile 3.0
[-] PhoneCanvas (3.40.33716.0)
[-] 3G icon *broken in new kitchen*
[-] SqlCeMobile 3.5
[#] True 16mb Pagepool *thanks DCD*
[#] Removed Pagepool changed *doesn't work*
[#] NetCF 3.5
[#] Updated Juicy Black Theme *thanks Lil Rico*
[#] Custom anti-aliased Ev icon *thanks DCD*
[#] Proper Device ID for TouchPro
[#] Recompiled all packages to new format
[#] Fixed Facebook Synching
[#] Fixed WorldClock
[#] Windows Classic LockScreen *faster response/less buggy*
[#] New OEM/EXT Structure
[#] Fixed Default Clock Settings
[#] Smaller default font size in messaging *matches Rhodium*
CLICK HERE TO DOWNLOAD JUICY 8

Question about compiling from source...

Ok, finally got the build environment finished, got a successful 'generic' Gingerbread build done.
Now what the hell do I do with the files? I've got a ramdisk.img / system.img / userdata.img in my 'OUT' directory.
I'm figuring I just flash them to the phone and see what happens...
Doward said:
Ok, finally got the build environment finished, got a successful 'generic' Gingerbread build done.
Now what the hell do I do with the files? I've got a ramdisk.img / system.img / userdata.img in my 'OUT' directory.
I'm figuring I just flash them to the phone and see what happens...
Click to expand...
Click to collapse
after make did you try a make -j{whatever} otapackage?
Doing so now... what's this going to do? Set it up as a flashable zip file?
*EDIT*
make-3.81: *** No rule to make target `otapackage'. Stop.
Yeah, I had to recompile make 3.81 from scratch, then stuck it in my /bin as make-3.81
Anyone mind helping a fellow noob out on some steps on how to build a gingerbread rom?
digitalrurouni said:
Anyone mind helping a fellow noob out on some steps on how to build a gingerbread rom?
Click to expand...
Click to collapse
I'm trying to work out how to at least attempt to load the image in the Emulator, before testing it on my phone...
Well, copying system.img into my android 2.2 and 2.3 AVD directories yields - boots 2.3 no problem, 2.2 does not boot.
My first reaction is that the 2.2 kernel's not compatible with the 2.3 system.img, but isn't the kernel included in system.img?
Doward said:
Well, copying system.img into my android 2.2 and 2.3 AVD directories yields - boots 2.3 no problem, 2.2 does not boot.
My first reaction is that the 2.2 kernel's not compatible with the 2.3 system.img, but isn't the kernel included in system.img?
Click to expand...
Click to collapse
The kernel is packed in to the boot.img
xHausx said:
The kernel is packed in to the boot.img
Click to expand...
Click to collapse
When you compile Android from source, where is boot.img located?
Under out/target/product/generic, I have ramdisk.img, system.img, and userdata.img - no boot.img.
Doward said:
When you compile Android from source, where is boot.img located?
Under out/target/product/generic, I have ramdisk.img, system.img, and userdata.img - no boot.img.
Click to expand...
Click to collapse
The boot.img is made from the kernel and ramdisk. See below
HOWTO: Unpack, Edit and Repack Boot Images
error while loading new compiled Linux kernel image into the android emulator
I have successfully compiled Linux kernel for android:
[email protected]:~/common# ARCH=arm CROSS_COMPILE=~/mydroid/prebuilt/linux-x86/toolchain/arm-eabi-4.4.0/bin/arm-eabi- make
CHK include/linux/version.h
make[1]: `include/asm-arm/mach-types.h' is up to date.
CHK include/linux/utsrelease.h
.
.
.
SYMLINK include/asm -> include/asm-arm
CALL scripts/checksyscalls.sh
<stdin>:1097:2: warning: #warning syscall fadvise64 not implemented
<stdin>:1265:2: warning: #warning syscall migrate_pages not implemented
<stdin>:1321:2: warning: #warning syscall pselect6 not implemented
<stdin>:1325:2: warning: #warning syscall ppoll not implemented
<stdin>:1365:2: warning: #warning syscall epoll_pwait not implemented
CHK include/linux/compile.h
Kernel: arch/arm/boot/Image is ready
Kernel: arch/arm/boot/zImage is ready
Building modules, stage 2.
MODPOST 157 modules
[email protected]:~/common#
but i get the following error while loading this images in the emulator:
[email protected]:~/android-sdk-linux_x86/tools# ./emulator -avd avd1.5 -kernel ~/common/arch/arm/boot/zImage -show-kernel -verbose
emulator: found SDK root at /home/preetam/android-sdk-linux_x86
emulator: root virtual device file at /home/preetam/.android/avd/avd1.5.ini
.
.
.
yaffs_read_super: isCheckpointed 0
sh: can't access tty; job control turned off
# init: cannot find '/system/bin/playmp3', disabling 'bootsound'
init: cannot find '/system/bin/dbus-daemon', disabling 'dbus'
eth0: link up
init: untracked pid 578 exited
init: untracked pid 579 exited
warning: `rild' uses 32-bit capabilities (legacy support in use)
init: untracked pid 601 exited
init: untracked pid 592 exited
init: untracked pid 605 exited
init: untracked pid 602 exited
init: untracked pid 609 exited
init: untracked pid 606 exited
init: critical process 'servicemanager' exited 4 times in 4 minutes; rebooting into recovery mode
save exit: isCheckpointed 1
save exit: isCheckpointed 1
Restarting system with command 'recovery'.
Reboot failed -- System halted
and the emulator didn't start with the new kernel image(emulator didn't reboot). what is the problem here..?? and how can i replace my emulator's image with newly compiled Linux permanently??
please help. thank you!
Was this ever resolved because I'm having the same issue. .

[DEV] Steam development

Steam development
Although I'm been in a long hiatus, thanks to hardcore there are still a few out there who use an UTLK based kernel. I hope Steam will be as succesfull as ULTK was.
To achieve this there were some developments in ULTK (now named Steam).
1. Steam is now one big file, containing multiple applications. This is mainly to minimize the amount of libc's on an initramfs (and this feat is actually achieved)
2. As steam is now one file there are no more bash scripts. Pre and post-init is now written in C, which has the added benefit of being able to use C libraries, like the (now multitouch capable) ui library of the recovery. Checking logs on what went wrong was never been easier.
3. init.rc and recovery.rc are now modified on-the-fly, possibly making the work to get Steam work on stock kernels easier
4. Steam uses config variables (just like properties on android) to communicate. There are already more uses of config variables inside the code than the gui actually allows one to use.
5. Localization strings are separated into separate files, to make translation easier (no accent support in the font however)
6. Device specific stuff are moved into separate files too.
7. There is now also an oem.c where one could add additional code that gets run, when steam is installed, upgraded or uninstalled. Currently the default config is to load up Afterburner after installation.
8. Afterburner is a simple application inside the recovery, which shows a list of installable elements, where the user can chose which ones to install. This is like
giving them a lot of update.zip's, only in one easy to use place.
9. All source files are now put inside into an organization on github. If you want to help me develop this project, please drop me a message, and I'll add you to the developer list.
10. (anything else I might have forgotten)
If you have any questions considering the development of Steam, plase drop a line. Thanks!
Compiler script, for Steam 2.9.9.0: Compiler Script
Compiler script for Steam 2.9.9.1 (and upward): Compiler Script
with this you can write:
Code:
TARGET_DEVICE=ns-on-sgs-i9000 ./install.sh
to compile for the gingerbread port instead of the default sgs one.
shouldn't line 74 be
Code:
cd ../ns-on-sgs-i9000
in the compiler for 2.9.9.1
thanks, is there any device-dependant or hardcoded code that we should modify to implement on different devices?
luismanson said:
thanks, is there any device-dependant or hardcoded code that we should modify to implement on different devices?
Click to expand...
Click to collapse
First you should set the correct vendor in Android/vendor directory. It's not really needed for Steam to work. but if you're doing some other Android compiling it's useful. The compiler script will run for the "galaxys" vendor, you have to change it too, if you have changed the vendor.
Apart from this a lot of device specific code is inside Android/bootable/steam/recovery/device/*
Check the current two device there. I don't yet have a script that will automate device building, so you have to modify the Android.mk there to actually use the new device.
mascool said:
shouldn't line 74 be
Code:
cd ../ns-on-sgs-i9000
in the compiler for 2.9.9.1
Click to expand...
Click to collapse
Oh, yeah, fixed.
any ideas here?
Code:
build/core/base_rules.mk:455: warning: overriding commands for target `out/target/product/galaxys/utilities/dump_image'
build/core/base_rules.mk:455: warning: ignoring old commands for target `out/target/product/galaxys/utilities/dump_image'
build/core/dynamic_binary.mk:113: warning: overriding commands for target `out/target/product/galaxys/symbols/utilities/dump_image'
build/core/dynamic_binary.mk:113: warning: ignoring old commands for target `out/target/product/galaxys/symbols/utilities/dump_image'
build/core/base_rules.mk:455: warning: overriding commands for target `out/target/product/galaxys/utilities/flash_image'
build/core/base_rules.mk:455: warning: ignoring old commands for target `out/target/product/galaxys/utilities/flash_image'
build/core/dynamic_binary.mk:113: warning: overriding commands for target `out/target/product/galaxys/symbols/utilities/flash_image'
build/core/dynamic_binary.mk:113: warning: ignoring old commands for target `out/target/product/galaxys/symbols/utilities/flash_image'
build/core/base_rules.mk:455: warning: overriding commands for target `out/target/product/galaxys/utilities/erase_image'
build/core/base_rules.mk:455: warning: ignoring old commands for target `out/target/product/galaxys/utilities/erase_image'
build/core/dynamic_binary.mk:113: warning: overriding commands for target `out/target/product/galaxys/symbols/utilities/erase_image'
build/core/dynamic_binary.mk:113: warning: ignoring old commands for target `out/target/product/galaxys/symbols/utilities/erase_image'
No private recovery resources for TARGET_DEVICE galaxys
target thumb C: libsteam_crypto <= bootable/steam/cryptsetup/crypto/../../../../external/openssl/crypto/des/cbc_cksm.c
In file included from bootable/steam/cryptsetup/crypto/../../../../external/openssl/crypto/des/des_locl.h:83,
from bootable/steam/cryptsetup/crypto/../../../../external/openssl/crypto/des/cbc_cksm.c:59:
external/openssl/include/openssl/des.h:66:2: error: #error DES is disabled.
In file included from external/openssl/include/openssl/des.h:101,
from bootable/steam/cryptsetup/crypto/../../../../external/openssl/crypto/des/des_locl.h:83,
from bootable/steam/cryptsetup/crypto/../../../../external/openssl/crypto/des/cbc_cksm.c:59:
external/openssl/include/openssl/des_old.h:97:2: error: #error DES is disabled.
make: *** [out/target/product/galaxys/obj/STATIC_LIBRARIES/libsteam_crypto_intermediates/../../../../external/openssl/crypto/des/cbc_cksm.o] Error 1
cp out/target/product/galaxys/system/bin/steam /home/kernel/share/steam
cp out/target/product/galaxys/system/bin/steam /home/kernel/initramfs/out/sbin/steam
End of script
luismanson said:
any ideas here?
Code:
build/core/base_rules.mk:455: warning: overriding commands for target `out/target/product/galaxys/utilities/dump_image'
build/core/base_rules.mk:455: warning: ignoring old commands for target `out/target/product/galaxys/utilities/dump_image'
build/core/dynamic_binary.mk:113: warning: overriding commands for target `out/target/product/galaxys/symbols/utilities/dump_image'
build/core/dynamic_binary.mk:113: warning: ignoring old commands for target `out/target/product/galaxys/symbols/utilities/dump_image'
build/core/base_rules.mk:455: warning: overriding commands for target `out/target/product/galaxys/utilities/flash_image'
build/core/base_rules.mk:455: warning: ignoring old commands for target `out/target/product/galaxys/utilities/flash_image'
build/core/dynamic_binary.mk:113: warning: overriding commands for target `out/target/product/galaxys/symbols/utilities/flash_image'
build/core/dynamic_binary.mk:113: warning: ignoring old commands for target `out/target/product/galaxys/symbols/utilities/flash_image'
build/core/base_rules.mk:455: warning: overriding commands for target `out/target/product/galaxys/utilities/erase_image'
build/core/base_rules.mk:455: warning: ignoring old commands for target `out/target/product/galaxys/utilities/erase_image'
build/core/dynamic_binary.mk:113: warning: overriding commands for target `out/target/product/galaxys/symbols/utilities/erase_image'
build/core/dynamic_binary.mk:113: warning: ignoring old commands for target `out/target/product/galaxys/symbols/utilities/erase_image'
No private recovery resources for TARGET_DEVICE galaxys
target thumb C: libsteam_crypto <= bootable/steam/cryptsetup/crypto/../../../../external/openssl/crypto/des/cbc_cksm.c
In file included from bootable/steam/cryptsetup/crypto/../../../../external/openssl/crypto/des/des_locl.h:83,
from bootable/steam/cryptsetup/crypto/../../../../external/openssl/crypto/des/cbc_cksm.c:59:
external/openssl/include/openssl/des.h:66:2: error: #error DES is disabled.
In file included from external/openssl/include/openssl/des.h:101,
from bootable/steam/cryptsetup/crypto/../../../../external/openssl/crypto/des/des_locl.h:83,
from bootable/steam/cryptsetup/crypto/../../../../external/openssl/crypto/des/cbc_cksm.c:59:
external/openssl/include/openssl/des_old.h:97:2: error: #error DES is disabled.
make: *** [out/target/product/galaxys/obj/STATIC_LIBRARIES/libsteam_crypto_intermediates/../../../../external/openssl/crypto/des/cbc_cksm.o] Error 1
cp out/target/product/galaxys/system/bin/steam /home/kernel/share/steam
cp out/target/product/galaxys/system/bin/steam /home/kernel/initramfs/out/sbin/steam
End of script
Click to expand...
Click to collapse
try compiling using the compiler script, that uses the choosecombo and make command. I use the Android base 2.2.1 for compilation. Somehow DES get's disabled in a config file, I don't which one that might be (hopefully it's not one of mine... )
i was doing it manually and now with your script, also got the sources again. yet i have the same problem
Code:
target thumb C: libsteam_crypto <= bootable/steam/cryptsetup/crypto/../../../../external/openssl/crypto/des/cbc_cksm.c
target thumb C: libsteam_crypto <= bootable/steam/cryptsetup/crypto/../../../../external/openssl/crypto/des/cbc_enc.c
target thumb C: libsteam_crypto <= bootable/steam/cryptsetup/crypto/../../../../external/openssl/crypto/des/cfb64enc.c
In file included from bootable/steam/cryptsetup/crypto/../../../../external/openssl/crypto/des/des_locl.h:83,
from bootable/steam/cryptsetup/crypto/../../../../external/openssl/crypto/des/cbc_cksm.c:59:
external/openssl/include/openssl/des.h:66:2: error: #error DES is disabled.
In file included from external/openssl/include/openssl/des.h:101,
from bootable/steam/cryptsetup/crypto/../../../../external/openssl/crypto/des/des_locl.h:83,
from bootable/steam/cryptsetup/crypto/../../../../external/openssl/crypto/des/cbc_cksm.c:59:
external/openssl/include/openssl/des_old.h:97:2: error: #error DES is disabled.
make: *** [out/target/product/generic/obj/STATIC_LIBRARIES/libsteam_crypto_intermediates/../../../../external/openssl/crypto/des/cbc_cksm.o] Error 1
make: *** Waiting for unfinished jobs....
In file included from bootable/steam/cryptsetup/crypto/../../../../external/openssl/crypto/des/des_locl.h:83,
from bootable/steam/cryptsetup/crypto/../../../../external/openssl/crypto/des/cfb64enc.c:59:
external/openssl/include/openssl/des.h:66:2: error: #error DES is disabled.
In file included from external/openssl/include/openssl/des.h:101,
from bootable/steam/cryptsetup/crypto/../../../../external/openssl/crypto/des/des_locl.h:83,
from bootable/steam/cryptsetup/crypto/../../../../external/openssl/crypto/des/cfb64enc.c:59:
external/openssl/include/openssl/des_old.h:97:2: error: #error DES is disabled.
In file included from bootable/steam/cryptsetup/crypto/../../../../external/openssl/crypto/des/des_locl.h:83,
from bootable/steam/cryptsetup/crypto/../../../../external/openssl/crypto/des/ncbc_enc.c:64,
from bootable/steam/cryptsetup/crypto/../../../../external/openssl/crypto/des/cbc_enc.c:61:
external/openssl/include/openssl/des.h:66:2: error: #error DES is disabled.
In file included from external/openssl/include/openssl/des.h:101,
from bootable/steam/cryptsetup/crypto/../../../../external/openssl/crypto/des/des_locl.h:83,
from bootable/steam/cryptsetup/crypto/../../../../external/openssl/crypto/des/ncbc_enc.c:64,
from bootable/steam/cryptsetup/crypto/../../../../external/openssl/crypto/des/cbc_enc.c:61:
external/openssl/include/openssl/des_old.h:97:2: error: #error DES is disabled.
make: *** [out/target/product/generic/obj/STATIC_LIBRARIES/libsteam_crypto_intermediates/../../../../external/openssl/crypto/des/cbc_enc.o] Error 1
make: *** [out/target/product/generic/obj/STATIC_LIBRARIES/libsteam_crypto_intermediates/../../../../external/openssl/crypto/des/cfb64enc.o] Error 1
[email protected]:~/android/i9000B/froyo/Android$
I have the same problem with android source code 2.2.1
when I change openssl to 2.3, i get the below error.
Code:
target thumb C: libsteam_crypto <= bootable/steam/cryptsetup/crypto/../../../../external/openssl/crypto/cversion.c
target thumb C: libsteam_crypto <= bootable/steam/cryptsetup/crypto/../../../../external/openssl/crypto/dyn_lck.c
bootable/steam/cryptsetup/crypto/../../../../external/openssl/crypto/dyn_lck.c:171:4: error: #error "Inconsistency between crypto.h and cryptlib.c"
bootable/steam/cryptsetup/crypto/../../../../external/openssl/crypto/dyn_lck.c:184: error: expected '=', ',', ';', 'asm' or '__attribute__' before '*' token
bootable/steam/cryptsetup/crypto/../../../../external/openssl/crypto/dyn_lck.c: In function 'CRYPTO_get_new_lockid':
bootable/steam/cryptsetup/crypto/../../../../external/openssl/crypto/dyn_lck.c:212: error: 'app_locks' undeclared (first use in this function)
bootable/steam/cryptsetup/crypto/../../../../external/openssl/crypto/dyn_lck.c:212: error: (Each undeclared identifier is reported only once
bootable/steam/cryptsetup/crypto/../../../../external/openssl/crypto/dyn_lck.c:212: error: for each function it appears in.)
bootable/steam/cryptsetup/crypto/../../../../external/openssl/crypto/dyn_lck.c: In function 'CRYPTO_set_dynlock_lock_callback':
bootable/steam/cryptsetup/crypto/../../../../external/openssl/crypto/dyn_lck.c:404: warning: implicit declaration of function 'int_CRYPTO_set_do_dynlock_callback'
bootable/steam/cryptsetup/crypto/../../../../external/openssl/crypto/dyn_lck.c: In function 'CRYPTO_get_lock_name':
bootable/steam/cryptsetup/crypto/../../../../external/openssl/crypto/dyn_lck.c:423: error: 'app_locks' undeclared (first use in this function)
make: *** [out/target/product/galaxys/obj/STATIC_LIBRARIES/libsteam_crypto_intermediates/../../../../external/openssl/crypto/dyn_lck.o] Error 1
Hi,
I have found the problem...
in bootable/steam/crypto/android-config.mk, many things has been disabled.
Code:
LOCAL_CFLAGS += -DOPENSSL_NO_MD5 -DOPENSSL_NO_MD4 -DOPENSSL_NO_DEPRECATED -DOPENSSL_NO_DSA -DOPENSSL_NO_ECDSA \
-DOPENSSL_NO_MDC2 -DOPENSSL_NO_RIPEMD -DOPENSSL_NO_SHA256 -DOPENSSL_NO_SHA512 \
-DOPENSSL_NO_DES -DOPENSSL_NO_RC4 -DOPENSSL_NO_IDEA -DOPENSSL_NO_SEED -DOPENSSL_NO_RC2 \
-DOPENSSL_NO_BF -DOPENSSL_NO_CAST -DOPENSSL_NO_RC5 -DOPENSSL_NO_CAMELLIA
Hi bro sztupy,
If I delete those error detection in the SSL source code, is there any problem? for example
Code:
#ifdef OPENSSL_NO_DES
#error DES is disabled.
#endif
sorry for my lousy english.
why dont you try removing -DOPENSSL_NO_DES
luismanson said:
why dont you try removing -DOPENSSL_NO_DES
Click to expand...
Click to collapse
After removing -DOPENSSL_NO_DES, still have many errors.
after remove one by one, i found that the below option can be compile without error
Code:
LOCAL_CFLAGS += -DOPENSSL_NO_DEPRECATED -DOPENSSL_NO_ECDSA -DOPENSSL_NO_MDC2 -DOPENSSL_NO_SHA256 -DOPENSSL_NO_SHA512 -DOPENSSL_NO_IDEA -DOPENSSL_NO_SEED -DOPENSSL_NO_BF -DOPENSSL_NO_CAST -DOPENSSL_NO_RC5 -DOPENSSL_NO_CAMELLIA
thanks, i will use this option unless the OP says something before im @ home
Hi,
I am trying to translate steam recovery to chinese, but after compile, all of the chinese character cannot show(become blank) in steam recovery.
is there any way to display Unicode or add the character encoding?
I am newbie in C programming...

Defy [MB525] - Enabling FM Transmitter

Hi all,
I have enabled the FM transmitter on Motorola DEFY using the sample FM test application from omap3 git. Please note its not an apk that you can install and its NOT for users (its only test code).
I have not yet successfully transmitted any audio but there seems to be some hope that it can be done. (provided all the required internal circuitry is present)
After a few modifications (and some ugly hacks) to the FM app, I was able to switch to TX mode, power on and set a frequency (tune) for FM transmission. Logs show promising results but I have to confirm if it is enabled for real. I have attached the log to this post.
Currently I am stuck with audio routing to FM transmitter. The FM test app seems to use ALSA to setup and get the routing done for some dev board. For Defy I am not sure how to get it working. I have to dig a bit more into audio API's and libraries. Any ideas? Sample apps/code or API's to get this done?
Just did this over the weekend and I am planning to mess around with it a bit more.
-- WiZarD [Winny Mathew]
the way things are going for motorola defy, it looks set to become the n900 of maemo or htc hd2, i.e. a legendary smartphone - and thanks a ton you all modders!
Seems like motorola has released a pandora's box without they knowing it themselves (speaks volumes about motorola's miscalculations about market positioning of the phone - even eldar murtazin was impressed by moto defy!)
Also, it is sometimes funny how on some other forums, users seem to know more than official moto folks - let's take the example of defy possessing a graphics chip - users knew it long before moto forum representatives could confirm it. And now if the above post is true, defy might soon have FM transmitting capabilities! What a great day!
One more hurdle of unlocking the bootloader and defy would become a legend..
Looking forward to more positive news about this! Unfortunly I can't contribute with anything though
Sent from my MOTO Defy
Sowhat you are saying is, defy has all the needed hardware for a FM transmitter?
now if its possible, man its huge!
So please keep uptodate with whats happening! love to hear them!
All XDA developers should look into it, together we can make this happen!
snath83 said:
One more hurdle of unlocking the bootloader and defy would become a legend..
Click to expand...
Click to collapse
That is not just one hurdle, that is THE hurdle. No unlocked bootloader no legend. This phone, however promising it seemed, just isn't becoming the new HD2. I am still not entirely sure if I rather should have bought the HD2 in the first place. But for the moment the waterproof case still makes the Defy the better one for me.
AgentSmith said:
That is not just one hurdle, that is THE hurdle. No unlocked bootloader no legend. This phone, however promising it seemed, just isn't becoming the new HD2. I am still not entirely sure if I rather should have bought the HD2 in the first place. But for the moment the waterproof case still makes the Defy the better one for me.
Click to expand...
Click to collapse
Have both.
HD2 is the better computer, Defy the better phone. (Smaller screen yet more batterylife and outdoor capabilities
nice but it was my understanding that the defy had the hardware but no way of transmitting due to the fact theirs no internal antenna.
what sort of range did you get?
The headphones are the antena. Here in Brazil, the stock rom comes with FM.
antony.ps said:
The headphones are the antena. Here in Brazil, the stock rom comes with FM.
Click to expand...
Click to collapse
All defy's have FM radio to receive but this tread is about being able to transmit via FM
I only see a log file in the zip you attached. Do you have some code or a link to the omap git code you mentioned?
Source OMAP3 GIT: hxxp://git.omapzoom.org/?p=platform/hardware/ti/omap3.git;a=tree;f=fmradio;hb=HEAD
Hi. I really dont get how to compile this. As far as I see, there are .cpp and .c files, so I think that they can be compiled with a simple gcc-armel. The thing is, I have to clone the entire GIT of omapzoom?
What I need to compile those? I have the SDK(working, aside the Java exception) and the NDK of android and nothing else.
Hi all,
I was a bit busy, out of focus and travelling. I did search DEFY's source code (kernel and framework) to find how data could be routed to the transmitter. I did not find anything interesting yet.
Steps pending:
1. Find how FM Radio Rx (stock FM Radio app) gets its data routed to external and 3.5 mm speakers.
2. Find out if there is code to send data via Tx path, if not, is it possible to add the same. (which may involve recompiling the driver/kernel)
There are many output devices listed in kernel source code for audio. (in kernel/sound/oss/omap34xx_audio_driver.c and kernel/sound/oss/cpcap_audio_driver.h). I am not sure if any of the output devices could be used for sending data to FM Tx.
@cocus:
a. You can use NDK and some modifications to the Makefile and source to get it compiled.
b. No you don't have to clone the entire git.
I can post a patch of changes I have done but currently it is ugly
Let's share your source and brain storm to find a solution
I made some tests this WE with a FMAPP found on the web but I can't get it stable.
Initial patch and dependencies for enabling Tx (Native test app only)
Hi all,
I have attached 'FM_TX.zip' which contains the source code patch, dependencies and a README.txt (attached outside as well). Using this you can build 'fmapp' for enabling and testing FM Tx on DEFY.
'README.txt' has more information on steps, setup and more TODOs
Let me try to figure out audio...
-- Winny Mathew
-- [WiZarD]
Hi, thanks for your great post.
I've cloned the omap3 hardware path, and now I have the fm radio dir. Now, how do I apply the patch?
I've tryied this, but I get a lot of errors:
[email protected]:~/devfm/omap3/fmradio$ patch -p1 < ./fmradio.patch
(Stripping trailing CRs from patch.)
patching file Makefile
(Stripping trailing CRs from patch.)
patching file fm_app/fm_app.c
Hunk #1 FAILED at 49.
Hunk #2 FAILED at 1718.
Hunk #3 FAILED at 3510.
Hunk #4 FAILED at 3529.
Hunk #5 FAILED at 3578.
Hunk #6 FAILED at 3621.
Hunk #7 FAILED at 3635.
Hunk #8 FAILED at 3644.
Hunk #9 FAILED at 3657.
Hunk #10 FAILED at 3773.
Hunk #11 FAILED at 3781.
Hunk #12 FAILED at 3795.
Hunk #13 FAILED at 3805.
Hunk #14 FAILED at 3817.
Hunk #15 FAILED at 3931.
15 out of 15 hunks FAILED -- saving rejects to file fm_app/fm_app.c.rej
(Stripping trailing CRs from patch.)
patching file fm_app/fm_trace.h
Hunk #1 FAILED at 184.
1 out of 1 hunk FAILED -- saving rejects to file fm_app/fm_trace.h.rej
(Stripping trailing CRs from patch.)
patching file fm_stack/FM_Trace/fm_trace.h
Hunk #1 FAILED at 184.
1 out of 1 hunk FAILED -- saving rejects to file fm_stack/FM_Trace/fm_trace.h.rej
(Stripping trailing CRs from patch.)
patching file fm_stack/HSW_FMStack/stack/tx/fm_tx_sm.c
Hunk #1 FAILED at 2290.
Hunk #2 FAILED at 2648.
2 out of 2 hunks FAILED -- saving rejects to file fm_stack/HSW_FMStack/stack/tx/fm_tx_sm.c.rej
(Stripping trailing CRs from patch.)
patching file fm_stack/MCP_Common/Platform/inc/mcp_hal_config.h
Hunk #1 FAILED at 76.
1 out of 1 hunk FAILED -- saving rejects to file fm_stack/MCP_Common/Platform/inc/mcp_hal_config.h.rej
Click to expand...
Click to collapse
(im a noob in this stuff).
Thanks!
Copy 'fmradio.patch' into 'fmradio' directory.
Then execute the following:
$ patch -p1 < fmradio.patch
Hint: Run 'dos2unix fmradio.patch' if required.
Hey, thanks for your answer. Yes, that is what I did. Take a look here, I've listed the fmradio directory and there is the fmradio.patch with the other files from the GIT.
[email protected]:~/devfm/omap3/fmradio$ ls
Android.mk fm_app fmradio.patch fm_stack LICENSE.TXT Makefile
[email protected]:~/devfm/omap3/fmradio$ patch -p1 < fmradio.patch
(Stripping trailing CRs from patch.)
patching file Makefile
(Stripping trailing CRs from patch.)
patching file fm_app/fm_app.c
Hunk #1 FAILED at 49.
Hunk #2 FAILED at 1718.
Hunk #3 FAILED at 3510.
Hunk #4 FAILED at 3529.
Hunk #5 FAILED at 3578.
Hunk #6 FAILED at 3621.
Hunk #7 FAILED at 3635.
Hunk #8 FAILED at 3644.
Hunk #9 FAILED at 3657.
Hunk #10 FAILED at 3773.
Hunk #11 FAILED at 3781.
Hunk #12 FAILED at 3795.
Hunk #13 FAILED at 3805.
Hunk #14 FAILED at 3817.
Hunk #15 FAILED at 3931.
15 out of 15 hunks FAILED -- saving rejects to file fm_app/fm_app.c.rej
(Stripping trailing CRs from patch.)
patching file fm_app/fm_trace.h
Hunk #1 FAILED at 184.
1 out of 1 hunk FAILED -- saving rejects to file fm_app/fm_trace.h.rej
(Stripping trailing CRs from patch.)
patching file fm_stack/FM_Trace/fm_trace.h
Hunk #1 FAILED at 184.
1 out of 1 hunk FAILED -- saving rejects to file fm_stack/FM_Trace/fm_trace.h.rej
(Stripping trailing CRs from patch.)
patching file fm_stack/HSW_FMStack/stack/tx/fm_tx_sm.c
Hunk #1 FAILED at 2290.
Hunk #2 FAILED at 2648.
2 out of 2 hunks FAILED -- saving rejects to file fm_stack/HSW_FMStack/stack/tx/fm_tx_sm.c.rej
(Stripping trailing CRs from patch.)
patching file fm_stack/MCP_Common/Platform/inc/mcp_hal_config.h
Hunk #1 FAILED at 76.
1 out of 1 hunk FAILED -- saving rejects to file fm_stack/MCP_Common/Platform/inc/mcp_hal_config.h.rej
Click to expand...
Click to collapse
I've tryied your pre-compiled binary, but Im getting a very strange error. Ive pushed the binary to /sdcard, then with the console Ive copyied it to /system/data and when I wanted to chmod it:
chmod +x fmapp
Bad mode
Click to expand...
Click to collapse
With chmod 0755 it didnt say anything, but when I try to run it:
./fmapp
-sh: ./fmapp: No such file or directory
Click to expand...
Click to collapse
And the file is there!!!!!
cocus said:
Hey, thanks for your answer. Yes, that is what I did. Take a look here, I've listed the fmradio directory and there is the fmradio.patch with the other files from the GIT.
I've tryied your pre-compiled binary, but Im getting a very strange error. Ive pushed the binary to /sdcard, then with the console Ive copyied it to /system/data and when I wanted to chmod it:
With chmod 0755 it didnt say anything, but when I try to run it:
And the file is there!!!!!
Click to expand...
Click to collapse
Try this:
[Host ] $ adb shell
[Device] $ su
[Device] # mkdir /data/tmp
[Device] # chmod 777 /data/tmp
[Device] # exit
[Device] $ exit
---- Up to here, needed only once ----
[Host ] $ adb push fmapp /data/tmp
Connect to phone over WiFi using 'putty' (install QuickSSHd or similar)
[Device] $ su
[Device] # cd /data/tmp
[Device] # chmod 777 fmapp
[Device] # ./fmapp

[11.10.23]HTC WP7 Rom IMAGE Tools

GUIDE
Post 1: nbhTool
Post 2: nbTools
Post 3: binTools
----------------------------------------------------------------
nbhTool 0.2 beta with SOURCE
AKA: Old nbh tools does not support new WP7 HTC device any more, so i made a new tool - nbhTool.
UPDATE 0.2 beta: 11.10.05
fixed some bugs
open source!!!!!
maybe someone can make a GUI one!
==================================================
UPDATE 0.1 beta: 11.09.22
added nbh split to nbhMerge so rename it to nbhTool
script now support '#' to make a note and Blank lines won't be error
added some functions
fix some bug
NOTE: it won't support script file of last version, just split a nbh file and you'll get a new scrpit.
Usage:
#Merge a nbh file use Script file:
nbhTool <Script>
e.g. nbhTool Mozart.txt
#Split a nbh file and create a Script file:
nbhTool -split <nbhFile> <Script>
e.g. nbhTool -split RUU.nbh Mozart.txt
NOW: i think it'll support all HTC WP7 Device, i test it with HTC HD7 & HTC Mozart Mango shipped Rom.
This tool is compiled by MinGW, so it can run without any runtime lib.Just test it and have fun, if any bugs just pm me.
nbTools - Split & Merge OS.NB Tools
nbSplit 0.2 beta - Split OS.NB File
if you used htcRIE to split a os.nb, i will tell you this tool is working in a different way.it just get BIN files only without addon bits from os.nb, so it only works with our tools to modify.
you can use this tool to get BIN Files from os.nb
USAGE:
nbSplit <OS.NB File>
Example:
nbSplit os.nb
Changelog:
0.1 beta first release version
0.2 beta fix a bug on split imgfs partition
Note:
this tool is only supported Roms of the 1st generation HTC WP7 Device and HTC HD2.
Tips:
just Drop the os.nb to nbSplit.exe can split os.nb directly.
nbSplit 0.2beta.zip
--------------------------------------------------
BINInsert 0.2 alpha - Insert BIN Files to OS.NB
Now it works, but not full functions, only support partitions below:
LOGO, BLDR, DPP, SLDR1, SLDR2, NK, IMGFS
Info:
For BINInsert 0.2 alpha
solved imgfs.bin file size must < 313.25M and i found a bug of nbSplit!
i will update BINInsert & nbSplit when i go back home tonight!
Still waiting someone who knows os.nb format well to help me solve my last 2 problem:
1.how to rebuild the last 2 blocks of IMGFS partition
2.how to rebuild the block right after LOG blocks in partition start
but tools can be used now, i just want my tool better
For HD2
maybe it'll work but not test now, some bits is different, so i'm not sure!
USAGE:
BINInsert -L <LOGO.BIN File> <OS.NB File> <New OS.NB File>
BINInsert -B <BLDR.BIN File> <OS.NB File> <New OS.NB File>
BINInsert -D <DPP.BIN File> <OS.NB File> <New OS.NB File>
BINInsert -S1 <SLDR1.BIN File> <OS.NB File> <New OS.NB File>
BINInsert -S2 <SLDR2.BIN File> <OS.NB File> <New OS.NB File>
BINInsert -N <NK.BIN File> <OS.NB File> <New OS.NB File>
BINInsert -I <IMGFS.BIN File> <OS.NB File> <New OS.NB File>
Example:
BINInsert -L LOGO.BIN OS.NB OS-new.NB
BINInsert -N NK.BIN OS.NB OS-new.NB
BINInsert -I IMGFS.bin OS.NB OS-new.NB
Changelog:
0.1 beta - first release version
0.2 beta - add DPP & IMGFS partition insert functions
BINInsert 0.2alpha.zip
WPBinaryTool 0.6.0
This place for my test version of windows phone binary tool:
I don't test the insert function, but it SHOULD work.
Use it on your own risk.
Feed back: [email protected]
Supported:
SLDR1
SLDR2
LOGO
Transfer these binary files to sth you can edit.
decompress logo will extract two bitmap image file.
decompress sldr will extract the binary file with witch you can use xidump to dump & pack.
Usage:
WPBinaryTool [-d(ecompress)|-c(ompress)|-i(nsert)] [-l(ogo)|-s(rpx)] <INPUT-FILENAME> (<INPUT-FILENAME-2>) <OUTPUT-FILENAME>
if you want to (de)compress logo/insert binary file to NB file, you should input two INPUT-FILENAME
Samples:
WPBinaryTool -d -l Logo.bin logo.bmp charge.bmp
WPBinaryTool -c -l logo.bmp charge.bmp Logo.bin
WPBinaryTool -d -s SLDR1.bin SLDR1.uncompr.bin
WPBinaryTool -c -s SLDR1.uncompr.bin SLDR1.bin
WPBinaryTool -i -l Logo.bin os.nb os.out.nb
Note:
Take your own risk to do all these things.
ChangeLog:
0.6.0 add insert function, add support of complex bitmap picture.
0.5.2 fix bmp header "84-03" issue, now will read in the right way;
0.5.1 initial release;
well done,thx for sharing
Nice work!~thanks a lot
Nice work!
Waiting for other device support.
Schubert OK
Hi!
You make my day,
So long I'm searching for way to rebuild my nbh files to create my own costum roms.
now I'm able to make costum roms too.
Flashed back a Schubert original 1.54 rom & installed HSPL
extract a 5.66.09.21a radio.nb from ansars costum radio rom
with hex editor i found out which CID's and languages ansar used
merg it back with your tool and try to flash it.
it works perfect.
thanks
Very glad this is working for you.
Now,we are trying to spend our spare time to do something funny~
Hope u can find more sweeties here next week~
UPDATE: 11.09.22
added nbh split to nbhMerge so rename it to nbhTool
script now support '#' to make a note and Blank lines won't be error
added some functions
fix some bug
NOTE: it won't support script file of last version, just split a nbh file and you'll get a new scrpit.
Usage:
#Merge a nbh file use Script file:
nbhTool <Script>
e.g. nbhTool Mozart.txt
#Split a nbh file and create a Script file:
nbhTool -split <nbhFile> <Script>
e.g. nbhTool -split RUU.nbh Mozart.txt
NOW: i think it'll support all HTC WP7 Device, i test it with HTC HD7 & HTC Mozart Mango shipped Rom.
Great work mate
works great for my hd7 kitchen
cheers
nice work!
---------- Post added at 06:17 PM ---------- Previous post was at 06:14 PM ----------
hoping a GUI
btxakita said:
This place for my test version of windows phone binary tool:
maybe you can't use this tool for now
because our new tool "nbsplit" and "nbmerge" is not ready yet
but if you know how these things work, you can try it yourself.
Supported:
SLDR1
SLDR2
LOGO
Transfer these binary files to sth you can edit.
decompress logo will extract two bitmap image file.
decompress sldr will extract the binary file with witch you can use xidump to dump & pack.
Usage:
WPBinaryTool [-d(ecompress)|-c(ompress)] [-l(ogo)|-s(rpx)] <inputfilename> <outputfilename>
if you want to (de)compress logo part, you should input two bmp filename
Samples:
WPBinaryTool -d -l Logo.bin logo.bmp charge.bmp
WPBinaryTool -c -l logo.bmp charge.bmp Logo.bin
WPBinaryTool -d -s SLDR1.bin SLDR1.uncompr.bin
WPBinaryTool -c -s SLDR1.uncompr.bin SLDR1.bin
Note:
Take your own risk to do all these things.
Click to expand...
Click to collapse
Hi,
I was able to decompress de logo and charge.bmp, edited both BMP with GIMP2.0 but when I start compress WPBinaryTool crashes.
If I do not make any changes to the bmp files WPBinaryTool works.
Anyone else tried this?
Thanks for the tool.
dotcompt said:
Hi,
I was able to decompress de logo and charge.bmp, edited both BMP with GIMP2.0 but when I start compress WPBinaryTool crashes.
If I do not make any changes to the bmp files WPBinaryTool works.
Anyone else tried this?
Thanks for the tool.
Click to expand...
Click to collapse
Simple way is: Edit logo.bmp file which was generated when you decompress. Eg: Open that logo.bmp by paint application, then edit it.
Great work! Thanks for that!
But I'm looking for a way to "implant" my newly made LOGO.bin (with my own Logo's in it) into os.nb...How can I achieve that?
Thanks!
dotcompt said:
Hi,
I was able to decompress de logo and charge.bmp, edited both BMP with GIMP2.0 but when I start compress WPBinaryTool crashes.
If I do not make any changes to the bmp files WPBinaryTool works.
Anyone else tried this?
Thanks for the tool.
Click to expand...
Click to collapse
you can send your bmp file to my email [email protected]
those crash is caused by the deference between Windows Bitmap Image format and your GIMP2.0.
It works with GIMP. But when you save it, you have to choose "Advanced Options" and then you have to choose "24 Bit", because Windows Phone 7 needs this setting. But I haven't found a way to implant the selfmade LOGO.bin into my os.nb...
-WP7User- said:
It works with GIMP. But when you save it, you have to choose "Advanced Options" and then you have to choose "24 Bit", because Windows Phone 7 needs this setting. But I haven't found a way to implant the selfmade LOGO.bin into my os.nb...
Click to expand...
Click to collapse
we are working on this - nbMerge.i got crazy on LOG Blocks of os.nb. if someone know os.nb format well, just pm me, i think exchange information can make our project moves faster!
btxakita said:
you can send your bmp file to my email [email protected]
those crash is caused by the deference between Windows Bitmap Image format and your GIMP2.0.
Click to expand...
Click to collapse
Thanks mate but I finally made it. The trick is using Paint and simple graphics otherwise WPBinaryTool will go out of memory
dotcompt said:
Thanks mate but I finally made it. The trick is using Paint and simple graphics otherwise WPBinaryTool will go out of memory
Click to expand...
Click to collapse
Yeah... just a simple graphic.
Update & Open Source, so maybe someone can make a GUI one!

Categories

Resources