During the weekend, I was testing few things in the webtop using Debian packages and I needed to use my backup image (I did it using dd) to restore the Webtop partition (/dev/block/webtop). The first time I used my backup, everything went fine and the Webtop was restored. But then I understand my mistake in the first trial and tryed install gcc again causing another brake in webtop. After that I restored one more time, but it stopped working.
From the point of view of the Linux system, it seens the problem is that it can't mount correctly the partitions. A df give me:
Filesystem Size Used Available Use% Mounted on
rootfs 1.3G 724.6M 587.0M 55% /
tmpfs 1.3G 724.6M 587.0M 55% /dev
devpts 1.3G 724.6M 587.0M 55% /dev/pts
sysfs 1.3G 724.6M 587.0M 55% /sys
df: /acct: No such file or directory
df: /mnt/asec: No such file or directory
df: /mnt/obb: No such file or directory
df: /dev/cpuctl: No such file or directory
df: /system: No such file or directory
df: /data: No such file or directory
df: /cache: No such file or directory
/dev/block/webtop 1.3G 724.6M 587.0M 55% /
df: /pds: No such file or directory
df: /preinstall: No such file or directory
df: /sys/kernel/security: No such file or directory
df: /mnt/sdcard: No such file or directory
df: /mnt/secure/asec: No such file or directory
df: /mnt/sdcard/.android_secure: No such file or directory
df: /mnt/sdcard: No such file or directory
df: /mnt/asec/com.quoord.tapatalkxda.activity-1: No such file or directory
And when I mkdir /mnt/secure/ or /mnt/sdcard/ it automaticly mounts /dev/block/webtop on it.
I can't even see any block device inside the webtop. A ls /dev/ gives me:
agpgart kmem midi1 ram1 ram9 stdout
audio loop0 midi2 ram10 random tty
audio1 loop1 midi3 ram11 rmidi0 tty0
audio2 loop2 mixer ram12 rmidi1 tty1
audio3 loop3 mixer1 ram13 rmidi2 tty2
audioctl loop4 mixer2 ram14 rmidi3 tty3
console loop5 mixer3 ram15 sequencer tty4
core loop6 mpu401data ram16 shm tty5
dsp loop7 mpu401stat ram2 smpte0 tty6
dsp1 mem null ram3 smpte1 tty7
dsp2 midi0 port ram4 smpte2 tty8
dsp3 midi00 ptmx ram5 smpte3 tty9
fd midi01 pts ram6 sndstat urandom
full midi02 ram ram7 stderr xconsole
fuse midi03 ram0 ram8 stdin zero
And I can't mount any loop device.
In the Android part, everything looks fine.
Anyone have any idea?
Thank you very much!
Cheers,
Luis.
Well, we will need more information before we can be of much help.
1) How were you able install gcc? Did you use my webtop hack, so that you can install using synaptic?
2) Were are you installing these deb packages from?
3) Are you sure you edited ONLY parts in the webtop partition and not the android filesystem? Both of them run a form of linux, and can be confused very easily if you are in the wrong directory, such as /etc and not /osh/etc.
4) Have you tried to flash just the webtop image from the fxz?
This is a good place to start the questions, so that we can be of more help here. Once you answer the above, I will know which way to go from here, hopefully.
jimbridgman said:
Well, we will need more information before we can be of much help.
1) How were you able install gcc? Did you use my webtop hack, so that you can install using synaptic?
2) Were are you installing these deb packages from?
3) Are you sure you edited ONLY parts in the webtop partition and not the android filesystem? Both of them run a form of linux, and can be confused very easily if you are in the wrong directory, such as /etc and not /osh/etc.
4) Have you tried to flash just the webtop image from the fxz?
This is a good place to start the questions, so that we can be of more help here. Once you answer the above, I will know which way to go from here, hopefully.
Click to expand...
Click to collapse
Thank you very much for your repply!
So,
1) I was not abble to install gcc from the repositories (from Ubuntu Maverick one). I always get an error installing the libc6. After I tracked the error to readlink it almost worked, I was only getting a error to move a file. But then I gave up and decided to wait for my sdcard arrive.
2) From the repositories. I tried the first time using Debian Squeeze repository and, after that, using Ubuntu Maverick one. I didn't use your hack because I was trying to learn what exactly brake compability with moto's packages.
3) That's a excelent question! In first place I really thought I was changing only the /osh partition, but I saw today that the /etc/ is actualy /osh/etc even for Android. So I changed things for Android too.
But in principle, this partition was restored when I dd it back to my backup.
4) No. Actualy I was looking for a FXZ image to do this. The only one I found Online was this: InlineFlashing_edison_5.5.175.16_cfc_p3_APBP_CID285.zip in Filefactory site, but I could not Download it yet due site limitations.
Thank you very much!
Cheers,
Luis.
lfgomez said:
Thank you very much for your repply!
So,
1) I was not abble to install gcc from the repositories (from Ubuntu Maverick one). I always get an error installing the libc6. After I tracked the error to readlink it almost worked, I was only getting a error to move a file. But then I gave up and decided to wait for my sdcard arrive.
2) From the repositories. I tried the first time using Debian Squeeze repository and, after that, using Ubuntu Maverick one. I didn't use your hack because I was trying to learn what exactly brake compability with moto's packages.
3) That's a excelent question! In first place I really thought I was changing only the /osh partition, but I saw today that the /etc/ is actualy /osh/etc even for Android. So I changed things for Android too.
But in principle, this partition was restored when I dd it back to my backup.
4) No. Actualy I was looking for a FXZ image to do this. The only one I found Online was this: InlineFlashing_edison_5.5.175.16_cfc_p3_APBP_CID285.zip in Filefactory site, but I could not Download it yet due site limitations.
Thank you very much!
Cheers,
Luis.
Click to expand...
Click to collapse
Ok, there are a few issues here.
1) try to restore the webtop image from the fxz. Go and grab the correct version of the fxz from here:
http://sbf.droid-developers.org/edison/list.php
Then unzip and cd into the directory and, make sure you have the moto-fastboot command, and that adb works:
Motofastboot:
32bit for windows:
https://dl.dropbox.com/u/45576654/moto-fastboot-win32.zip
put it somwhere in your path and open a command line and cd into the directory where you unzipped the fxz and run the following, this will take a bit of time to complete, once started (about 10 min):
Code:
adb reboot bootloader
moto-fastboot flash webtop grfs.img
moto-fastboot reboot
2) Now go run my hack, once you have your SDcard, the issue you ran into is that the webtop instance had MACLs and FACLs inplace, and any changes you make to ANY files can have a BAD effect. That is why my hack exists.
My webtop hack:
http://forum.xda-developers.com/showthread.php?t=1375042
jimbridgman said:
Ok, there are a few issues here.
1) try to restore the webtop image from the fxz. Go and grab the correct version of the fxz from here:
http://sbf.droid-developers.org/edison/list.php
Then unzip and cd into the directory and, make sure you have the moto-fastboot command, and that adb works:
Motofastboot:
32bit for windows:
https://dl.dropbox.com/u/45576654/moto-fastboot-win32.zip
put it somwhere in your path and open a command line and cd into the directory where you unzipped the fxz and run the following, this will take a bit of time to complete, once started (about 10 min):
Code:
adb reboot bootloader
moto-fastboot flash webtop grfs.img
moto-fastboot reboot
2) Now go run my hack, once you have your SDcard, the issue you ran into is that the webtop instance had MACLs and FACLs inplace, and any changes you make to ANY files can have a BAD effect. That is why my hack exists.
My webtop hack:
http://forum.xda-developers.com/showthread.php?t=1375042
Click to expand...
Click to collapse
Thank you very much!
I'm downloading now the image! I will restore it using your guide.
I will wait my SDCard to play more freely with the Webtop!
Again, thank you very much!
Cheers,
Luis.
Still broken webtop
Hi,
I tried to unlock the webtop, but I broken it.
Now I try to flash back the webtop, but I get following messages:
C:\Program Files\sdk\platform-tools>moto-fastboot flash webtop grfs.img
load_file: could not allocate 1400635392 bytes
error: cannot load 'grfs.img'
Seems to me that the webtop partition is to small for grfs.img (only 1GB space)
At the moment even HDMI out from my ATRIX2 do not show any response. :crying:
florescu said:
Hi,
I tried to unlock the webtop, but I broken it.
Now I try to flash back the webtop, but I get following messages:
C:\Program Files\sdk\platform-tools>moto-fastboot flash webtop grfs.img
load_file: could not allocate 1400635392 bytes
error: cannot load 'grfs.img'
Seems to me that the webtop partition is to small for grfs.img (only 1GB space)
At the moment even HDMI out from my ATRIX2 do not show any response. :crying:
Click to expand...
Click to collapse
Are you flashing a correct image? Double check.
Sent from my MB865 using Tapatalk 2
duchski said:
Are you flashing a correct image? Double check.
Sent from my MB865 using Tapatalk 2
Click to expand...
Click to collapse
I am using 2.3.6, systemversion 55.28.37.MB865.MERetail.en.06, Build 5.5.1-EDEM-28-37, and webtob WT-1.3.0-176. It is an ATT device.
I tryed the webtop image from
InlineFlashing_edison_5.5.175.25_cfc_p3_APBP.xml.zip
and
Returntostock2.3.5script.zip (edison-user 2.3.5 5.5.1-175_EDFFW1-16 5.51.175.16)
Both with the same error:
C:\Program Files\sdk\platform-tools>moto-fastboot flash webtop "\ATRIX2\Return to stock\grfs.img"
load_file: could not allocate 1400635392 bytes
error: cannot load '\ATRIX2\Return to stock\grfs.img'
C:\Program Files\sdk\platform-tools>fastboot flash webtop "\ATRIX2\Return to stock\grfs.img"
target reported max download size of 1056964608 bytes
Invalid sparse file format at header magi
Perhaps both version should be wrong? Where can I find the right one?
I was able to flash webtop via RDS light 6.0 using following script in InlineFlashing_edison_5.5.175.25_cfc_p3_APBP.xml and ndp.xml
<?xml version="1.0" encoding="UTF-8"?>
<flashing>
<header>
<phone_model model="EDISON" />
<software_version version="edison-user 2.3.6 5.5.1-175_EDMR1.25 5.51.175.25 release-keys2011-11-16 23:52 Off.Bld LUD_EDISON_R1D7_PATCH_36_111116_2336 crh1090280_M570_PC_CARD_RAIN" />
<interfaces>
<interface name="AP" />
</interfaces>
</header>
<steps interface="AP">
<step operation="flash" partition="webtop" filename="grfs.img" MD5="0f5c9e3fae804041d9f21a32b5c4179f" />
</steps>
</flashing>
It seems flashing without any error message.
But it sill not working ... no HDMI signal ...
After all I have to use the "Returntostock2.3.5script.zip" and reinstall my "MERetail-MEARET-55.28.37.zip" ROM and all apps.
Now webtop works and I will do a backup BEFORE I will try webtop2sd again ...
Related
Hi,
Because I don't run Windows nor NetBSD, I rewrote rkflash from scratch with the use of libusb-1.0, so you can now read and write your rk2818-based tablet's flash memory under Linux (also w/o the need to root your tablet). Credit for reverse-engineering the protocol goes to the original author of rkflash (see source).
Small guide
- unzip the file
- compile
Linux (Debian, Ubuntu, ...)
Code:
sudo apt-get install libusb-1.0-0-dev
gcc -o rkflashtool rkflashtool.c -lusb-1.0 -O2 -W -Wall -s
Mac OS X (thanks to surfer63, binary here)
Code:
sudo port install libusb
gcc -I/opt/local/include -I/opt/local/include/libusb-1.0 \
-L/opt/local/lib -o rkflashtool rkflashtool.c -lusb-1.0 -O2 -W -Wall
Preparation
- powerdown your tablet
- disconnect all cables
To get into flash mode differs for many tablets. Google around or use trial and error
- insert the USB cable in computer
- hold vol+ (or put on/off/locked-switch in the locked position)
- insert the other end of your cable in the tablet
- wait a few seconds
- release vol+
Now if you run lsusb, the following line should appear:
Bus 001 Device 044: ID 2207:281a (290a for rk2918 based tablets)
Bus and device number may be different. The screen of your tablet stays black.
The USB device must be readable and writable for the user running rkflashtool. If that's not the case, you'll see an error like this:
Code:
$ ./rkflashtool b
libusb couldn't open USB device /dev/bus/usb/001/048: Permission denied.
libusb requires write access to USB device nodes.
rkflashtool: fatal: cannot open device
This can be fixed in several ways (chmod, run as root, udev rules) but that's beyond the scope of this posting. For now, chmod 666 the device mentioned in the error message.
Usage of rkflashtool
Code:
$ ./rkflashtool
rkflashtool: fatal: usage:
rkflashtool b reboot device
rkflashtool r offset size >file read flash
rkflashtool w offset size <file write flash
offset and size are in units of 512 bytes
On my tablet, the boot partition starts at offset 0x8000 (in blocks of 512 bytes)
Its size is 0x2000 blocks
To backup the partition, issue:
Code:
$ ./rkflashtool r 0x8000 0x2000 >boot.img.backup
rkflashtool: info: interface claimed
rkflashtool: info: reading flash memory at offset 0x00008000
rkflashtool: info: reading flash memory at offset 0x00008020
.......
rkflashtool: info: reading flash memory at offset 0x00009fe0
To write a new boot.img or an old backup back to the device:
Code:
$ ./rkflashtool w 0x8000 0x2000 <boot.img.backup
rkflashtool: info: interface claimed
rkflashtool: info: writing flash memory at offset 0x00008000
rkflashtool: info: writing flash memory at offset 0x00008020
.......
rkflashtool: info: writing flash memory at offset 0x00009fe0
You can find a list of all partitions of your tablet in the HWDEF file, which is inside the update.img for your tablet. If no such file is available, you can also look at /proc/cmdline on a running device (either through adb or a terminal app running on the device itself). Depending on the tablet, you might need root access to view /proc/cmdline. Another option is dumping the first 0x2000 blocks of nand flash by issuing rkflashtool r 0x0000 0x2000 >parm. View the file with hexedit, xxd, or a similar program. The kernel parameters contain a description of several mtd partitions (sizes and offsets).
After reading and writing at will, you can reboot your tablet by issuing
./rkflashtool b
Note that if your tablet has an on/off/locked-switch and it is still in the locked position, rebooting won't work.
If the file you are writing is smaller than the specified size, the rest is padded with zeroes. If it's bigger, it will be truncated. This is different from rkflash, which will overwrite blocks beyond the partition size.
rkflashtool does not support flashing a new bootloader directly.
If you have a different tablet, please try rkflashtool b and r first before flashing (w) something new.
Standard DISCLAIMER with regard to bricking your tablet applies.
Enjoy!
EDIT: better build instructions, clean up text
EDIT2: works on rk2918 tablets too (tested on Arnova 7 G2) if you change the USB product id from 0x281a to 0x290a before compilation
EDIT3: released version 2 of rkflashtool. now supports rk2918 tablets out of the box. if it doesn't find one, it falls back to rk2808/rk2818. also, updated the wording a bit.
EDIT4: new mac osx binary
EDIT5: more ways to find offsets and sizes of partitions on your tablet
EDIT6: small emphasis changes above and...
version 1 is here ONLY for archival purposes or if version 2 does not work on your rk28xx tablet. In all other cases, you need to download rkflashtool-v2.zip
Thanks a lot for this flash tool. I'm on MacOSX and Ubuntu and don't have Windows either. I tried the original rkflash as well but couldn't get it to work. On my Ubuntu boxes your rkflashtool compiles and works fine.
My Archos 7 HT V2 presents itself also as:
Code:
Bus 002 Device 004: ID 2207:281a
Reading partitions works fine and so does writing.
I did a quick modification of a system.img (left some files out) of my custom froyo rom and wrote it to my tablet.
That works fine. As /data is a separate partition I even have all my downloaded apps, data, settings, etc. This makes modifying a new rom much faster then building a complete update.img, flashing it, restore some data and then start testing.
Nice work.
great! finally I can remove one line from my todo list
thank you!
EDIT:
random notes (I don't see your code yet so it may be fixed, then sorry)
* I always specify b(reboot) for rk2818 tablets with my rkflash because it hanged easily if I try to write multiple times without b
* parameter file need to be converted with rkcrc -p. official RKAndroid tools flashed it 5 times with offsets. (read & check 1st 0x0-0x2000 block)
* I logged how to update bootloader, but it's complicated and I could not understand probably bootloader can be updated via misc partition. see update-script in update.img. (but not recommended/no reason to do it)
EDIT2:
there is libusb for Windows and OS X. rkflashtool may work on them.
on Windows, there is RKAndroidTool.exe (not batchupgrade). but "read" function in rkflash/rkflashtool may be useful on some case on Windows
Good to hear it works for others, too! I have not had a hanging tablet after several writes in one session, but this might depend on the tablet.
Thanks for mentioning that it should also work on other platforms supported by libusb. I'd forgotten to do that.
About using update.img to flash a new bootloader, this can be done, but if you brick the tablet by flashing a wrong/faulty bootloader, you can only unbrick it with the Windows tools
Which leads me to the question: could you send me the snooped log of updating the bootloader? Two people see more than one and perhaps we can eventually manage to do this through libusb too.
ivop said:
About using update.img to flash a new bootloader, this can be done, but if you brick the tablet by flashing a wrong/faulty bootloader, you can only unbrick it with the Windows tools
Click to expand...
Click to collapse
probably you also need a needle to short pins of NAND chip
so I don't recommend to flash bootloader
ivop said:
Which leads me to the question: could you send me the snooped log of updating the bootloader? Two people see more than one and perhaps we can eventually manage to do this through libusb too.
Click to expand...
Click to collapse
I made that log several months ago with another windows machine which is not used lately. I'm not sure log is still exist... if I find it, I'll send it to you (but please don't expect)
probably you may also get log on Windows on VM on Linux. it seems VMware has log function (refer http://vusb-analyzer.sourceforge.net/tutorial.html) or there is "usbmon" function in Linux.
actually I didn't try this way myself so it may be wrong, sorry.
I've tryed a couple of firmwares, cooking my own.
Every time after flashing, tablet shows boot animation and after few seconds display becomes dark.
My investigation led me to following:
Log shows:
Code:
ERROR/Lights(865): write_int failed to open /sys/class/backlight/rk28_button_light/brightness
in /sys/class/backlight I found symlink (rk28_bl):
rk28_bl -> ../../devices/platform/rk28_backlight/backlight/rk28_bl
Shouldn't be there another symlink named r28_button_light ?
I'm using MANTA MID001 from Poland.
fun_ said:
EDIT2:
there is libusb for Windows and OS X. rkflashtool may work on them.
Click to expand...
Click to collapse
ivop said:
Good to hear it works for others, too! I have not had a hanging tablet after several writes in one session, but this might depend on the tablet.
Click to expand...
Click to collapse
I did a couple of successive writes as well from ubuntu.
ivop said:
Thanks for mentioning that it should also work on other platforms supported by libusb. I'd forgotten to do that.
Click to expand...
Click to collapse
My main platform is OSX and I immediately added libusb. So far I have not been able to compile rkflashtool despite declaring all kind of CFLAGS, CXXFLAGS and/or LDFLAGS.
Trying a little bit more.
Could you post the compiler warnings/errors here? I might be able to help out.
ivop said:
Could you post the compiler warnings/errors here? I might be able to help out.
Click to expand...
Click to collapse
I managed to compile it. It took a lot of hurdles. I used the build environment I also use for Hugin for which I'm the OSX maintainer.
I now built a single combined 32/64bit (i386/x86_64) rkflashtool that will run on 10.4.x/10.5.x/10.6.x/10.7.x (building multi-architecture, multi-version binaries/libraries in one binary/library is possible on OSX. I'm not going to explain that here but it's a feature of OSX).
The compiled version is attached. You can also attach it to your first post if you like.
It works fine. I did some reading/writing of images without issues.
If you are on OSX and have macports installed, you can do the following to build rkflashtool.
Install libusb from Macports:
Code:
sudo port install libusb
cd into the folder where your rkflashtool.c is is and run the following command:
Code:
gcc -I/opt/local/include -I/opt/local/include/libusb-1.0 \
-L/opt/local/lib -o rkflashtool rkflashtool.c -lusb-1.0 -W -Wall
This will build rkflashtool for your native environment (OSX version, hardware and config).
--- removed the rest of the post as well as the attachments. He/She who is interested in building a complete universal distributable rkflashtool can ask via this thread ---
UPDATE: Works on rk2918 tablet too
Yesterday I have tested the tool on an Arnova 7 G2 tablet, which has an rk2918 CPU. If you change the ProductID before compilation, like this:
... libusb_open_device_with_vid_pid(c, 0x2207, 0x281a) ...
to
... libusb_open_device_with_vid_pid(c, 0x2207, 0x290a) ...
it'll work, except for rebooting the device if the tablet is still locked. To boot the tablet in bootloader mode, turn off the tablet completely, put the on/off-switch in the locked position and connect it to your computer. It should be visible now with lsusb. For further instructions, see first post. I advise dumping the first 0x2000 blocks at offset 0x0000 first as this contains the parameter block in which you can see where each partition starts and how big it is.
ivop said:
UPDATE: Works on rk2918 tablet too
Yesterday I have tested the tool on an Arnova 7 G2 tablet, which has an rk2918 CPU. If you change the ProductID before compilation, like this:
... libusb_open_device_with_vid_pid(c, 0x2207, 0x281a) ...
to
... libusb_open_device_with_vid_pid(c, 0x2207, 0x290a) ...
Click to expand...
Click to collapse
Feature request :
I's nice but could you also make it a startup option, like the b,r,w options, with an if-else option in the source code? Something like (RK)2818 and (RK)2918 and maybe even for the older ones: (RK)2808.
In that case you only need one binary. Users who are going to use the tool will definitely know what CPU they have.
surfer63 said:
Feature request :
I's nice but could you also make it a startup option, like the b,r,w options, with an if-else option in the source code? Something like (RK)2818 and (RK)2918 and maybe even for the older ones: (RK)2808.
In that case you only need one binary. Users who are going to use the tool will definitely know what CPU they have.
Click to expand...
Click to collapse
I released a new version and updated the first post. It now tries to connect to an rk2918 tablet and if it doesn't find one, it falls back to rk2818.
The V2 version works fine too on MacOSX. The compilation is still the same for a "my machine only" version.
I compiled a universal Intel 32bit/64bit 10.4/10.5/10.6/10.7 V2 version as well.
See attached.
Note: I don't have a RK2918 so I can only test for a RK2818 tablet.
Hi,
Thanks for your thread it's very intersting.
I succeed flashing my boot partition with your tool but I don't success in remount,rw my system partition. It's cramFS and in init.rk28board.rc you can see those line :
Code:
# Mount /system rw first to give the filesystem a chance to save a checkpoint
mount cramfs [email protected] /system
mount cramfs [email protected] /system ro remount
I tried everything like replacing ro by rw, deleting the second line but my system stills in ReadOnly, don't understand why. I also tried deleting those lines to test if my flash process works properly and it's worked... So I'm lost. Any idea ?
----
Other thing, if I want to do same as flashing boot partition but with system partition is it possible with the same process ? Unfortunately I don't know the beginning offset of the partition. I don't know where to find HWDEF file. The size of partition is 00038000 (hex) bytes => 229376 (dec) bytes
Here is my /proc/mtd :
Code:
dev: size erasesize name
mtd0: 00002000 00000010 "misc"
mtd1: 00004000 00000010 "kernel"
mtd2: 00002000 00000010 "boot"
mtd3: 00004000 00000010 "recovery"
mtd4: 00038000 00000010 "system"
mtd5: 0003a000 00000010 "backup"
mtd6: 0003a000 00000010 "cache"
mtd7: 00080000 00000010 "userdata"
mtd8: 00534000 00000010 "user"
mtd9: 00020000 00000010 "pagecache"
mtd10: 00020000 00000010 "swap"
Thank you for your great job
My problem is solved. I was searching for a while but ivop gave the answer in a previous post
I advise dumping the first 0x2000 blocks at offset 0x0000 first as this contains the parameter block in which you can see where each partition starts and how big it is.
Click to expand...
Click to collapse
So I did it, after I opened an Hex Editor like GHex on Ubuntu and I can saw this :
Code:
[email protected](misc),
[email protected](kernel),
[email protected](boot),
[email protected](recovery),
[email protected](system),
[email protected](backup),
[email protected](cache),
[email protected](userdata),
[email protected](user)
So system partition starts at E000 and has a length of 38000 (hex) bytes.
Thanks for your help this thread is now in my bookmarks
And really nice job with this flashtool
I pushed latest my rkutils to https://github.com/naobsd/rkutils
rkunpack can unpack RKFW image used in RK2918 ROM, RKAF image (update.img), KRNL/PARM image used in some single partition image. unpack will be done recursively.
rkcrc can make KRNL/PARM images with -k/-p.
rkafpack can make RKAF image. (I need to write docs/howtos...)
little off-topic,
latest RK2918 ROMs which is based on "SDK2.0", new format for boot.img/recovery.img is introduced. it's almost same as common boot.img format for android. unpackbootimg/mkbootimg can be used to unpack/repack it with one exception...
there is SHA1 hash value in header of boot.img (offset 0x240 bytes). Rockchip changes it by some unknown way. normal mkbootimg can't generate same hash value as Rockchip, so we can't make custom boot.img with new format
fortunately, we can split new boot.img, and we can make separate kernel.img and boot.img(ramdisk) like as pre-SDK2.0 RK2918 ROMs, which is loadable with new bootloader in SDK2.0 ROMs.
--
btw I just found interesting one: https://github.com/jhonxie/rk2918_tools
relsyou said:
My problem is solved. I was searching for a while but ivop gave the answer in a previous post
So I did it, after I opened an Hex Editor like GHex on Ubuntu and I can saw this :
Code:
[email protected](misc),
[email protected](kernel),
[email protected](boot),
[email protected](recovery),
[email protected](system),
[email protected](backup),
[email protected](cache),
[email protected](userdata),
[email protected](user)
So system partition starts at E000 and has a length of 38000 (hex) bytes.
Thanks for your help this thread is now in my bookmarks
And really nice job with this flashtool
Click to expand...
Click to collapse
I'll add that to my first post. Also, you can view /proc/cmdline to see a list of partitions. It's part of the kernel command line.
Note that the lengths are not in bytes but in blocks of 512 bytes. This happens to be the same as the requirements of the rkflashtool btw (length in blocks).
As for having a writable system partition, currently the system partition is cramfs which cannot be written to. Ever. If you want a writable system partition, you need to change it to ext3 for example. That means unpacking fun_'s system.img and recreating it as an ext3 partition.
In short:
Unpack cramfs img with cramfsck -x (as root, so you preserve permissions and uid/gid)
Create an empty file the size of your system partition (dd if=/dev/null of=fubar.img bs=512 count=...... et cetera, do the math)
mkfs.ext3 fubar.img
mount -o loop fubar.img /someplacemountable
copy contents of old image to /someplacemountable (use cp -a to preserve ownership etc)
umount
flash fubar.img to system partition
change init.rk28board.rc to reflect the changes
reflash boot.img
reboot device
This is untested, but should work in theory.
Another option is to keep the system partition read-only and use unionfs to overlay a writable partition. I'm not sure if this can be a file on your userdata partition mounted with -o loop, but I suppose it can. This depends on your kernel having unionfs and loopback support though.
fun_ said:
I pushed latest my rkutils to https://github.com/naobsd/rkutils
Click to expand...
Click to collapse
Nice! I was thinking about creating an rkpack(tool ) myself, but I see it's not necessary anymore.
here is an example for rkafpack
Code:
$ rkunpack N3NET-2.3-20110722.img
[COLOR="Red"][B]FIRMWARE_VER:1.0.0[/B][/COLOR]
[COLOR="Red"][B]MACHINE_MODEL:rk2818sdk[/B][/COLOR]
MACHINE_ID:
[COLOR="Red"][B]MANUFACTURER:rock-chips[/B][/COLOR]
unpacking 12 files
-------------------------------------------------------------------------------
00000800-00000fff [COLOR="Red"][B]HWDEF:HWDEF[/B][/COLOR] 797 bytes
00001000-000017ff [COLOR="Red"][B]package-file:package-file[/B][/COLOR] 532 bytes
00001800-00021fff [COLOR="Red"][B]bootloader:RK28xxLoader(L).bin[/B][/COLOR] 131700 bytes
00022000-000227ff [COLOR="Red"][B]parameter:parameter:[email protected][/B][/COLOR] 506 bytes
00022800-0002e7ff [COLOR="Red"][B]misc:Image/misc.img:[email protected][/B][/COLOR] 49152 bytes
0002e800-0066bfff [COLOR="Red"][B]kernel:Image/kernel.img:[email protected][/B][/COLOR] 6541946 bytes
0066c000-006947ff [COLOR="Red"][B]boot:Image/boot.img:[email protected][/B][/COLOR] 163844 bytes
00694800-008e8fff [COLOR="Red"][B]recovery:Image/recovery.img:[email protected][/B][/COLOR] 2441220 bytes
008e9000-085fc7ff [COLOR="Red"][B]system:Image/system.img:[email protected][/B][/COLOR] 131149828 bytes
----------------- [COLOR="Red"][B]backup:SELF:[email protected][/B][/COLOR] (N3NET-2.3-20110722.img) 140498948 bytes
085fc800-085fcfff [COLOR="Red"][COLOR="Red"][B]update-script:update-script[/B][/COLOR][/COLOR] 1294 bytes
085fd000-085fd7ff [COLOR="Red"][B]recover-script:recover-script[/B][/COLOR] 266 bytes
-------------------------------------------------------------------------------
unpacked
$ rkafpack \
[COLOR="Red"][B]FIRMWARE_VER:1.0.0[/B][/COLOR] \
[COLOR="Red"][B]MACHINE_MODEL:rk2818sdk[/B][/COLOR] \
[COLOR="Red"][B]MANUFACTURER:rock-chips[/B][/COLOR] \
[COLOR="Red"][B]HWDEF:HWDEF[/B][/COLOR] \
[COLOR="Red"][B]package-file:package-file[/B][/COLOR] \
'[COLOR="Red"][B]bootloader:RK28xxLoader(L).bin[/B][/COLOR]' \
[COLOR="Red"][B]parameter:parameter:[email protected][/B][/COLOR] \
[COLOR="Red"][B]misc:Image/misc.img:[email protected][/B][/COLOR] \
[COLOR="Red"][B][B]kernel:Image/kernel.img:[email protected][/B][/B][/COLOR] \
[COLOR="Red"][B]boot:Image/boot.img:[email protected][/B][/COLOR] \
[COLOR="Red"][B]recovery:Image/recovery.img:[email protected][/B][/COLOR] \
[COLOR="Red"][B]system:Image/system.img:[email protected][/B][/COLOR] \
[COLOR="Red"][B]backup:SELF:[email protected][/B][/COLOR] \
[COLOR="Red"][B]update-script:update-script[/B][/COLOR] \
[COLOR="Red"][B]recover-script:recover-script[/B][/COLOR] \
> new.img
$ sha1sum N3NET-2.3-20110722.img new.img
e758a6c47dca7f09f0b8a82ad89b0cd7c7c8e826 N3NET-2.3-20110722.img
e758a6c47dca7f09f0b8a82ad89b0cd7c7c8e826 new.img
some values are empty in RK2818 ROM.
--
here is how to make RKFW image
Code:
$ rkunpack N50-2.3-20111103-ZZ-SDK2.0.img
VERSION:2.0.3
unpacking
00000000-00000065 N50-2.3-20111103-ZZ-SDK2.0.img-HEAD 102 bytes
00000066-00022623 N50-2.3-20111103-ZZ-SDK2.0.img-BOOT 140734 bytes
00022624-0c342627 update.img 204603396 bytes
unpacking update.img
================================================================================
FIRMWARE_VER:0.2.3
MACHINE_MODEL:rk29sdk
MACHINE_ID:007
MANUFACTURER:RK29SDK
unpacking 10 files
-------------------------------------------------------------------------------
00000800-00000fff package-file:package-file 540 bytes
00001000-000237ff bootloader:RK29xxLoader(L)_V2.08.bin 140734 bytes
00023800-00023fff parameter:parameter:[email protected] 610 bytes
00024000-0002ffff misc:Image/misc.img:[email protected] 49152 bytes
00030000-006a3fff boot:Image/boot.img:[email protected] 6766592 bytes
006a4000-01167fff recovery:Image/recovery.img:[email protected] 11288576 bytes
01168000-0c31efff system:Image/system.img:[email protected] 186346496 bytes
----------------- backup:SELF:[email protected] (update.img) 204603396 bytes
0c31f000-0c31f7ff update-script:update-script 933 bytes
0c31f800-0c31ffff recover-script:recover-script 266 bytes
-------------------------------------------------------------------------------
================================================================================
00022624-0c342627 N50-2.3-20111103-ZZ-SDK2.0.img-MD5 32 bytes
unpacked
$ cat N50-2.3-20111103-ZZ-SDK2.0.img-HEAD N50-2.3-20111103-ZZ-SDK2.0.img-BOOT update.img > new.img
$ md5sum new.img
[COLOR="Red"][B]5191abc65649eacf8d2476e37d84a046[/B][/COLOR] new.img
$ cat N50-2.3-20111103-ZZ-SDK2.0.img-MD5
5191abc65649eacf8d2476e37d84a046
$ echo -n [COLOR="Red"][B]5191abc65649eacf8d2476e37d84a046[/B][/COLOR] >> new.img
$ sha1sum N50-2.3-20111103-ZZ-SDK2.0.img new.img
3120b13df8886e0ddfae0e35379443c27c925572 N50-2.3-20111103-ZZ-SDK2.0.img
3120b13df8886e0ddfae0e35379443c27c925572 new.img
To those of you who followed link here: don't rush ahead and execute adb command. Read the thread in its entirety, since it contains typos and trial n error.
Gl, hf
Hi. I've been stupid. U may flame me but plz also provide some advice to swallow it with.
I followed bad advice and flashed cwm 5xxxx. After that tried to run superwipe, which got stuck after a few steps. To my horror i realized i had run it from internal. Of course it wiped itself and i got stuck mid-partinioning i think.
Since cwm don't read ext sd i tried to push new recovery via easyflasher, but i can't seem to get a driver that lets my pc interact with the device.
Instead discovered i have adb acess if connected when device is in cwm. From there tried to run PERI v 0.4. At first step, trying to push recovery i get a message of no space available. I think this is due to borked partitioning with superwipe. I guess I can repartition with cwm, but now I've messed so much up I don't wanna do anything more without proper advice.
Thanks
bump
If you have adb access, then use it to push a new rom.
"adb push {shiny new rom or recovery} /sdcard/"
You might have to change /sdcard/ to whatever cwm 5x uses?
Then you can just flash it from cwm.
EDIT: I just saw that you have the tf101G - it might work, but you probably have to find the right rom or recovery.
sent from my transformer
gee one said:
If you have adb access, then use it to push a new rom.
"adb push {shiny new rom or recovery} /sdcard/"
You might have to change /sdcard/ to whatever cwm 5x uses?
Then you can just flash it from cwm.
EDIT: I just saw that you have the tf101G - it might work, but you probably have to find the right rom or recovery.
sent from my transformer
Click to expand...
Click to collapse
Good advice, problem is that im not very savvy. How do i execute that command and what if i need to repartition the internal sd?
When running oneclickrecovery i get following prompts:
Uh-oh! I'm softbricked or have a recovery-bootloop! D:
Never fear sir and/or madam! PERI is here! -trips-
Adb needs to be fully working for this to work properly.
Note that this will wipe your current recovery.
Also note that this may not work, don't taze me bro!
Run? Close if you want to cancel.
Press any key to continue . . .
List of devices attached
0123456789ABCDEF recovery
If you see your device here this will work, if not fix adb.
Press any key to continue . . .
running fix...
dd: writing '/dev/block/mmcblk0p3': No space left on device
4097+0 records in
4096+0 records out
2097152 bytes (2.0MB) copied, 0.345431 seconds, 5.8MB/s
rebooting tab, if at any step it doesn't reboot turn off and turn back on
Once back into an adb possible state continue...
Press any key to continue . . .
Pushing new recovery...
1331 KB/s (4599884 bytes in 3.374s)
Running wolf's exploit...
mv: can't rename '/data/local/tmp': No such file or directory
Going...
ln: /data/local/tmp: No such file or directory
Done!
Now lets reboot your TF again...
Continue when back into ADB again...
Press any key to continue . . .
Flashing new recovery...
dd: can't open '/sdcard/recoveryblob': No such file or directory
Done!
Continue to reboot your tab, do the button combination to test recovery.
(Hold volume-down as it's rebooting and press vol-up to enter recovery)
Press any key to continue . . .
Hopefully that fixed everything!
Press any key to continue . . .
Of course nothing was fixed and I still have cwm 5xxx which can't flash from ext sd. If I can only get another recovery I can flash any rom and that's that.
In device manager the device shows up as android adb interface when booted into cwm. I also have a device named android composite adb interface, but with a warning sign on it.
This is getting tiresome...
Edit: tried using quick adb pusher, but get message that i cant mount as r/w. In cwm cant mount data or sdcard/.android_secure.
Fun thing is I dont have root either.
It looks like your partitions are unformatted.
I think you need to get to a root shell via adb in recovery
- put your phone on recovery and plug into your computer
- type "adb remount" (you might get an error) then type "adb shell"
- you'll be in a terminal shell
- type "mount" to see how/what your sdcard is doing. Look for the line that has /sdcard on it. It might be something like /dev/block/mmcblk0p1 mounted at /sdcard blah blah...
- now to format your sdcard, type "mke2fs /dev/blah/whereever/your/sdcard/is/mounted/from/above"
- allow it to complete and type "exit". you might have to reboot your tab to get everything to remount
- once your tqab is back in recovery, type on your computer "adb push [some new recovery that uses the external sdcard or a new rom] /sdcard"
- if you have recovery bootloops, google around, there is a fix that wipes the reboot command from the misc partition. You can type it from an adb shell it's something like "dd if=/dev/block/zero of=/be/carefule/because/you/have/a/tf101G bs=1 count=13"
- Google is your friend. Linux is your friend. This is a bit of a high level overview, so you'll have to fill in the details yourself. Keep in mind that I don't have a tf101G and I never tried this before (a benefit of never using superwipe!)
Good luck!
OK. I'd like to try the method u describe but as I mentioned I'm really not tech savvy. I don't even know how to get to the point where I type "adb remount". Do I just open a cmd prompt? Tried that - didn't work.
I have downloaded sdk manager for when I did some stuff with my phone earlier and have the basic packages installed.
Are you on Windows? I think it's a path issue. You either need to put everything in the same folder and run everything from there or put adb in your path. I don't use Windows, so that's probably the best advice I can give you. "which adb" and "echo $PATH" probably won't work in Windows like they do in linux.
Ehm.. too techie answer for me to comprehend.
Yes I'm on win 7.
Put what in same folder as what?
Run from there by right clicking empty space in folder and choosing cmd?
What do you mean by putting adb in my path?
For some reason, lots of people on windows just put the recovery/rom and adb in the same folder and run it from there in the command prompt. Put it all in one place and use the cd command in the terminal to get there.
sent while running with scissors
Lol. Don't cut urself man. I might need your help again
I'll try later when kids asleep.
Allright. Learning curve is steep but im clinging on to it:
C:\Program Files (x86)\Android\android-sdk\platform-tools>adb remount
* daemon not running. starting it now on port 5037 *
* daemon started successfully *
remount failed: Success
C:\Program Files (x86)\Android\android-sdk\platform-tools>adb shell
~ # mount
mount
rootfs on / type rootfs (rw)
tmpfs on /dev type tmpfs (rw,nosuid,relatime,mode=755)
devpts on /dev/pts type devpts (rw,relatime,mode=600)
proc on /proc type proc (rw,relatime)
sysfs on /sys type sysfs (rw,relatime)
/dev/block/mmcblk0p2 on /cache type ext4 (rw,nosuid,nodev,relatime,user_xattr,ac
l,barrier=1,data=ordered)
~ # mke2fs /dev/block/mmcblk0p2
mke2fs /dev/block/mmcblk0p2
mke2fs 1.41.11 (14-Mar-2010)
/dev/block/mmcblk0p2 is apparently in use by the system; will not make a filesys
tem here!
~ # exit
exit
C:\Program Files (x86)\Android\android-sdk\platform-tools>
Any ideas?
You're almost there... You're /cache partition is already formatted (ext4) Be careful since you can really mess things up with the wrong commands or mis-typed commands.
It looks like you need to mount your sdcard manually. I'm not sure which partition it is. I'll check the stock rom in a little while- I have to run some errands while it downloads.
OK, I downloaded the stock rom and had a look at the /etc/recovery.fstab file in the stock recovery. Should be what we need.
Put your tablet in recovery. Then, in a windows terminal, type "adb remount" and then "adb shell" This wil put you into an android terminal. I don't know if you need read/write permissions in CWM? Who knows? Typing commands in here is the same as typing commands on your tablet (if anyone used the command line any more).
type "ls /dev/block/" and you should see a long list of - look for mmcblk1p1 or mmcblk1. It will probably be the first one.
type "ls /" and look for /sdcard. If it's not there type "mkdir /sdcard" This step creates the mount point if it doesn't exist.
Now type "mount /dev/mmcblk1p1 /sdcard" - Substitute whichever one is in your /dev/block directory from above.
EDIT: If you get errors that it's not formatted or "specify the type" then we'll have to format it first. "mke2fs /dev/block/mmcblk1p1"
Now, in a different windows terminal, type "adb push [a new rom/recovery] /sdcard/"
In CWM, you should be able to flash whatever you pushed there.
If it flashes, but you get bootloops or boot back into CWM, you probably have the dreaded CWM bootloops. You can fix that by typing "dd if=/dev/zero of=/dev/block/mmcblk0p3 bs=1 count=15" in the terminal as the first step after "adb shell" For this you will need root access (with the # prompt, not $) Type "su" if you don't ahve the # prompt. It might work? Note that this is experimental and wipes out a bit of your misc partition. I have no idea of what else is on there, so there might be unintended consequences.
C:\Program Files (x86)\Android\android-sdk\platform-tools>adb remount
remount failed: Success
C:\Program Files (x86)\Android\android-sdk\platform-tools>adb shell
~ # ls /dev/block/
ls /dev/block/
loop0 loop3 loop6 mmcblk0p1 mmcblk0p4 mmcblk0p7 platform
loop1 loop4 loop7 mmcblk0p2 mmcblk0p5 mmcblk1
loop2 loop5 mmcblk0 mmcblk0p3 mmcblk0p6 mmcblk1p1
~ # ls /
ls /
cache proc system
data res tmp
default.prop root ueventd.goldfish.rc
dev sbin ueventd.rc
etc sdcard ueventd.ventana.rc
init staging
init.rc sys
~ # mount /dev/mmcblk1p1 /sdcard
mount /dev/mmcblk1p1 /sdcard
mount: mounting /dev/mmcblk1p1 on /sdcard failed: No such file or directory
~ #
I tried pushing anyway, but can't still mount sdcard on cwm from pad interface.
As for the sdcard contents, I have nothing there that can't be deleted.
use "mount /dev/block/mmcblk1p1 /sdcard" No need to repeat the ls commands.
Sorry for not answering rapidly. Baby chose this night to be at his worst.
First
C:\Program Files (x86)\Android\android-sdk\platform-tools>adb remount
remount failed: Success
C:\Program Files (x86)\Android\android-sdk\platform-tools>adb shell
~ # mount /dev/block/mmcblk1p1 /sdcard
mount /dev/block/mmcblk1p1 /sdcard
~ #
New cmd
C:\Program Files (x86)\Android\android-sdk\platform-tools>adb push cwm-6.0.1.2-t
ouch-external.zip /sdcard/
1332 KB/s (5070063 bytes in 3.715s)
C:\Program Files (x86)\Android\android-sdk\platform-tools>
Can't mount sdcard frow cwm. Can I also flash new rck manually?
Tried reboot and mounting again manually, but cwm won't mount.
Maybe try "mount /dev/block/mmcblk1 /sdcard" ???
I get invalid argument on that command.
What if we forget cwm and try format to default partinioning and push stock?
You could try pushing the stock rom to your tablet and then flashing it via the staging partition. The rom is about 522M, so you might need the sd card, but otherwise, you can push it anywhere it will fit. Staging partition is /dev/block/mmcblk0p4. Google around, the info is certainly in this forum. As long as you can get a root shell via adb, you can flash it. The stock rom is on the Asus sight. Just keep unzipping it until you see the blob file.
Of course, you can flash anything you want via the staging partition, if it's packed in a blob format. You might consider flashing a rooted rom instead of the stock.
I have stock on hd. Shall I mount staging via same commands as i mounted sdcard? Push there via adb. Then what command to flash the blob? The blob has no file extension. Shall i keep it that way?
Edit: ok i tried to unpack the recoveryblob from my desired version of cwm, but tool stopped working during process of writing recoveryblob.sos. I got the tool here http://forum.xda-developers.com/showpost.php?p=21620550&postcount=24
Next problem:
C:\Program Files (x86)\Android\android-sdk\platform-tools>adb remount
remount failed: Success
C:\Program Files (x86)\Android\android-sdk\platform-tools>adb shell
~ # mount /dev/block/mmcblk0p4
mount /dev/block/mmcblk0p4
mount: can't find /dev/block/mmcblk0p4 in /etc/fstab
~ #
Edit 2: I finally managed to get apx working if it somehow can help.
SL 101 with cwm. on ICS.
I have tried over and over and many different ways to figure this out.... here is what's happening.
"power on" is stuck in splash screen and WILL NOT recognize on my PC as a device or in ADB
"power + vol down" grants me recovery mode which WILL recognize.
SD card will not mount to device. (i purchased brand new)
Cannot seem to push any files to internal storage... this is what my CMD looks like.
---------------------------------------
adb devices =
list of devices attached
0123456789abcdef recovery
C:\Users\me\Desktop\Android>adb push C:\Users\me\Desktop\US_epad-user-9.2.1.27.1.zip /sdcard/Download/
---------------------------------------
When I hit enter it does nothing but go to the space below and won't let me type anything.
I have tried PERI which didn't work because when it starts rebooting my device it just boots to the splash screen where it won't recognize on my PC
PLEASE any help I'm ripping my hair out here!
I have got the same problem, which is mentioned here: http://forum.xda-developers.com/showthread.php?t=2244728
Now I am trying to discover which of the mounting points are internal sdcard and data, so I would be able to format them and I hope that this will fix my problem.
You are also unlucky because Slider and TF101G versions of the tablet doesn't support NVflash: http://forum.xda-developers.com/showthread.php?t=1688447
They support but ASUS hasn't provided developers with the keys: http://androidroot.mobi/technical/tf-secure-boot-key/
Sincerely,
Žiga
ZigaG said:
I have got the same problem, which is mentioned here: http://forum.xda-developers.com/showthread.php?t=2244728
Now I am trying to discover which of the mounting points are internal sdcard and data, so I would be able to format them and I hope that this will fix my problem.
But since you have got the TF101 version (not G or slider) of the tablet, you can try to use NVflash: http://forum.xda-developers.com/showthread.php?t=1688447
Sincerely,
Žiga
Click to expand...
Click to collapse
I do have the slider and would prefer to find help pertaining to that but it seems there are way more guides on the TF101 not SL101
It specifically says you cannot use the NVflash for sl101....
Sorry, I misread it. I fixed my post.
ZigaG said:
I have got the same problem, which is mentioned here: http://forum.xda-developers.com/showthread.php?t=2244728
Now I am trying to discover which of the mounting points are internal sdcard and data, so I would be able to format them and I hope that this will fix my problem.
You are also unlucky because Slider and TF101G versions of the tablet doesn't support NVflash: http://forum.xda-developers.com/showthread.php?t=1688447
They support but ASUS hasn't provided developers with the keys: http://androidroot.mobi/technical/tf-secure-boot-key/
Sincerely,
Žiga
Click to expand...
Click to collapse
So does that mean I'm stuck until something comes out? Or is there an alternative route.
chchas said:
So does that mean I'm stuck until something comes out? Or is there an alternative route.
Click to expand...
Click to collapse
You can check the file /proc/mtd and /proc/mounts and upload it here, so I can see if we are dealing with the same problem. You can try to mount external sdcard.
While in ADB use:
Code:
adb pull /proc/mtd backup/
adb pull /proc/mounts backup/
This will copy this 2 files to folder backup.
Žiga
ZigaG said:
You can check the file /proc/mtd and /proc/mounts and upload it here, so I can see if we are dealing with the same problem. You can try to mount external sdcard.
While in ADB use:
Code:
adb pull /proc/mtd backup/
adb pull /proc/mounts backup/
This will copy this 2 files to folder backup.
Žiga
Click to expand...
Click to collapse
remote object '/proc/mtd' does not exist
remote object '/proc/mounts' not a file or directory
chchas said:
remote object '/proc/mtd' does not exist
remote object '/proc/mounts' not a file or directory
Click to expand...
Click to collapse
Strange!? What is outputted if you write:
Code:
adb shell ls
ZigaG said:
Strange!? What is outputted if you write:
Code:
adb shell ls
Click to expand...
Click to collapse
cache ---- init.rc ---- sys
data ---- proc ---- system
default.prop ---- res ---- tmp
dev ---- root --- ueventd.goldfish.rc
etc --- sbin --- ueventd.rc
fstab.ventana --- sdcard--- ueventd.ventana.rc
init --- staging---
chchas said:
cache ---- init.rc ---- sys
data ---- proc ---- system
default.prop ---- res ---- tmp
dev ---- root --- ueventd.goldfish.rc
etc --- sbin --- ueventd.rc
fstab.ventana --- sdcard--- ueventd.ventana.rc
init --- staging---
Click to expand...
Click to collapse
OK, do you have busybox installed?
Can you post files: (-> adb pull... or you can insert external SDCARD and copy the files on it)
- /etc/fstab? -> here is written which partition is mounted as sdcard, system, data...
- /proc/partitions -> here are listed all the partitions that you have on the tablet.
Sincerely,
Žiga
ZigaG said:
OK, do you have busybox installed?
Can you post files: (-> adb pull... or you can insert external SDCARD and copy the files there)
- /etc/fstab? -> here is writted which partition is mounted as sdcard, system, data...
- /proc/partitions -> here are listed all the partitions that you have on tablet
Sincerely,
Žiga
Click to expand...
Click to collapse
I do not have busy box. and cannot install any new apps on tablet as far as I know... unless downloading on my computer will send it to my tablet? still wouldn't be able to open anything.
I'm a little confused about
Can you post files: (-> adb pull... or you can insert external SDCARD and copy the files there)
-/etc/fstab -> here is writted which partition is mounted as sdcard, system, data...
- /proc/partitions -> here are listed all the partitions that you have on tablet
should i write in cmd adb pull /etc/fstab/ ?
Sorry I feel like i need someone to hold my hand while i do this. I am so frustrated with the millions of different ways I've tried but it seems I have a very unique problem that doesn't have many helps vids/threads out there.
chchas said:
I do not have busy box. and cannot install any new apps on tablet as far as I know... unless downloading on my computer will send it to my tablet? still wouldn't be able to open anything.
I'm a little confused about
Can you post files: (-> adb pull... or you can insert external SDCARD and copy the files there)
-/etc/fstab -> here is writted which partition is mounted as sdcard, system, data...
- /proc/partitions -> here are listed all the partitions that you have on tablet
should i write in cmd adb pull /etc/fstab/ ?
Sorry
Click to expand...
Click to collapse
You can try, but without / at the end of fstab since fstab is not directory but file.
Code:
PULL usage: adb pull "file on tablet" "copy to remote machine"
adb pull /etc/fstab backup/fstab
adb pull /proc/partitions backup/partitions
If this doesn't work, you can insert micro SD in tablet and use adb shell to write linux commands.
Sincerely,
Žiga
ZigaG said:
You can try, but without / at the end of fstab since fstab is not directory but file.
Code:
PULL usage: adb pull "file on tablet" "copy to remote machine"
adb pull /etc/fstab backup/fstab
adb pull /proc/partitions backup/partitions
If this doesn't work, you can insert micro SD in tablet and use adb shell to write linux commands.
Sincerely,
Žiga
Click to expand...
Click to collapse
fstab gave me
17 kb/s <108 bytes in 0.006s>
proc/partitions
60 kb/s <374 bytes in 0.006s>
not sure where i'll need to go to figure out which linux commands would need to be done...
chchas said:
fstab gave me
17 kb/s <108 bytes in 0.006s>
proc/partitions
60 kb/s <374 bytes in 0.006s>
not sure where i'll need to go to figure out which linux commands would need to be done...
Click to expand...
Click to collapse
OK, I see. This is only time needed for transfer.
Go to your folder, where you have got adb.exe (you can search with windows). There is created new folder backup, where you can find fstab and partitions. Upload the files or open them with notepad++ or regular notepad and paste the content of files here (it is the best to use #-tag in the editor of the post so the code is easier to read.)
Sincerely,
Žiga
ZigaG said:
OK, I see. This is only time needed for transfer.
Go to your folder, where you have got adb.exe (you can search with windows). There is created new folder backup, where you can find fstab and partitions. Upload the files or open them with notepad++ or regular notepad and paste the content of files here (it is the best to use #-tag in the editor of the post so the code is easier to read.)
Sincerely,
Žiga
Click to expand...
Click to collapse
fstab -
#-tag /dev/block/mmcblk0p2 /cache ext4 rw
/dev/block/mmcblk0p7 /data ext4 rw
/dev/block/mmcblk0p1 /system ext4 rw
partitions
#-tag major minor #blocks name
179 0 15097856 mmcblk0
179 1 524288 mmcblk0p1
179 2 542208 mmcblk0p2
179 3 2048 mmcblk0p3
179 4 542208 mmcblk0p4
179 5 5120 mmcblk0p5
179 6 512 mmcblk0p6
179 7 13457920 mmcblk0p7
179 8 15558144 mmcblk1
179 9 15554048 mmcblk1p1
chchas said:
fstab -
#-tag /dev/block/mmcblk0p2 /cache ext4 rw
/dev/block/mmcblk0p7 /data ext4 rw
/dev/block/mmcblk0p1 /system ext4 rw
partitions
#-tag major minor #blocks name
179 0 15097856 mmcblk0
179 1 524288 mmcblk0p1
179 2 542208 mmcblk0p2
179 3 2048 mmcblk0p3
179 4 542208 mmcblk0p4
179 5 5120 mmcblk0p5
179 6 512 mmcblk0p6
179 7 13457920 mmcblk0p7
179 8 15558144 mmcblk1
179 9 15554048 mmcblk1p1
Click to expand...
Click to collapse
OK thank you, I will analyse and compare the files with mine and from other TF's. But so far, I discovered, that TF's don't have special partition for data as on other Android devices and this probably causes problem.
For posting code, you can use [ CODE ] You write here code [ /CODE ] - write CODE in brackets without spaces. In post editor there is a sign # for indicating code.
You can try mounting /dev/block/mmcblk0p7 to a folder:
Code:
adb shell
mkdir NEW
mount /dev/block/mmcblk0p7 NEW
It probably won't work and this will indicate, that we are issuing the same problem.
Sincerely,
Žiga
ZigaG said:
OK thank you, I will analyse and compare the files with mine and from other TF's. But so far, I discovered, that TF's don't have special partition for data as on other Android devices and this probably causes problem.
For posting code, you can use [ CODE ] You write here code [ /CODE ] - write CODE in brackets without spaces. In post editor there is a sign # for indicating code.
You can try mounting /dev/block/mmcblk0p7 to a folder:
Code:
adb shell
mkdir NEW
mount /dev/block/mmcblk0p7 NEW
It probably won't work and this will indicate, that we are issuing the same problem.
Sincerely,
Žiga
Click to expand...
Click to collapse
Code:
adb shell mount/dev/block/mmcblk0p7
/sbin/sh: adb not found
chchas said:
Code:
adb shell mount/dev/block/mmcblk0p7
/sbin/sh: adb not found
Click to expand...
Click to collapse
Use commands as I wrote them:
This will connect to your tablet and access tablet's terminal commands
Code:
adb shell
You need to create new folder to which you will mount partition
Code:
mkdir /NEW
Now you only need to mount the partition
Code:
mount /dev/block/mmcblk0p7 /NEW
Did you have external sdcard attached, when you uploaded file partitions?
ZigaG said:
Use commands as I wrote them:
This will connect to your tablet and access tablet's terminal commands
Code:
adb shell
You need to create new folder to which you will mount partition
Code:
mkdir /NEW
Now you only need to mount the partition
Code:
mount /dev/block/mmcblk0p7 /NEW
Did you have external sdcard attached, when you uploaded file partitions?
Click to expand...
Click to collapse
I don't remember partitioning the SD card. I did not have an SD card when I rooted.
I followed the code lines and it only came back as ~ #
chchas try this http://forum.xda-developers.com/showthread.php?t=2244728.
If you have any questions feel free to ask.
Have a nice day,
Žiga
Hello.
I wanna install CM 10.2 on my KFHD7. It's unofficialy suported and my friend did it. So i try install second bootloader from this tutorial. Everything went well. All hashes matched. But when i faced this
Code:
adb push stack /sdcard
i get error
Code:
$ ./stuff/adb push stack /sdcard
failed to copy 'stack' to '/sdcard': Is a directory
The file stack is in current directory and md5sum match (3cee2b7f3233fc3a1e10373677b8c1a9) and its' size is 4096 bytes and its' content is as follows
Code:
$ cat stack
P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�P|�
And when I list directories on my KFHD7, i can see this file there size 4096 and same content.
So the question is is everything fine or I've made a mistake somewhere? If it's my fault, what is wrong?
Thanks beforehand.
Hello all,
My Chinese notwellknown phone model does not have TWRP, but I have made live TWRP/CWM (yes both) backup files:
system.ext4.win (TWRP) and its md5
system.ext4.tar and (CWM) and its md5.
If one day, I have a bootloop and want to restore those file via Bootloader: (Power button & Vol-)
then: fastboot -S 130M flash system system.img
So how do I create a "system.img" from one of the files above (system.ext4.win or system.ext4.tar) ?
A) Before someone sidetrack the topic, I have done MANY TIMES SUCCESSFULLY the command: fastboot -S 130M flash system "stock-system-file.img" with this phone ( .img extracted from stock zip/tar). (* 1)
B) I didn't ask: "Is there other way to restore ?" I asked: How to convert *.ext4.win (twrp) or *.ext4.tar (cwm) files to .img files just like the ones uncompressed from a stock zip/tar.
(*1) Of course there are other ways to restore, like temporarily fastboot boot twrp.img then restore from there or from twrp>adb. But that's not what the question is asking.
........... Thank you everyone ...........
sintoo said:
Hello all,
My Chinese notwellknown phone model does not have TWRP, but I have made live TWRP/CWM (yes both) backup files:
system.ext4.win (TWRP) and its md5
system.ext4.tar and (CWM) and its md5.
If one day, I have a bootloop and want to restore those file via Bootloader: (Power button & Vol-)
then: fastboot -S 130M flash system system.img
So how do I create a "system.img" from one of the files above (system.ext4.win or system.ext4.tar) ?
A) Before someone sidetrack the topic, I have done MANY TIMES SUCCESSFULLY the command: fastboot -S 130M flash system "stock-system-file.img" with this phone ( .img extracted from stock zip/tar). (* 1)
B) I didn't ask: "Is there other way to restore ?" I asked: How to convert *.ext4.win (twrp) or *.ext4.tar (cwm) files to .img files just like the ones uncompressed from a stock zip/tar.
(*1) Of course there are other ways to restore, like temporarily fastboot boot twrp.img then restore from there or from twrp>adb. But that's not what the question is asking.
........... Thank you everyone ...........
Click to expand...
Click to collapse
Here is a thread for converting TWRP/CWM backups into a flashable zip. I know you aren't looking for how to create a flashable zip but the guide instructs how to extract the system.ext4.win and system.ext4.tar to get the system.img from the backup, this is the part that you need.
https://forum.xda-developers.com/showthread.php?t=2746044
Sent from my SM-S767VL using Tapatalk
first, system.img usually can be downloaded somewhere, no need to restore twrp backup for system. don't you think you will find a download? second, if you restore system you may required to restore vendor and boot too. boot.emmc.win can be flashed from fastboot directly, but for vendor you need to convert. the same way. third, system.img can have different formats. you need to know which file system type, partition size, and if it is sparsed image or not. file system type is EXT4 in your case because twrp backup is named system.ext4.win
for "converting" the system.ext4.win* file(s) into system.img you do it in two steps. first you need to create a empty ext4 image file. after the empty disk image is mounted somewhere, you simply unpack the backup files into the mounted disk. so it's not really converting, more like copying.
You need a linux machine for this
so let's begin with partition size
on a working device you can simply check from system or recovery. find the symlink, resolve the symlink for system, get #blocks (=size) for respective block partition, for example mmcblk0p99
for some reason xda blocks code for ls -l (lower case -L there is no space between)
Code:
find /dev/block -name by-name
ls - l /dev/block/platform/bootdevice/by-name
cat /proc/partitions
Note: the above commands need to be run on target android device only. use adb shell or terminal emulator. all other commands below need to be run on host linux pc
if gathering partition size on the device itself is not an option for you, if you have a mediatek chipset you can simply look into scatter file. OTA zip files most likely contain scatter file. if you don't have a scatter file for your ROM version, you can create your own scatter file with WwR MTK
use hex2dec calculator for partition_size: 0x9C800000 = 2625634304 bytes = 2564096 KiB (#blocks)
if you don't have mediatek device i am running out of ideas. you can boot into twrp from fastboot and check, or find a ROM and check the file size hopefully it is not a sparsed image.
Once you know the partition size, now proceed to create a empty file (avoid to do this on fat32 host if size is bigger > 4 GiB)
and format the file to ext4 (or f2fs if needed)
Code:
dd if=/dev/zero of=system.img bs=1 count=0 seek=2625634304
mke2fs -t ext4 system.img
if all went well you can create a mount point on host and mount the empty disk image. the following commands need to be run with root permissions. you can do it from sudo or as root
Code:
mkdir system
sudo -i
cd /home/$SUDO_USER
mount -t ext4 -o loop,rw,noexec,noatime system.img system
you can now unpack the tar files into system. make sure the folder structure remains intact, if the archive contains the folder /system you should unpack to ~ (this will create all files in ~/system) otherwise you need to unpack to ~/system (or cd into ~/system)
for cwm all files need to be concatenated. for twrp do not concatenate each file is a standalone tar archive. if you have android > kitkat 4.4.2+ make sure you use the proper flags for selinux context
Code:
tar --selinux --xattrs --numeric-owner -vxpf system.ext4.win000
tar --selinux --xattrs --numeric-owner -vxpf system.ext4.win001
or
Code:
cat system.ext4.tar000 system.ext4.tar001 | tar --selinux --xattrs --numeric-owner -vxp
the unpacking may produce errors malformed header or something, make sure all files extracted anyway. i have read somewhere better use star instead of tar which can handle twrp files in the right way, unfortunately haven't tested yet
to avoid any problems with permissions you should check/set for system again
Code:
chown -h 1000:1000 system
chmod 0755 system
chcon -h --reference system/bin system
after unpacking just unmount the disk image
Code:
umount system
rmdir system
exit
If you want to create a sparse image you can use the img2simg tool
Code:
sudo apt-get install android-tools-fsutils
img2simg system.img system.smg
This method is just written on the fly especially for your request, everything untested. I really don't know if this file is flashable from fastboot, do it at your own risk!
aIecxs said:
first, system.img usually can be downloaded somewhere, no need to restore twrp backup for system. don't you think you will find a download? second, if you restore system you may required to restore vendor and boot too. boot.emmc.win can be flashed from fastboot directly, but for vendor you need to convert. the same way. third, system.img can have different formats. you need to know which file system type, partition size, and if it is sparsed image or not. file system type is EXT4 in your case because twrp backup is named system.ext4.win
for "converting" the system.ext4.win* file(s) into system.img you do it in two steps. first you need to create a empty ext4 image file. after the empty disk image is mounted somewhere, you simply unpack the backup files into the mounted disk. so it's not really converting, more like copying.
You need a linux machine for this
so let's begin with partition size
on a working device you can simply check from system or recovery. find the symlink, resolve the symlink for system, get #blocks (=size) for respective block partition, for example mmcblk0p99
for some reason xda blocks code for ls -l (lower case -L there is no space between)
Code:
find /dev/block -name by-name
ls - l /dev/block/platform/bootdevice/by-name
cat /proc/partitions
Note: the above commands need to be run on target android device only. use adb shell or terminal emulator. all other commands below need to be run on host linux pc
if gathering partition size on the device itself is not an option for you, if you have a mediatek chipset you can simply look into scatter file. OTA zip files most likely contain scatter file. if you don't have a scatter file for your ROM version, you can create your own scatter file with WwR MTK
use hex2dec calculator for partition_size: 0x9C800000 = 2625634304 bytes = 2564096 KiB (#blocks)
if you don't have mediatek device i am running out of ideas. you can boot into twrp from fastboot and check, or find a ROM and check the file size hopefully it is not a sparsed image.
Once you know the partition size, now proceed to create a empty file (avoid to do this on fat32 host if size is bigger > 4 GiB)
and format the file to ext4 (or f2fs if needed)
Code:
dd if=/dev/zero of=system.img bs=1 count=0 seek=2625634304
mke2fs -t ext4 system.img
if all went well you can create a mount point on host and mount the empty disk image. the following commands need to be run with root permissions. you can do it from sudo or as root
Code:
mkdir system
sudo -i
cd /home/$SUDO_USER
mount -t ext4 -o loop,rw,noexec,noatime system.img system
you can now unpack the tar files into system. make sure the folder structure remains intact, if the archive contains the folder /system you should unpack to ~ (this will create all files in ~/system) otherwise you need to unpack to ~/system (or cd into ~/system)
for cwm all files need to be concatenated. for twrp do not concatenate each file is a standalone tar archive. if you have android > kitkat 4.4.2+ make sure you use the proper flags for selinux context
Code:
tar --selinux --xattrs --numeric-owner -vxpf system.ext4.win000
tar --selinux --xattrs --numeric-owner -vxpf system.ext4.win001
or
Code:
cat system.ext4.tar000 system.ext4.tar001 | tar --selinux --xattrs --numeric-owner -vxp
the unpacking may produce errors malformed header or something, make sure all files extracted anyway. i have read somewhere better use star instead of tar which can handle twrp files in the right way, unfortunately haven't tested yet
to avoid any problems with permissions you should check/set for system again
Code:
chown -h 1000:1000 system
chmod 0755 system
chcon -h --reference system/bin system
after unpacking just unmount the disk image
Code:
umount system
rmdir system
exit
If you want to create a sparse image you can use the img2simg tool
Code:
sudo apt-get install android-tools-fsutils
img2simg system.img system.smg
This method is just written on the fly especially for your request, everything untested. I really don't know if this file is flashable from fastboot, do it at your own risk!
Click to expand...
Click to collapse
Cygwin works as well, it doesn't necessarily "have" to be Linux.
There is a post for using Cygwin as well in the thread that I linked.
More than one way to "skin this cat", so to speak. I'm sure they'll figure it out with the information they've been provided.
Sent from my SM-S767VL using Tapatalk
i don't think so, twrp archive doesn't contain a system.img it only contains folder /system. therefore you can't extract system.img but only the files inside, which have to be extracted in the right way including metadata. the cygwin untar.exe won't handle secontext flag. besides this it is generally bad idea to extract linux files to windows file system. ntfs is case insensitive and not all ascii chars allowed in file names, you will lose all file permissions owner/group and selinux context (except you untar it directly to ext4 image like i said). This might not be important for flashable zip because everything is lost inside a zip anyway (that's why META-INF is needed) but for creating a working ext4 image you must set everything to drw(x)r-(x)r-(x) system system ubject_r:system_file:s0 (i can be wrong always double check for your ROM) things become more complicated when we talking about data.ext4.win or vendor.ext4.win
even if you compile star or gnu tar and all other binaries for windows like mke2fs chcon or so, you won't be able to mount the ext4 disk image r/w in the right way on windows..
anyway thanks for suggesting cygwin, might be a simple alternative for windows freaks. i personally prefer booting live distro from usb stick
aIecxs said:
i don't think so, twrp archive doesn't contain a system.img it only contains folder /system. therefore you can't extract system.img but only the files inside, which have to be extracted in the right way including metadata. the cygwin untar.exe won't handle secontext flag. besides this it is generally bad idea to extract linux files to windows file system. ntfs is case insensitive and not all ascii chars allowed in file names, you will lose all file permissions owner/group and selinux context (except you untar it directly to ext4 image like i said). This might not be important for flashable zip because everything is lost inside a zip anyway (that's why META-INF is needed) but for creating a working ext4 image you must set everything to drw(x)r-(x)r-(x) system system ubject_r:system_file:s0 (i can be wrong always double check for your ROM) things become more complicated when we talking about data.ext4.win or vendor.ext4.win
even if you compile star or gnu tar and all other binaries for windows like mke2fs chcon or so, you won't be able to mount the ext4 disk image r/w in the right way on windows..
anyway thanks for suggesting cygwin, might be a simple alternative for windows freaks. i personally prefer booting live distro from usb stick
Click to expand...
Click to collapse
Yeah, that is true, it should only be the system folder.
Since they must use TWRP/CWM to create the backups, maybe it would have been better to suggest that they should instead, boot into TWRP then connect to adb to use adb shell commands or to use the terminal emulator that is built into TWRP to run a system dump or dd commands to dd a copy of the system.img over to PC.
Or maybe there is a way to mount/run the extracted system folder in terminal then using terminal to dump/dd a .img from that. I don't even know if that is possible(never heard of it, but it's a thought) but it seems to me that if the system.img is what is written to the system partition when flashed and this is what creates the system folder, there "should" be a way to pack the contents of the system folder back into what was originally contained in the system.img. It might miss a few things though, like the kernel for one, the kernel is sometimes part of the system.img but I don't know if that necessarily means that the kernel will be in the system partition/folder when the system.img is flashed. Thus, making it impossible to reverse engineer back into a proper system.img using only the contents of the system folder obtained from a nandroid backup.
A system dump, dd the .img or extract the system.img from the stock firmware file are the way to go, preferably, extracting from the stock firmware file, because that is easier and less risky than using shell, terminal and Linux for the uninitiated.
Sent from my SM-S767VL using Tapatalk
---------- Post added at 03:52 PM ---------- Previous post was at 03:47 PM ----------
aIecxs said:
i don't think so, twrp archive doesn't contain a system.img it only contains folder /system. therefore you can't extract system.img but only the files inside, which have to be extracted in the right way including metadata. the cygwin untar.exe won't handle secontext flag. besides this it is generally bad idea to extract linux files to windows file system. ntfs is case insensitive and not all ascii chars allowed in file names, you will lose all file permissions owner/group and selinux context (except you untar it directly to ext4 image like i said). This might not be important for flashable zip because everything is lost inside a zip anyway (that's why META-INF is needed) but for creating a working ext4 image you must set everything to drw(x)r-(x)r-(x) system system ubject_r:system_file:s0 (i can be wrong always double check for your ROM) things become more complicated when we talking about data.ext4.win or vendor.ext4.win
even if you compile star or gnu tar and all other binaries for windows like mke2fs chcon or so, you won't be able to mount the ext4 disk image r/w in the right way on windows..
anyway thanks for suggesting cygwin, might be a simple alternative for windows freaks. i personally prefer booting live distro from usb stick
Click to expand...
Click to collapse
I use VM, Live USB and dual boot, depending on which system I'm on(I have more than one rig) and depending on what I'm doing. In some cases, using Windows running Linux in VM is handy because some things are easier in Windows and some are easier in Linux, VM allows switching back and forth between Windows and Linux "on the fly" instead of having to move back and forth between two different systems. Another advantage to VM, your actual system is effectively immune to viruses when browsing the web inside the VM, only the OS installed in the VM is vulnerable, if infected, just wipe that OS and reinstall in the VM and you're clean again, your actual system that the VM is running on, never gets effected.
Sent from my SM-S767VL using Tapatalk
yeah i wonder how did create twrp backup without actually having twrp. busybox tar isn't able to do it, at least full tar binary is required. would be better to create backup in desired format from the very beginning. easiest way is adb pull /dev/block/bootdevice/by-name/system system.img (with proper path of course)
aIecxs said:
yeah i wonder how did create twrp backup without actually having twrp. busybox tar isn't able to do it, at least full tar binary is required. would be better to create backup in desired format from the very beginning. easiest way is adb pull /dev/block/bootdevice/by-name/system system.img (with proper path of course)
Click to expand...
Click to collapse
They booted a live temporary session of TWRP without actually flashing it to the recovery partition. I've done the same on an Intel tablet and a couple of RCA tablets. Booting it directly instead of flashing it onto the device doesn't trigger the locked bootloader. The locked bootloader won't allow booting unverified software that has been installed in the device's hardware itself, but it does not block booting unverified software from an external source.
Sent from my SM-S767VL using Tapatalk
After reading other source, someone said the ext4.win are just tar. One only needs to rename them to ext4.win.tar and you uncompress to img.
I guess the truth is more complicated than that because img (from stock, ready to be ODINed/Bootloader Fastboot) are raw images, including zeros. That's the difference.
In the end, if I had to do it again, I would have to dd the whole /mmcblkxxx(system) to a microSD. Yes 16-20Gb takes a much longer time than 2-3Gb (system.ext4.win) but that what <fastboot flash system system.img> requires (raw data and zeros).
sintoo said:
After reading other source, someone said the ext4.win are just tar. One only needs to rename them to ext4.win.tar and you uncompress to img.
Click to expand...
Click to collapse
Thats exactly how it works see post #3
if you add entry with file system type "emmc" in /etc/recovery.fstab TWRP produces flashable disk image system_image.emmc.win* instead of tar archive (which you can probably concatenate into system.img)
Code:
/system_image emmc /dev/block/platform/mtk-msdc.0/by-name/system flags=display="System Image";backup=1;flashimg=1