If you're here you probably have a Korean variant and knows that we can't flash international (F) versions, we get stuck at ¨Patching System Image Unconditionnally¨
Quick Explanation for Korean users
The Korean variants have a smaller System Image Partition and thus we can't flash the normal AOSPs.
There're 2 ways to be able to flash it:
1 - The devs could build a lteskt build, but we're just few users so they would just spend their time...
2 - Resize the system image yourself and be able to flash it
I'm not a dev or an expert,but I can help you guys to resize it
YOU MUST READ THIS BEFORE PROCEED
This guide take into account that you have some basic knowledge on Linux (like install the required packges).
Manual
-Download the archive in attached files (All the files other than the scripts are from @xpirt tutorial)
-Extract it
Nougat :
-Extract system.transfer.list system.new.dat to the folder
-Open terminal and enter the commands
Code:
./sdat2img.py system.transfer.list system.new.dat system.img
resize2fs system.img 3124019K
ext2simg system.img system_new.img
./img2sdat.py system_new.img OUT 4
-Now move all files in OUT folder inside your ROM zip and you're ready to flash
Oreo:
-Extract system.transfer.list system.new.dat.br to the folder
-Open terminal and enter the commands
Code:
brotli --decompress --in system.new.dat.br --out system.new.dat
./sdat2img.py system.transfer.list system.new.dat system.img
resize2fs system.img 3124019K
ext2simg system.img system_new.img
./img2sdat.py system_new.img OUT 4
-Now move all files in OUT folder inside your ROM zip
-In your ROM.zip enter in META-INF/com/google/android/updater-script and replace system.new.dat.br for system.new.dat
-Save it and you're ready to flash it
Auto
-Download the archive in attached files (All the files other than the scripts are from @xpirt tutorial)
-Extract it
-Copy the ROM (zip) you want inside the folder
-Run the script for the version you want
Code:
. Nougat.sh
or
Code:
. Oreo.sh
-You'll get a zeroflteskt.zip ready to flash
NOTES FOR OREO ROMS
There're two scripts because Oreo (8.1) uses a new one/more compress method brotli, so first you need to decompress system.new.dat.br to system.new.dat and then continue the process, BUT you'll notice that the final zip size is larger than original, Why? Because I have disabled the brotli compression (In my tests it takes to much to compress the system.new.dat to system.new.dat.br and I think its not worth the time just to get some free MBs) . So the final result won't have the system.new.dat.br, but system.new.dat just like Nougat.
Credits to @xpirt tutorial and all github contributors
Thank you for method.You say right. Few user korea and because system image partition is smaller so it hard to support from dev.I don't have computer so i only can wait dev...
Wyzp said:
If you're here you probably have a Korean variant and knows that we can't flash international (F) versions, we get stuck at ¨Patching System Image Unconditionnally¨
Quick Explanation for Korean users
The Korean variants have a smaller System Image Partition and thus we can't flash the normal AOSPs.
There're 2 ways to be able to flash it:
1 - The devs could build a lteskt build, but we're just few users so they would just spend their time...
2 - Resize the system image yourself and be able to flash it
I'm not a dev or an expert,but I can help you guys to resize it
YOU MUST READ THIS BEFORE PROCEED
This guide take into account that you have some basic knowledge on Linux (like install the required packges).
Manual
-Download the archive in attached files (All the files other than the scripts are from @xpirt tutorial)
-Extract it
Nougat :
-Extract system.transfer.list system.new.dat to the folder
-Open terminal and enter the commands
Code:
./sdat2img.py system.transfer.list system.new.dat system.img
resize2fs system.img 3124019K
ext2simg system.img system_new.img
./img2sdat.py system_new.img OUT 4
-Now move all files in OUT folder inside your ROM zip and you're ready to flash
Oreo:
-Extract system.transfer.list system.new.dat.br to the folder
-Open terminal and enter the commands
Code:
brotli --decompress --in system.new.dat.br --out system.new.dat
./sdat2img.py system.transfer.list system.new.dat system.img
resize2fs system.img 3124019K
ext2simg system.img system_new.img
./img2sdat.py system_new.img OUT 4
-Now move all files in OUT folder inside your ROM zip
-In your ROM.zip enter in META-INF/com/google/android/updater-script and replace system.new.dat.br for system.new.dat
-Save it and you're ready to flash it
Auto
-Download the archive in attached files (All the files other than the scripts are from @xpirt tutorial)
-Extract it
-Copy the ROM (zip) you want inside the folder
-Run the script for the version you want
Code:
. Nougat.sh
or
Code:
. Oreo.sh
-You'll get a zeroflteskt.zip ready to flash
NOTES FOR OREO ROMS
There're two scripts because Oreo (8.1) uses a new one/more compress method brotli, so first you need to decompress system.new.dat.br to system.new.dat and then continue the process, BUT you'll notice that the final zip size is larger than original, Why? Because I have disabled the brotli compression (In my tests it takes to much to compress the system.new.dat to system.new.dat.br and I think its not worth the time just to get some free MBs) . So the final result won't have the system.new.dat.br, but system.new.dat just like Nougat.
Credits to @xpirt tutorial and all github contributors
Click to expand...
Click to collapse
a huge thank for your suggestion pro :good::good::good::good::good::good::good:
Hey guy!
i try create a lineage rom for my s7 korea throught your guide. when i run this code: "ext2simg system.img system_new.img" my ubuntu show error command not found. i try search "ext2simg" command on google but no result. Can you check your script and show me how i can handle this problem.
Thanks
can i try this with s7 (sm-g930s) ??
The Syntax is out of date. Be shure to use python2 with img2sdat.py. And for the Orea script the brotli command is used differently in recent versions:
It may look like this now:
Oreo.sh
Code:
unzip *.zip -d ./ROM
cd ROM
mv system.transfer.list system.new.dat.br system.patch.dat ../
cd ../
brotli --decompress -o system.new.dat system.new.dat.br
./sdat2img.py system.transfer.list system.new.dat system.img
rm system.transfer.list system.new.dat.br system.new.dat system.patch.dat
resize2fs system.img 3124019K
ext2simg system.img system_new.img
python2 img2sdat.py system_new.img OUT 4
rm system.img system_new.img
cd OUT
mv system.transfer.list system.new.dat system.patch.dat ../
cd ../
mv system.transfer.list system.new.dat system.patch.dat ./ROM
rm *.zip
cd ROM
sed -i -e 's/system.new.dat.br/system.new.dat/g' ./META-INF/com/google/android/updater-script
zip -r zerofteskt_ROM.zip ./
mv zerofteskt_ROM.zip ../
cd ../
rm -r ROM
Related
Good evening all!!
Well after two days of hitting my head against the wall I decided to ask for help.. typical guy here!!
Problem: when using the blobtools to create a boot blob it soft bricks my transformer. No idea why.
Objective: Create a bootable boot blob with init.rc changes
Steps token to create the boot blob:
::Tools Used::
- BlobTools created by RaYmAn
- BootTools created by RaYmAn
::Blob used:: Stock kernel provided by clemsyn ( h t t p : / / w w w . megaupload.com/?d=GSIHUPJ6 ) kernelblob
1. After compiling blobtools I used "blobunpack" to unpack my blob
Code:
./blobunpack /home/mike/Android/kernelblob
Once done it produced "kernelblob.HEADER" and "kernelblob.LNX"
2. After compiling boottools I used "bootunpack" to unpack "kernelblob.LNX"
Code:
./bootunpack /home/mike/Android/kernelblob.LNX
Which produced "kernelblob.LNX-kernel.gz" and "kernelblob.LNX-ramdisk.cpio.gz"
3. Then I uncompressed "kernelblob.LNX-ramdisk.cpio.gz"
Code:
gunzip -c /home/mike/Android/kernelblob.LNX-ramdisk.cpio.gz | cpio -i
Which produced the initramfs. Made my changes to init.rc
4. Re-created ramdisk using this command
Code:
find . | cpio -o -H newc | gzip > ../newkernelblob.LNX-ramdisk.cpio.gz
5. Then re-create kernelblob.LNX (boot.img) with mkbootimg
Code:
mkbootimg --cmdline 'no_console_suspend=1 console=null' --kernel kernelblob.LNX-kernel.gz --ramdisk newkernelblob.LNX-ramdisk.cpio.gz -o newkernelblob.LNX
6. re-created blob using blobpack
Code:
./blobpack kernelblob.HEADER boot_blob LNX newkernelblob.LNX
Example provided by RaYmAn
Code:
./blobpack blobname.HEADER outputfile LNX boot.img
Then I try to flash the new boot_blob but after I reboot it just gets stuck on the ASUS screen...
Thanks for taking the time to read this and help me!!!! Hope this will help others
Just to note:: Even if I do not make changes to init.rc it still does not boot which tells me it might have something to do with the way I'm repacking the blob..... Thanks again for anyones help!!!
Anyone?????
trying to keep the thread alive.... I've tried with the offical blob too. No luck!
I am running ubuntu 64-bit with jdk installed!
The problem is the fact that you pass a cmdline to the mkbootimg command.
On most tegra2 based devices, the cmdline is passed by the bootloader UNLESS the boot.img has a cmdline. Your cmdline is obviously wrong for a tegra2 device, so it never boots.
I installed 2.3 to my phone.
The cust.img contain a lot of unneeded apks. (The cust.img is a disk image file.)
How to extract cust.img and delete a file in that?
The cust.img mounted to /cust folder as "read only" by init.rc (init.rc automatically generated on boot)
ufukyayla said:
i installed 2.3 to my phone.
The cust.img contain a lot of unneeded apk.
How to extract cust.img and delete a file in that?
The cust.img mounted to /cust folder as as read only by init.rc (init.rc automatically generated on boot)
Click to expand...
Click to collapse
Is cust.img or cust_data.img? See on /cust_backup/image/cust...
This is cust.img in image folder. (When pink screen mode)
ufukyayla said:
This is cust.img in image folder. (When pink screen mode)
Click to expand...
Click to collapse
I never change or delete anything on that place (when pink screen mode). I make all on /cust_backup/image/recovery.img or /cust... don't remember all.
Is from here that at each restarting or rebooting is loaded the bootloader (pink screen).
I deleted in this place all Carrier data /cust_backup/image/cust... something.
But take care, that /image/ is backed also on ROM Backups. If you delete the /cust... like I made, and if one day you made a ROM Restore made before, the /cust... return to same place. You must delete this after each ROM Restore.
For all restores I have, I made: Rom Restore-> delete /cust... (carrier data) -> new Rom backup.
..................................
EDIT: I made all this because I'm rooted and whit Root Explorer.
I dont want to delete cust.img.
The cust.img is a disk image file.
I want to delete a file in disk image that contained in cust.img.
The cust.img mounted to /cust folder as read only on boot.
i delete all boot files.
I delete all of boot files in this folder.When i open phone i faced blue screen. can someone zip all files in this folder and upload for me. Otherwise i have to send my phone to technical service.
I fixed it.
I deleted all unneeded apks (stock apps) that stored in cust.img
My method;
1. On Slitaz Linux 3.0
2. Open terminal
3. Copy cust.img from phone to /home folder
4. mkdir tmp
5. mount cust.img /home/tmp
6. cd /home/tmp/hw/default/app
7. Delete apk files what you don't want
8. umount tmp
9. Copy cust.img from /home folder to phone
It is for who don't have linux;
http://www.multiupload.com/EKPGJ7EUGO
This is "cleared" cust.img. That contains only these apks;
BeyondTheSkyTheme.apk
Calendar.apk
CalendarProvider.apk
DeskClock.apk
ToolBox.apk
modify init.rc
Code:
mount vfat /dev/block/mmcblk0p1 /.cust_backup ro wait
mount ext3 [email protected]_backup/image/cust.img /cust ro
to
Code:
mount vfat /dev/block/mmcblk0p1 /.cust_backup rw wait
mount ext3 [email protected]_backup/image/cust.img /cust rw
then you could delete any files in cust.img..(/cust in phone)
genokolar said:
modify init.rc
Code:
mount vfat /dev/block/mmcblk0p1 /.cust_backup ro wait
mount ext3 [email protected]_backup/image/cust.img /cust ro
to
Code:
mount vfat /dev/block/mmcblk0p1 /.cust_backup rw wait
mount ext3 [email protected]_backup/image/cust.img /cust rw
then you could delete any files in cust.img..(/cust in phone)
Click to expand...
Click to collapse
The init.rc automatically generating on boot.
Changes lost when you reboot your phone.
The init.rc is in your boot.img, which you could edit with a tool like abootimg, but you'd need Linux to modify that, anyway.
qwerty12 said:
The init.rc is in your boot.img, which you could edit with a tool like abootimg, but you'd need Linux to modify that, anyway.
Click to expand...
Click to collapse
But, it is very hard to do.
abootimg -x boot.img
rename initrd.img to initrd.gz
gunzip initrd.gz
extract initrc using cpio
edit init.rc
recompess
regzip
update bootimg
...
...
etc. etc.
do you know easy way?
ufukyayla said:
But, it is very hard to do.
abootimg -x boot.img
rename initrd.img to initrd.gz
gunzip initrd.gz
extract initrc using cpio
edit init.rc
recompess
regzip
update bootimg
...
...
etc. etc.
do you know easy way?
Click to expand...
Click to collapse
Combine the commands together; create scripts or add aliases to your .bashrc
Do "abootimg -x boot.img && mkdir newramdisk && cd newramdisk && zcat ../initrd.img | cpio -i --no-absolute-filenames" and you're in the folder with the extracted initrd.
When you're done editing, run "find . -print | cpio -o -H newc | gzip -n -9 > ../initrd.img" followed by "cd .. ; abootimg -u boot.img -r initrd.img" and you're done
thanks a lot. i'll try this.
Is there any other way without Linux to remove a .apk from cust.img?
Yes, look at the page 1
I deleted app, but size boot.img has not changed. How to reduce size boot.img?
Moved To General
As the OP contains no development, as such this does not belong here
[DEV_TOOL] HTC ROM EXTRACTOR
{
"lightbox_close": "Close",
"lightbox_next": "Next",
"lightbox_previous": "Previous",
"lightbox_error": "The requested content cannot be loaded. Please try again later.",
"lightbox_start_slideshow": "Start slideshow",
"lightbox_stop_slideshow": "Stop slideshow",
"lightbox_full_screen": "Full screen",
"lightbox_thumbnails": "Thumbnails",
"lightbox_download": "Download",
"lightbox_share": "Share",
"lightbox_zoom": "Zoom",
"lightbox_new_window": "New window",
"lightbox_toggle_sidebar": "Toggle sidebar"
}
Tools for working with firmware HTC in LINUX
fit Kenny Millington Source kmdm
(HOW TO)
PUSH THE BUTTON
! Requirements (libunshield v0.7 or higher):
Code:
$ sudo apt-get install automake
$ git clone https://github.com/kmdm/unshield.git
$ cd unshield/
$ git checkout -t origin/v18\_wip
$ ./bootstrap
$ ./configure --prefix=/usr
$ make
$ sudo make install
1. Extract from the zip and put the RUUXXXXXXXXX.exe to a folder with the tool;
2. Run in Terminal rom-extractor file and select the option:
MAIN MENU
u - UNRUU EXE TO ZIP - extract from the file rom.zip RUU.exe
d - DECRYPT MENU > DECRYPT MENU ROM.ZIP > OUTPUT.ZIP
r - REPACK MENU > REPACK MENU
e - ENCRYPT MENU >
c - CLEAN TOOL - Unmount and remove temporary files
x - exit
> DECRYPT MENU ROM.ZIP > OUTPUT.ZIP
1 ... 24 - decode the file rom.zip output.zip (select the target device)
> REPACK MENU
e - EXTRACT ZIP ROM - to extract the firmware from the ROM folder output.zip
m - MOUNT SYSTEM (EXT4 ONLY) - mount the partition image system.img in the folder system (you can add \ remove the firmware files)
d - DESPARSE SYSTEM.IMG (EXT4 ONLY) - uncompress the sparse image system.img (depending on the device - some zhaty, some not (determined EXPERIMENTAL)) and mount the partition image system.img in the folder system (you can add \ remove the firmware files)
s - MAKE SPARSE SYSTEM.IMG (EXT4 ONLY) - the creation of a sparse image sistem.img (you must specify the size of the partition XXXXM (device) - for example ONE X = 1280M)
n - UNMOUNT SYSTEM - dismount and delete the folder system
z - ADD SYSTEM.IMG > OUTPUT.ZIP - add new edited system.img into output.zip
> ENCRYPT MENU OUTPUT.ZIP > ROM.ZIP
1 ... 24 - create encrypt new rom.zip from output.zip
Thanks
as i9000 said:
[DEV_TOOL] HTC ROM EXTRACTOR
Tools for working with firmware HTC in LINUX
fit Kenny Millington Source
(HOW TO)
PUSH THE BUTTON
! Requirements (libunshield v0.7 or higher):
Code:
$ git clone https://github.com/kmdm/unshield.git
$ cd unshield/
$ git checkout -t origin/v18\_wip
$ ./bootstrap
$ ./configure --prefix=/usr
$ make
$ sudo make install
1. Extract from the zip and put the firmware. Exe to a folder with the tool;
2. Run in Terminal rom-extractor file and select the option:
u - extract from the file rom.zip RUU.exe
1 ... 21 - decode the file rom.zip output.zip (select the target device)
e - to extract the firmware from the ROM folder output.zip
m - mount the partition image system.img in the folder system (you can add \ remove the firmware files)
n - dismount and delete the folder system
c - Clean all tools
x - exit
d - uncompress the sparse image system.img (depending on the device - some zhaty, some not (determined EXPERIMENTAL)) and mount the partition image system.img in the folder system (you can add \ remove the firmware files)
s - the creation of a sparse image sistem.img (you must specify the size of the partition XXXXM (device) - for example ONE X = 1280M)
Click to expand...
Click to collapse
i can not work and i can not runnig
R: [DEV_TOOL] HTC ROM EXTRACTOR extract RUU & repack system.img
lauri_ylonen said:
i can not work and i can not runnig
Click to expand...
Click to collapse
This is only for linux
Inviato dal mio GT-I9070 con Tapatalk 2
Are there plans to add the One S?
Nm. Just looked at the source.... Oops.
bedwa said:
Are there plans to add the One S?
Nm. Just looked at the source.... Oops.
Click to expand...
Click to collapse
INFO FOR ALL...
If your device is not supported and you would like it supported please open an issue in the tracker with the device name, codename and a link to the most recent hboot file for the device. (Not a link to the full RUU!)
Click to expand...
Click to collapse
Kenny Milington https://github.com/kmdm/ruuveal
anything more?..
I promise to add new binaries in my instrument as we update source
Not as all. The oops was cause I looked at the source and noticed the unpacker was One S supported. Lol.
Fixed a typo in paragraph 21
HTC One VX (tc2) > HTC One S (ville)
add
HTC_ROM-EXTRACTOR_v.0.0.3_x64
it seems that I'm doing something wrong.
[email protected]:~$ git clone https://github.com/kmdm/unshield.git
Cloning into 'unshield'...
remote: Counting objects: 569, done.
remote: Compressing objects: 100% (208/208), done.
remote: Total 569 (delta 370), reused 545 (delta 346)
Receiving objects: 100% (569/569), 116.31 KiB | 204 KiB/s, done.
Resolving deltas: 100% (370/370), done.
[email protected]:~$ cd unshield/
[email protected]:~/unshield$ git checkout -t origin/v18\_wip
Branch v18_wip set up to track remote branch v18_wip from origin.
Switched to a new branch 'v18_wip'
[email protected]:~/unshield$ ./bootstrap
Creating configure.ac...done.
+ aclocal -I m4
./bootstrap: 29: ./bootstrap: aclocal: not found
[email protected]:~/unshield$
Click to expand...
Click to collapse
can anyone help?
Maybe a more step-bystep guide,
Sorry for been noob
andrewschumi said:
it seems that I'm doing something wrong.
can anyone help?
Maybe a more step-bystep guide,
Sorry for been noob
Click to expand...
Click to collapse
sudo apt-get install automake
Added
v.o.o.4
22 - HTC One U (m7_u)
23 - HTC One UL (m7_ul)
24 - HTC Desire SV (magnids)
ADDED v.0.0.5
REBUILD TOOL
ADDED ENCRYPT MENU!!!
as i9000 said:
ADDED v.0.0.5
REBUILD TOOL
ADDED ENCRYPT MENU!!!
Click to expand...
Click to collapse
Could you please help? unruu never completes. It gives me this
Extracting temporary files...
Extracting rom zip files...
./unruu_exe: line 8: 4379 Aborted (core dumped) ./unruu ruu.exe
failed to open source zip: No such file or directory
That last line fails because decrypt is looking for a zip that was never made.
If i do ./unruu ruu.exe , I am given the following
[email protected]:~/Desktop/HTC_ROM-EXTRACTOR_v.0.0.5/tools$ ./unruu ruu.exe
Extracting temporary files...
Extracting rom zip files...
Aborted (core dumped)
Click to expand...
Click to collapse
this was done as root with the same result.
Perhaps I need to switch to all i386 binaries? Ill try that, but i was trying to avoid it, as it will break my current nvidia driver setup. ohwell
Tilde88 said:
Could you please help? unruu never completes. It gives me this
Extracting temporary files...
Extracting rom zip files...
./unruu_exe: line 8: 4379 Aborted (core dumped) ./unruu ruu.exe
failed to open source zip: No such file or directory
That last line fails because decrypt is looking for a zip that was never made.
If i do ./unruu ruu.exe , I am given the following
this was done as root with the same result.
Perhaps I need to switch to all i386 binaries? Ill try that, but i was trying to avoid it, as it will break my current nvidia driver setup. ohwell
Click to expand...
Click to collapse
Did you do this?
! Requirements (libunshield v0.7 or higher):
Code:
$ sudo apt-get install automake
$ git clone https://github.com/kmdm/unshield.git
$ cd unshield/
$ git checkout -t origin/v18\_wip
$ ./bootstrap
$ ./configure --prefix=/usr
$ make
$ sudo make install
Added version 0.0.6 x86-64
25 - HTC One WLS (m7_wls)
26 - HTC One SV (k2_u)
27 - HTC One SV (k2_plc_cl)
as i9000 said:
Did you do this?
! Requirements (libunshield v0.7 or higher):
Code:
$ sudo apt-get install automake
$ git clone https://github.com/kmdm/unshield.git
$ cd unshield/
$ git checkout -t origin/v18\_wip
$ ./bootstrap
$ ./configure --prefix=/usr
$ make
$ sudo make install
Click to expand...
Click to collapse
lol yes of course
Tilde88 said:
lol yes of course
Click to expand...
Click to collapse
OK, try to extract some different rom, may be you has problem from invalid ruu.exe..
and more, what size have your ruu.exe? - x32 systems, can't handle files largest 2GB...
as i9000 said:
OK, try to extract some different rom, may be you has problem from invalid ruu.exe..
and more, what size have your ruu.exe? - x32 systems, can't handle files largest 2GB...
Click to expand...
Click to collapse
im running x64, tried with x64 binaries, and i also tried using 32bit binaries. furthermore, my RUU is onlt 1.15GB. Also, x86 (there is not such thing as x32) can handle 3gb files.
thanks so much for the tool though, everything else workes, I juse used a script I found from another developer to get the .zip, then used your tool for all the other features.
Tilde88 said:
im running x64, tried with x64 binaries, and i also tried using 32bit binaries. furthermore, my RUU is onlt 1.15GB. Also, x86 (there is not such thing as x32) can handle 3gb files.
thanks so much for the tool though, everything else workes, I juse used a script I found from another developer to get the .zip, then used your tool for all the other features.
Click to expand...
Click to collapse
Well then stay one variant - you doesn't installed "Unshield", try run terminal and input 'unsield'
here the correct conclusion:
Code:
~$ unshield
No action provided on command line.
Syntax:
unshield [-c COMPONENT] [-d DIRECTORY] [-D LEVEL] [-g GROUP] [-i VERSION] [-GhlOrV] c|g|l|t|x CABFILE [FILENAME...]
Options:
-c COMPONENT Only list/extract this component
-d DIRECTORY Extract files to DIRECTORY
-D LEVEL Set debug log level
0 - No logging (default)
1 - Errors only
2 - Errors and warnings
3 - Errors, warnings and debug messages
-g GROUP Only list/extract this file group
-h Show this help message
-i VERSION Force InstallShield version number (don't autodetect)
-j Junk paths (do not make directories)
-L Make file and directory names lowercase
-O Use old compression
-r Save raw data (do not decompress)
-V Print copyright and version information
Commands:
c List components
g List file groups
l List files
t Test files
x Extract files
Other:
CABFILE The file to list or extract contents of
FILENAME... Optionally specify names of specific files to extract (wildcards are supported)
hi is there any chance to add the Desire HD. As i am trying to merge a Orange UK RUU for Desire DHD and they never released the last RUU with all the OTA's to make a New RUU with all the OTA's included.
I have made a Nandroid backup after all the OTA's was installed to the phone i even have all the OTA's just need a way to extract the rom.zip (easy from exe file not a issue) add the changed .img files such as radio, system, hboot recovery rcdata lib.img and make a new rom.zip and ruu.exe any way this can be done just tried with your tool and got invalid htc aes encrypted zip.
Thanks in advance
<Making Progress> Compile 2013 Nexus 7 – Flash to device – Stuck a Google boot screen
I am using the following device: 2013 Nexus 7
Android version: 4.3
Kernel version: [email protected]__ #1
Build number: JSS15Q
The problem:
When I try to flash a new boot.img file that contains my own recompiled kernel I am unable to boot the system – it sticks at the Google boot screen (and does not make it to the color X screen)
Below I have detailed out the steps I have taken. Please take a look and tell me if you notice if I am doing something wrong.
The following step were taken while running Ubuntu 12.04 LTS
*******************************************************************************************
Unlocking the 2013 Nexus 7 (Flo=wifi)
Rooting the 2013 Nexus 7 (Flo=wifi)
*** Compile/Recompile the kernel ***
*** Create a new boot.img file ***
….. contains instructions for getting root access
*** Flashing a new boot.img file ***
*******************************************************************************************
Unlocking the 2013 Nexus 7 (Flo=wifi)
Open a terminal and make sure that your system can see the Nexus 7, run:
$ ./adb devices
If you see the Nexus 7, run:
$. /adb reboot bootloader
When the bootloader screen has reappeared, run:
$ sudo ./fastboot devices
-If you can see the Nexus 7, run:
$ sudo ./fastboot oem unlock
-Look at the Nexus 7, a screen should appear asking you if you want to “Unlock the bootloader” – choose Yes.
You will need to use volume up/down to choose a response and press the power button to select.
- The device will flash a new image and exit to prompt
Next, reboot the device:
$ sudo ./fastboot reboot
The device is now unlocked.
*******************************************************************************************
Rooting the 2013 Nexus 7 (Flo=wifi)
*** Compile/Recompile the kernel ***
In the following steps you will be compiling/recompileing a kernel for the Nexus 7.
*Make sure that libncurses5-dev is installed (needed for make menuconfig)
Starting out I am at the following location
[email protected]:/home/user $
In your home directory create a folder named “Razor_Flo”:
$ mkdir Razor_Flo
Move into the new folder:
$ cd Razor_Flo
You should be here – [email protected]:/home/user/Razor_Flo $
In the Razor_Flo directory, create a sub directory named “Kernel”:
$ mkdir Kernel
Move into the new folder:
$ cd Kernel
You should be here – [email protected]:/home/user/Razor_Flo/Kernel $
[----------------- For the next steps, I used the following website to determine what files I needed -----------------]
__http__://source.android.com/source/building-kernels.html
Figuring out which kernel to build
[----------------------------------------------------------------------------------------------------------------------------------------------]
In the Kernel folder, download the following files:
$ git clone __https__://android.googlesource.com/device/asus/flo-kernel
$ cd flo-kernel
You should be here – [email protected]:/home/user/Razor_Flo/Kernel/flo-kernel $
$ git log --max-count=1 kernel
-- Log information will be displayed, under the “flo: prebuilt kernel” you will see a set of numbers and letters that will look like 365a6e0, note that number for future use.
Back out of the flo-kernel folder
$ cd ..
You should be here – [email protected]:/home/user/Razor_Flo/Kernel $
Once you are in the Kernel folder, download the following files:
$ git clone __https__://android.googlesource.com/kernel/msm.git
-- This command will create an msm directory
Move into the msm folder
$ cd msm
You should be here – [email protected]:/home/user/Razor_Flo/Kernel/msm $
[---------------------- For the next step, I used the following website to acquire the files I needed --------------------]
__http__://source.android.com/source/building-kernels.html
On a linux host, if you don't have an Android source tree, you can download the prebuilt toolchain from:
$ git clone __https__://android.googlesource.com/platform/prebuilts/gcc/linux-x86/arm/arm-eabi-4.6
[-----------------------------------------------------------------------------------------------------------------------------------------------]
Export the path to the prebuilt gcc files
$ export PATH=$PATH: <link to files>
Additional exports
$ export ARCH=arm
$ export SUBARCH=arm
$ export CROSS_COMPILE=arm-eabi-
Checkout the correct kernel files
$ git checkout 365a6e0 <-- the number you noted above
Make the Kernel
$ make flo_defconfig
* At this point you can use “make menuconfig” to make any changes to the .config file you need (i.e. kernel modifications)
$ make
* When the make is complete a file named zImage will be created here:
.../arch/arm/boot/zImage <-- Note this, you will need the file later
The kernel compile/recompile is now complete
*** Create a new boot.img file ***
In the following steps you will be taking apart the “Factory boot.img” so that you can create a “Modified boot.img” which will contain your modified and rooted kernel.
You should be here – [email protected]:/home/user/Razor_Flo/Kernel/msm $
Move up two directories
$ cd ../../
You should be here – [email protected]:/home/user/Razor_Flo $
[------------------------------------------------------- Tools need for next step -------------------------------------------------------]
You will need to download the following files.
-- split_bootimg.pl
__http__://code.google.com/p/zen-droid/downloads/detail?name=split_bootimg.pl
-- mkbootimg
__http__://code.google.com/p/zen-droid/downloads/detail?name=mkbootimg
-- 2013 Nexus Factory Images
__https__://dl.google.com/dl/android/aosp/razor-jss15q-factory-4f77b811.tgz
* You will need to copy this file to a unique location so that you can extract the “boot.img” that is located with it.
[------------------------------------------------------------------------------------------------------------------------------------------------]
Create a new folder named Workspace
$ mkdir Workspace
Enter the Workspace directory
You should be here – [email protected]:/home/user/Razor_Flo/Workspace $
Make two new folders in this directory
$ mkdir Original
$ mkdir Hacked
Move into the Hacked folder
You should be here – [email protected]:/home/user/Razor_Flo/Workspace/Hacked $
Create a new folders named Hacked_ramdisk
$ mkdir Hacked_ramdisk
Move up two directories – to the Workspace folder
$ cd ../../
You should be here – [email protected]:/home/user/Razor_Flo/Workspace $
Copy the 2013 Nexus 7 factory boot.img file into the ..Workspace/Original folder
-- can be found within the factory tgz file:
Copy the split_bootimg.pl file to the ..Workspace/Original folder
Copy the mkbootimg file to the ..Workspace/Hacked folder
Move the zIamge file to the ..Workspace/Hacked folder
Move to the Hacked folder
You should be here – [email protected]:/home/user/Razor_Flo/Workspace/Hacked $
Rename the zImage file to boot.img-kernel
Move up one directory - to the Workspace folder
You should be here – [email protected]:/home/user/Razor_Flo/Workspace $
Move to the Original folder
You should be here – [email protected]:/home/user/Razor_Flo/Workspace/Original $
Run the following command:
$ ./split_bootimg.pl boot.img
This will create two files, copy the boot.img-kernel and boot.img-ramdisk.gz
Copy the boot.img-ramdisk.gz file to the “Hacked/Hacked_ramdisk” folder
Move to the Hacked/Hacked_ramdisk folder
You should be here – [email protected]:/home/user/Razor_Flo/Workspace/Hacked/Hacked_ramdisk $
Run the following command:
$ sudo gzip -cd boot.img-ramdisk.gz | cpio -i
This will extract all the files with in the boot.img-ramdisk.gz file.
Delete the original boot.img-ramdisk.gz file that you just extracted the files from.
Edit the default.prop file
change ro.secure=1 to ro.secure=0
change ro.adb.secure=1 to ro.adb.secure=0
Save changes and close the file.
Run the following command :
$ find .| cpio -o -H newc | gzip > insecure_boot.img-ramdisk.gz
This will create a new file named insecure_boot.img-ramdisk.gz.
Rename the insecure_boot.img-ramdisk.gz. file to boot.img-ramdisk.gz and copy it up one folder in the hierarchy to the “Hacked” folder.
Move up one directory - ../Workspace/Hacked
You should be here – [email protected]:/home/user/Razor_Flo/Workspace/Hacked $
List the files in the ../Workspace/Hacked directory, there should be three files:
(1) boot.img-kernel, (2) boot.img-ramdisk.gz, & (3) mkbootimg
Run the following command from within the “Hacked” folder
$ ./mkbootimg --cmdline 'no_console_suspend=1 console=null' --kernel boot.img-kernel --ramdisk boot.img-ramdisk.gz -o mynewimage.img
Rename mynewimage.img to boot.img and flash on the device.
The new boot image is now complete and ready to flash.
*** Flashing a new boot.img file ***
[------------------------------------------------------- Tools need for next step -------------------------------------------------------]
You will need to download the following file.
-- 2013 Nexus Factory Images
__https__://dl.google.com/dl/android/aosp/razor-jss15q-factory-4f77b811.tgz
* You will need to copy this file to a unique location so that you can extract the “system.img” file that is located with it.
--- Android SDK (I used the 64-bit version)
__http__://dl.google.com/android/android-sdk_r22.0.5-linux.tgz
[------------------------------------------------------------------------------------------------------------------------------------------------]
You will need to use both the adb and fastboot utilites that come in the Android SDK application.
You will need two image to complete this task
1. boot.img <--file you just created, located in the ../Workspace/Hacked directory
2. system.img <-- can be found within the factory tgz file:
Starting out I am at the following location
[email protected]:/home/user/android-sdk/platform-tools $
Place both the boot.img and system.img files into the same folder as the adb and fastboot utilites.
Verify that you can see the Nexus 7 device that you are about to flash
$ sudo ./adb devices
*if you cannot see the device, make sure that you have checked the “enable USB Debugging” in the developer options.
Run the following commands
$ sudo ./adb reboot bootloader
$ sudo ./fastboot flash boot boot.img
$ sudo ./fastboot flash system system.img
$ sudo ./fastboot format cache
$ sudo ./fastboot format userdata
$ sudo ./fastboot restart
At this point the system should be unlocked and rooted.
Bump - still looking for help
Post your zImage.
Sent from my Nexus 4 using Tapatalk 4
Here is the zImage I created
Here is the zImage that I created.
I have rename it to chad.img
Thanks
jassycliq said:
Post your zImage.
Sent from my Nexus 4 using Tapatalk 4
Click to expand...
Click to collapse
Hi All
I am still looking for feedback - if anyone has any.
Thanks
Chad
Chady said:
Hi All
I am still looking for feedback - if anyone has any.
Thanks
Chad
Click to expand...
Click to collapse
I used this and I got it working:
http://source.android.com/source/initializing.html
I created the msm directory inside the flo-kernel directory as a place to put the kernel source. I don't know if that is right, or if it even matters, but it works for me. Then I had to move the zImage to out/product/target/flo/kernel before doing the make on the framework. Don't forget to do the "source build/envsetup.sh" and "lunch" before making the framework. Before compiling the kernel, be sure to set ARCH, SUBARCH and CROSS_COMPILE environment variables and make sure your PATH includes the prebuilt cross-compiler.
Making headway
Ok, So I made some headway lastnight.
I have not figured out how to compile the kernel on my own however, I am able to compile and boot an AOSP image for the 2013 Nexus 7
My problem getting the image to boot once compiled centered around drivers. I was under the impression that Android would work like Linux and Windows... meaning that if you did not have device drivers installed the OS would still boot - I was wrong. After installing the drivers (via the provided install .sh files) I then compiled the OS, flashed the device, and the system boot.
Now I am off to figure out how to get a custom kernel running.
Chad
for the benifit of others
Chady said:
Ok, So I made some headway lastnight.
I have not figured out how to compile the kernel on my own however, I am able to compile and boot an AOSP image for the 2013 Nexus 7
My problem getting the image to boot once compiled centered around drivers. I was under the impression that Android would work like Linux and Windows... meaning that if you did not have device drivers installed the OS would still boot - I was wrong. After installing the drivers (via the provided install .sh files) I then compiled the OS, flashed the device, and the system boot.
Now I am off to figure out how to get a custom kernel running.
Chad
Click to expand...
Click to collapse
For the benefit of others who might look at this forum in the future.
This is what is required to be done.
source.android.com/source/building-devices.html#obtaining-proprietary-binaries
I faced the same problem and took time to figure out what it really meant.
Also if it is in an infinite loop after the above procedure. Try doing fastboot flashall -w
-w option did the magic for me when I was stuck in an infinite loop after the above procedure.
Hello guys, Here I bring a guide for setting up stock dump folder, which could be used to extract propietary from stock firmware.
**IMPORTANT!! THIS GUIDE IS TARGET TO MAPLE WHICH DOESN'T HAVE SEPARATE VENDOR PARTITION
For XZ1/XZ1C and all newer phones which comes with Android 8+ need to unsin, mount & copy vendor at same time.
OK, let's start
1.Download the latest stock firmware by using [TOOL] XperiFirm ~ Xperia Firmware Downloader [v5.4.0]
2. UnSin System and Kernel sin files from stock firmware.
Code:
./path/to/unsin /path/to/Kernel*.sin
./path/to/unsin /path/to/System*sin
Then you will get Kernel image and System ext4 file. In case your UnSin doesn't have execute permission, run chmod +x /path/to/unsin
3.Unpack the Kernel image by using AIK Android Image Kitchen
/path/to/AIK-Linux/unpackimg.sh /path/to/kernel*.img
You will get a ramdisk folder for your stock dump, which would be the root of your dump folder.
4.Change the ramdisk folder owner to yourself
chown -R $USER:$USER ramdisk
5, Mount the System image on somewhere, (e.g. /mnt/system) and change its owner to yourself
Code:
sudo mkdir /mnt/system
sudo mount -o loop /path/to/system*.ext4 /mnt/system/
sudo chown -R $USER:$USER /mnt/system
6, Copy system to your ramdisk folder
cp -r /mnt/system/* /path/to/ramdisk/system/
Then you are ready to extract vendor from stock now, just run the extract script in your device tree and you're all done:
/path/to/extract-files.sh /path/to/ramdisk
ENJOY!!!
Give me like if it helped to you