[WIP][Testing]Possible Ubuntu On our Tab Native (Not Phone ver) - Galaxy Tab 2 General

To: Admin/Mods
Even Though I did not Develop this I chose not to Put it in DEV section due to that fact... However if it is DEV section Worthy I will Gladly Mantain it. If it is DEV section worthy Please Feel Free to Move it there Thank You.
-----------------------------------------------------------------------------
Prelude
Hi Fellow XDAers I had decided to start Start a Project to Adapt The Ubuntu Nexus 7 Installer For The Tab 2 10.1" and 7" but seeing as the tab does not support fastboot the installer and possibly the OS image would have to be recoded so i decide to post pone the conversion of the installer program and Research if there was a more "Manual" Method...
-----------------------------------------------------------------------------
Now:
After Researching I came across a section on the Ubuntu Site Label as ARM/OMAP Server Pre-installed-Build Images For ARM and OMAP CPU's.
Supported OMAP CPU's were as follows
OMAP 3 - Server / Desktop (Limited SGX Drivers) Image
OMAP 4 - Server / Desktop Images :victory:
Now the issue is Not Sure If Your Device recovery will be lost.. if a total device format and or repartion is needed or what Simple because the site states:
With the Ubuntu 12.10, ARM desktop images are now standard Ubuntu live images as known from other architectures. To install these images you should have a USB disk as target device.
dd omap4 image on to sd-card
plugin sd-card & usb-stick
boot & install on to usb-stick
-----------------------------------
Writing the image
You should write the raw image to a blank SD card. Make sure you're using at least a 4G SD card (desktop image is 2G uncompressed).
Linux
Steps:
Place the SD card at your host computer.
Make sure the SD card is not mounted (just umount it if needed)
Identify the correct raw device name (like /dev/sde - not /dev/sde1)
Run the following command to write it:
--(Removed Until I fully test it)--
(replacing omap4 and sde with the right values i.e. just omap for a beagle image.)
-----------------------------------------------------------------------------
Second Instructions were for server based install but may easier for our device:
Copy the image to SD card
You should write the raw image to a blank SD card. Make sure you're using at least a 2 Gig SD card so that you have enough room for the image.
Steps:
Insert the SD card in your host computer's SD card reader.
Make sure the SD card is not mounted (just umount it if needed).
Identify the correct device name (like /dev/mmcblk0 or /dev/sdb).
Run the following command to write it:
---------------------------------------------------------------------------
Like I said I dont know where the block is that has the recovery in it or the download mode as if this will overwrite it not sure if we can revert it back to android so atm the project no is at a stand still if anyone has info on the block mapping and where recovery and download mode is it would help greatly.

UPDATE: because i am not as familiar with the android/device block and file structure aside from whats visible i will post all the links i have at my current disposal hopefully someone can make heads or tails of it and get us ubuntu native
Link 1: "Graphics" https://wiki.ubuntu.com/ARM/OMAP/Graphics
Link 2: "Desktop Install" https://wiki.ubuntu.com/ARM/OmapDesktopInstall
Link 3: "Server Install" https://wiki.ubuntu.com/ARM/Server/Install?action=show&redirect=ARM%2FOMAPHeadlessInstall
I suggest reading info in all 3 links as there is some key info in all three

samsung recovery fstab, if was that what you were looking for
# mount point fstype device device2
/system ext4 /dev/block/platform/omap/omap_hsmmc.1/by-name/FACTORYFS
/cache ext4 /dev/block/platform/omap/omap_hsmmc.1/by-name/CACHE
/data ext4 /dev/block/platform/omap/omap_hsmmc.1/by-name/DATAFS length=-16384
/efs ext4 /dev/block/platform/omap/omap_hsmmc.1/by-name/EFS
/misc emmc misc
/boot emmc /dev/block/platform/omap/omap_hsmmc.1/by-name/KERNEL
/recovery emmc /dev/block/platform/omap/omap_hsmmc.1/by-name/RECOVERY
/bootloader emmc /dev/block/platform/omap/omap_hsmmc.1/by-name/SBL1
/preload ext4 /dev/block/platform/omap/omap_hsmmc.1/by-name/HIDDEN
/sdcard vfat /dev/block/mmcblk1p1 /dev/block/mmcblk1
ps: I tryied too these images on my 5110, but it didn't boot (i dont know if the images FS was different from Android)
---------- Post added at 03:11 PM ---------- Previous post was at 03:00 PM ----------
I tried these by extracting the images for OMAP4, and
making a boot.img with kernel+ramdisk
making a system.img with the rootfs
flashed them and no booting (doesn't work ???) the bootloader left a blackscreen without executing the kernel
(maybe the image format is not supported and I had to use the android one)

http://forum.xda-developers.com/showthread.php?t=2691477

Hi, I would be interested in the developing of a ubuntu/other_linux versions for the galaxy-tab2

<*spoiler*>
Like I said I dont know where the block is that has the recovery in it or the download mode as if this will overwrite it not sure if we can revert it back to android so atm the project no is at a stand still if anyone has info on the block mapping and where recovery and download mode is it would help greatly.
<*/spoiler*>
On my Italian gt-p5110 I use heimdall to flash directly the images ( recovery.img, boot.img, factory.img data ..etc) w/o the necessity to make a zip, everything is redoable and restore it to android is very easy unless you brick the 2 bootloaders, (only boot and system.img), I don't know about your american models
2. I have the mappings
major minor #blocks name
(emmc)
179 0 15388672 mmcblk0
179 1 20480 mmcblk0p1
179 2 2048 mmcblk0p2
179 3 2048 mmcblk0p3
179 4 8192 mmcblk0p4
179 5 8192 mmcblk0p5
179 6 8192 mmcblk0p6
179 7 716800 mmcblk0p7
259 0 20480 mmcblk0p8
259 1 1433600 mmcblk0p9
259 2 12640239 mmcblk0p10
259 3 524288 mmcblk0p11
179 16 2048 mmcblk0boot1
179 8 2048 mmcblk0boot0
(sd)
179 24 31166976 mmcblk1
179 25 31165440 mmcblk1p1

Related

[Q] reparition the internal sdcard

Hello,
by mistake (dont ask how) i did use clockworkmod to partition the internal sdcard.
i used 0 for swap and 4096 for ext.
from now on, i can install rom and boot but i cannot install any application. not enough free space error message...
I have just basic knowledge on linux but i can access my adam via adb and would like someone to help me out with a couple of things. If i succeed repartition my internal sdcard correctly i will post a guide
my /dev/block looks like this:
loop0 loop3 loop6 mmcblk2p1 mmcblk3p1 mtdblock1 mtdblock4
loop1 loop4 loop7 mmcblk2p5 mmcblk3p2 mtdblock2 platform
loop2 loop5 mmcblk2 mmcblk3 mtdblock0 mtdblock3
mmcblk3 is my external sdcard
mmcblk2 is the internal (screwed) sdcard
when i run parted i get the following table: (command to run is: parted /dev/block/mmcblk3)
Model: SD SE08G (sd/mmc)
Disk /dev/block/mmcblk3: 7948MB
Sector size (logical/physical): 512B/512B
Partition Table: msdos
Number Start End Size Type File system Flags
1 512B 3852MB 3852MB primary fat32 lba
2 3852MB 7948MB 4096MB primary ext3
can someone run this command as well and let me know what you get?
I tried using unbrick method but always get UNKNOWN DEVICE FOUND ERROR
i have no idea why (i cannot find the ""APX"" device in my device manager) so cannot update the driver... but ADB is working fine!
Thanks in advance!
dico
I suggest you get over to someone who has basic Unix(Linux) knowledge to help you out here and I would strongly recommend not to continue fidlling further.
jupppo said:
I suggest you get over to someone who has basic Unix(Linux) knowledge to help you out here and I would strongly recommend not to continue fidlling further.
Click to expand...
Click to collapse
TX for you help. Very useful!
Well, I guess that was quite useful tip, since you obviously have no idea what you are doing. Also why is part 2 ext3? As fas as I know this is not supported by the NI kernel.
Get someone with good skills, who can edit the fstab, and let him help you otherwise you make things worse.
Repartition
cedricj said:
Hello,
by mistake (dont ask how) i did use clockworkmod to partition the internal sdcard.
i used 0 for swap and 4096 for ext.
from now on, i can install rom and boot but i cannot install any application. not enough free space error message...
I have just basic knowledge on linux but i can access my adam via adb and would like someone to help me out with a couple of things. If i succeed repartition my internal sdcard correctly i will post a guide
my /dev/block looks like this:
loop0 loop3 loop6 mmcblk2p1 mmcblk3p1 mtdblock1 mtdblock4
loop1 loop4 loop7 mmcblk2p5 mmcblk3p2 mtdblock2 platform
loop2 loop5 mmcblk2 mmcblk3 mtdblock0 mtdblock3
mmcblk3 is my external sdcard
mmcblk2 is the internal (screwed) sdcard
when i run parted i get the following table: (command to run is: parted /dev/block/mmcblk3)
Model: SD SE08G (sd/mmc)
Disk /dev/block/mmcblk3: 7948MB
Sector size (logical/physical): 512B/512B
Partition Table: msdos
Number Start End Size Type File system Flags
1 512B 3852MB 3852MB primary fat32 lba
2 3852MB 7948MB 4096MB primary ext3
can someone run this command as well and let me know what you get?
I tried using unbrick method but always get UNKNOWN DEVICE FOUND ERROR
i have no idea why (i cannot find the ""APX"" device in my device manager) so cannot update the driver... but ADB is working fine!
Thanks in advance!
dico
Click to expand...
Click to collapse
Thought of trying QtADB? But the Adam would need to be rooted.

[Q] Semi-soft hard non-brick - just looking for ideas

Anyway, I was using Miui V3 2.4.20 [2.6.35], and Google maps wasn't very happy with it. So I decided it was time to move on to the .32 kernal version, since the developer was going that way too. Downloaded a stock rom with .32 kernal, went to the pink screen and flashed, and then boot loop.
Luckily, I'm awesome, so my phone won't die on me. Tried flashing some roms through clockwork, no bootloop, just stuck at huawei logo. Tried flashing some stock roms, and at about 98% done flashing it goes error. Some parts get flashed causing my recovery reverts to stock, but I'm still stuck at the huawei logo.
Also, in clockworkmod I get errors mounting data and emmc, so that might be a problem. Other partitions mount fine.
I'm sure I'll find a solution eventually, so there's no rush. I've been in similar situations before. Just wanted to see what other people had used for similar situations. So if you know of something that would help, please let me know.
Found these through search (I'll do a better search again later), i will try them tomorrow:
http://forum.xda-developers.com/showpost.php?p=18944228&postcount=4
http://forum.xda-developers.com/showthread.php?t=1683249
http://forum.xda-developers.com/showthread.php?t=1689469
http://forum.xda-developers.com/showthread.php?t=1682501
http://forum.xda-developers.com/showthread.php?t=1011527
After reading a lot of threads, attempting to flash a lot of roms (stock and others), replacing all kinds of images, and offering a sacrifice to the cellphone gods, still at the same problem:
To reiterate problem:
1) Stuck/reboots at Huawei logo
2) Flashing stock roms via pink screen never finish installing, get error message at ~95% finished (During install, unpacks fine)
3) Flashing roms via recovery say they installed, but still boot problem
4) This problem occurred while trying to downgrade from .35 to .32
My next step is to try using Linux to put the Dload folder on the internal SD card and try installing from there. I have a feeling it is related to the partitions having problems. I used both the "get back pink screen" and "data partition resize," maybe something went wrong with them that only appeared when I tried to go back to stock. I'll find out more when I install linux and can see if the partitions are OK or not.
I've always wanted to try linux, and now that my phone is broke I have found the motivation to do so. So a word of advice for people for people wanting to try linux but are too lazy to download the linux file: Soft-brick your phone, it gives you motivation.
UPDATE: I'm pretty sure my partition table is broke pretty bad. In adb shell, df gives me:
Filesystem Size Used Free
/dev 173M 64K 172M
/system 203M 200M 2M
/cache 127M 4M 123M
and that's it. No /HWUserData, /.cust_backup, /mnt/asec, /mnt/obb, or /data.
Would someone be as kind as to tell me how to fix the partition table? I've got a soldering iron, duct tape and super glue. Also, I'm not afraid to buy a "box" to do some Jtag stuff.
Anybody know what Blefish uses to format the phone memory? I read on his tumbler page and his github that he has altered the partition table (he split the /hwuserdata into three sections, which means he has the ability to create partitions) If I can get that tool, then I have a plan:
0) If my understanding is correct, the updates don't install because the needed partitions are missing, which causes an error. I guess the updates won't create partitions, just alter them.
1) Use the tool blefish used to setup the partition table as described in this thread: http://forum.xda-developers.com/showthread.php?t=1504488
2) Once the partitions are back, i should at least be able to get the blue screen, if I'm good, then I can put all right files in /dev/sdb1, which will get me the pink screen.
3) Using the blue/pink screen, I can install stock firmware, which should correct any problems that the partition table has. Maybe even install android.
4) Do the happy dance
5) ???
6) Profit
I've done my homework, searched the forums, made a plan, and cleaned my room. Someone please give me some feedback and at least let me know if I'm heading in the right direction.
typci said:
Anybody know what Blefish uses to format the phone memory?
Click to expand...
Click to collapse
I am using fdisk, the main partitioning tool for MBR table. You can check the table by doing fdisk /dev/block/mmcblk0 and then "p" which should print the current partition table. From there, you can also modify the partitions.
Sent from my U8800 using Tapatalk 2
Blefish said:
I am using fdisk, the main partitioning tool for MBR table. You can check the table by doing fdisk /dev/block/mmcblk0 and then "p" which should print the current partition table. From there, you can also modify the partitions.
Sent from my U8800 using Tapatalk 2
Click to expand...
Click to collapse
Awesome. I used to use fdisk back in the dos days, so I just need to brush up on my skills and learn the adb specifics. I really need to take the time to go learn all the commands associated with adb.
INTERESTING UPDATE: If I flash a rom with locked boot loader, I still get the pink screen but it doesn't work, i.e. I can't access the image folder via windows. If I flash a rom without a locked boot loader, pink screen works. Granted none of these roms actually fully flash, I still get the error near the end.
Fdisk = Permission denied, su = permission denied. Rooted boot image prevents me from getting into recovery, which means adb won't work. Any other way to get root? I'll try flashing a custom rom when I can get clockworkmod working again. For some reason I can't get recovery to load via vol+ & power.
Also something weird is going on. When it boots, it reboots once, then goes to stock recovery, tries to do a factory reset, gets errors on formating. Also in windows two removable disks appear, but I can access them. I take it that they represent the internal SD card and maybe the pink screen image folder partition. Tomorrow I'll try linux and see what happens.
UPDATE:
1) I can't use FDISK because SU won't work. I'm not sure how SU/root works on a software/partition bricked phone.
2) Rooted boot.img won't boot into recovery. SuperOneClick won't work because it can't find the data partition (probably because I don't have one).
3) I was going to try flashing a custom rom but for some reason I can't get clockworkmod working again. The phone will boot into stock recovery on it's own, after a couple of reboots. However, if I change the boot.img or recovery.img to anything else, it gets stuck at huawei logo or boot loop.
4) Unbuntu LiveCD won't work (says it can't find the kernal) even though I used the installer from the website and tried it both via cd and flash drive. Working on installing a dual-boot system now.
I'm really striking out here. Couple of questions if anyone would care to answer.
1) Besides recovery, how else can I establish an adb connection? Pink screen and huawei logo give me device not found.
2) Is there a root exploit available that doesn't require a data partition or is there a root exploit I can modify so it doesn't require a data partition? It's OK if it's a manual exploit, while I'm new with android/adb, I got plenty of experience with command prompt input from back in the dos days.
Also learned there is a HuaWei office in my town. Don't know what they do there, but if I don't make any progress after I couple more days, I'll go find out.
typci said:
UPDATE:
1) I can't use FDISK because SU won't work. I'm not sure how SU/root works on a software/partition bricked phone.
2) Rooted boot.img won't boot into recovery. SuperOneClick won't work because it can't find the data partition (probably because I don't have one).
3) I was going to try flashing a custom rom but for some reason I can't get clockworkmod working again. The phone will boot into stock recovery on it's own, after a couple of reboots. However, if I change the boot.img or recovery.img to anything else, it gets stuck at huawei logo or boot loop.
4) Unbuntu LiveCD won't work (says it can't find the kernal) even though I used the installer from the website and tried it both via cd and flash drive. Working on installing a dual-boot system now.
I'm really striking out here. Couple of questions if anyone would care to answer.
1) Besides recovery, how else can I establish an adb connection? Pink screen and huawei logo give me device not found.
2) Is there a root exploit available that doesn't require a data partition or is there a root exploit I can modify so it doesn't require a data partition? It's OK if it's a manual exploit, while I'm new with android/adb, I got plenty of experience with command prompt input from back in the dos days.
Also learned there is a HuaWei office in my town. Don't know what they do there, but if I don't make any progress after I couple more days, I'll go find out.
Click to expand...
Click to collapse
On pink screen, your device is just like any other mass storage device. So you can still use fdisk on ubuntu with the correct /dev/sdX path. You can also format the data/system/cache using other tools if you need to.
Sent from my U8800 using Tapatalk 2
Sweet, so I just need to get Unbuntu working. I still can't figure out why the live CD/flash drive didn't work. Oh, well. When I get off of work I'll get to installing the dual-boot system. Thanks for your help.
typci said:
Sweet, so I just need to get Unbuntu working. I still can't figure out why the live CD/flash drive didn't work. Oh, well. When I get off of work I'll get to installing the dual-boot system. Thanks for your help.
Click to expand...
Click to collapse
i actually understood nothing from your posts but i would like to congratulate you for being a user who does research before asking ppl something
and I gladly give you a bump
JaymzBond said:
i actually understood nothing from your posts but i would like to congratulate you for being a user who does research before asking ppl something
and I gladly give you a bump
Click to expand...
Click to collapse
Thanks. Unfortunately the project is on hold for a couple of days. My electric motorcycle has been having some problems and I've been repairing it. Also, I think I found out why linux wasn't working. Apparently the "alternative" downloads aren't useable as a live CD, which is why the kernal wasn't there. Anyway, it's been a great learning experience. Maybe after I "break" my phone enough times I'll learn enough to become a developer.
Doing some research before getting back to working on the phone.
Looks like Blefish is talking about using linux's fdisk, when I was trying to use adb's fdisk. That would certainly allow me to bypass the su problem with adb. I think I got all the correct files for my linux livecd, so that shouldn't be a problem. After I'm done with my workout, I'll try it out and see how it goes. It's time to learn how to use linux.
Update: Got unbuntu working. Storage devices are all /media instead of /dev like I was expecting. But I think I'm not looking in the right place.
Plugged in phone via pink screen and 3 drives came up:
System - has system stupp (app, bin, etc, fonts, ...) - sdb12
256 MB File system - image folder with all the .img and .mbn files - sdb1
136 MB File system - has fotapkg, lost+found, recovery folders- filesystem type ext3/ext4 - I'm not sure what this is, maybe sdb6? If it was data (sdb13) then I wouldn't get the error in recovery, If it was the internal SD card the filesystem should be vfat. If someone knows better, please let me know.
For some reason I don't have permission to access the lost+found folder, or so Unbuntu tells me.
Tried to used fdisk with system, got error: I don't know how to handle files with mode 40755
Also found some recovery log files in the fotapkg and recovery folders. I'll post it here incase someone can get some more useful information out of it. Does anyone know what all these (null) mean?
Tomorrow I'll get to work on learning how to use unbuntu and fdisk.
Starting recovery on Sun Jan 6 00:03:50 1980
can't open /dev/tty0: No such file or directory
framebuffer: fd 3 (480 x 800)
recovery filesystem table
=========================
0 /tmp ramdisk (null) (null)
1 /boot vfat /dev/block/mmcblk0p1 (null)
2 /fat vfat /dev/block/mmcblk0p1 (null)
3 /cache ext4 /dev/block/mmcblk0p6 (null)
4 /data_pseudo ext4 /dev/block/mmcblk0p13 (null)
5 /misc emmc /dev/block/mmcblk0p7 (null)
6 /recovery vfat /dev/block/mmcblk0p1 (null)
7 /HWUserData vfat /dev/block/mmcblk0p14 (null)
8 /system ext4 /dev/block/mmcblk0p12 (null)
9 /sdcard vfat /dev/block/mmcblk1p1 /dev/block/mmcblk1
I:cmdline: console=ttyDCC0 androidboot.hardware=huawei androidboot.localproppath=hw/default androidboot.emmc=true androidboot.image=recovery androidboot.mode=user androidboot.baseband=msm
Ita_move_command_file
I:Got arguments from boot message
Command: "recovery" "--wipe_data" "--wipe_cache"
Formatting /cache...
Creating filesystem with parameters:
Size: 136314880
Block size: 4096
Blocks per group: 32768
Inodes per group: 4160
Inode size: 256
Journal blocks: 1024
Label:
Blocks: 33280
Block groups: 2
Reserved block group size: 15
Created filesystem with 11/8320 inodes and 1585/33280 blocks
E:failed to mount /data_pseudo (No such file or directory)
E:failed to mount /data_pseudo (No such file or directory)
Formatting /data...
Need size of filesystem
E:format_volume: make_extf4fs failed on /dev/block/mmcblk0p13
E:failed to mount /data_pseudo (No such file or directory)
E:failed to mount /data_pseudo (No such file or directory)
Formatting /cache...
Creating filesystem with parameters:
Size: 136314880
Block size: 4096
Blocks per group: 32768
Inodes per group: 4160
Inode size: 256
Journal blocks: 1024
Label:
Blocks: 33280
Block groups: 2
Reserved block group size: 15
Created filesystem with 11/8320 inodes and 1585/33280 blocks
Data wipe failed.
wipe internal sdcard fail.
It could be that the data partition (originally mmcblk0p13) got wiped out and now mmcblk0p13 is internal sd card. Here's the original partition table:
Code:
Disk /dev/block/mmcblk0: 3959 MB, 3959422976 bytes
1 heads, 16 sectors/track, 483328 cylinders
Units = cylinders of 16 * 512 = 8192 bytes
Device Boot Start End Blocks Id System
/dev/block/mmcblk0p1 1 30721 245760 b Win95 FAT32 CUST
Partition 1 does not end on cylinder boundary
/dev/block/mmcblk0p2 * 30721 30783 500 4d Unknown SBL1
Partition 2 does not end on cylinder boundary
/dev/block/mmcblk0p3 30783 31158 3000 46 Unknown TZ
Partition 3 does not end on cylinder boundary
/dev/block/mmcblk0p4 31158 483328 3617363+ 5 Extended EBR
Partition 4 does not end on cylinder boundary
/dev/block/mmcblk0p5 32769 34304 12288 59 Unknown OEMINFO/BOOTLOADER IMAGES
/dev/block/mmcblk0p6 40961 57600 133120 4c Unknown CACHE
/dev/block/mmcblk0p7 65537 65599 500 5a Unknown MISC
/dev/block/mmcblk0p8 73729 74112 3072 58 Unknown FSG?
/dev/block/mmcblk0p9 81921 82795 7000 50 Unknown ADSP
/dev/block/mmcblk0p10 90113 90496 3072 4a Unknown MODEM_ST1
/dev/block/mmcblk0p11 98305 98688 3072 4b Unknown MODEM_ST2
/dev/block/mmcblk0p12 106497 134656 225280 83 Linux SYSTEM
/dev/block/mmcblk0p13 139265 216064 614400 83 Linux USERDATA
/dev/block/mmcblk0p14 221185 483328 2097152 69 Unknown INTERNAL_SD
The sdb6 is indeed cache, and it is used for recovery communication between Android.
If everything would be ok, it would mount sdb1, sdb6, sdb12, sdb13 and sdb14 inside Ubuntu, so it seems that something is wrong at the end.
If you have 14 partitions, use disk utility from Ubuntu and try manually formatting the 13 for ext4 and 14 for vfat. Taking ownership is not needed, it should work either way.
Blefish, thanks for the help. Got unbuntu up and working along with fdisk and identified the phone.
I have 13 partitions (including one empty one) , not 14. Here's the print out:
[email protected]:~$ sudo fdisk /dev/sde
omitting empty partition (13)
Command (m for help): p
Disk /dev/sde: 3959 MB, 3959422976 bytes
1 heads, 62 sectors/track, 124729 cylinders, total 7733248 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x00000000
Device Boot Start End Blocks Id System
/dev/sde1 1 491520 245760 b W95 FAT32
/dev/sde2 * 491521 492520 500 4d QNX4.x
/dev/sde3 492521 498520 3000 46 Unknown
/dev/sde4 498521 7733247 3617363+ 5 Extended
/dev/sde5 524288 548863 12288 59 Unknown
/dev/sde6 655360 921599 133120 4c Unknown
/dev/sde7 1048576 1049575 500 5a Unknown
/dev/sde8 1179648 1185791 3072 58 Unknown
/dev/sde9 1310720 1324719 7000 50 OnTrack DM
/dev/sde10 1441792 1447935 3072 4a Unknown
/dev/sde11 1572864 1579007 3072 4b Unknown
/dev/sde12 1703936 2154495 225280 83 Linux
Comparing with your partition table I see two differences:
1) the ending block of sde1 is 491520 on mine and on the original it is 30721, however the blocks are the same, so that is probably not a problem
2) sde13 is empty, and sde14 is missing.
This actually makes sense. When I was using MIUI, I reduced the size of the internal sd to near zero, since MIUI could only either the internal or external sd, not both. After trying to downgrade, I had a problem, so I tried to restore the internal sd card back to stock size, just to bring my phone back to stock. Something must have gone when I did that.
So if I understand the problem correctly, to fix this I need to:
1) Split sde13 into 2 partitions
2) Format sde13 to ext4 and sde14 to vfat
3) Try installing adroid again
Do I need to name the partitions a certain name or do anything else?
In the mean time I'll be looking into how to use disk utility and fdisk to deal with sde13 and sde14.
Had an idea that I only need sde13 (data) to get things working again, the system shouldn't need sde14 (internal sd) to work.
So I went to disk utility, found Qualcomm MMC storage and tried to format the free 2.9GB at the end. Got an error:
Error creating partition: helper exited with exit code 1: In part_add_partition: device_file=/dev/sde, start=1103101952, size=2856000000, type=0x83
Entering MS-DOS parser (offset=0, size=3959422976)
MSDOS_MAGIC found
looking at part 0 (offset 512, size 251658240, type 0x0b)
new part entry
looking at part 1 (offset 251658752, size 512000, type 0x4d)
new part entry
looking at part 2 (offset 252170752, size 3072000, type 0x46)
new part entry
looking at part 3 (offset 255242752, size 3704180224, type 0x05)
Entering MS-DOS extended parser (offset=255242752, size=3704180224)
readfrom = 255242752
MSDOS_MAGIC found
readfrom = 255243264
MSDOS_MAGIC found
readfrom = 255243776
MSDOS_MAGIC found
readfrom = 255244288
MSDOS_MAGIC found
readfrom = 255244800
MSDOS_MAGIC found
readfrom = 255245312
MSDOS_MAGIC found
readfrom = 255245824
MSDOS_MAGIC found
readfrom = 255246336
MSDOS_MAGIC found
readfrom = 1140842496
No MSDOS_MAGIC found
Exiting MS-DOS extended parser
Exiting MS-DOS parser
MSDOS partition table detected
containing partition table scheme = 1
got it
Error: Invalid partition table on /dev/sde -- wrong signature 0.
ped_disk_new() failed
So, my partition table is corrupt? I'll need to figure out how to fix this.
Here's some options I've found:
http://forum.xda-developers.com/showpost.php?p=21572216&postcount=12
ksatta mentions a couple of ideas:
1) If someone backed up their phone using dd, I could use that to restore my phone.
Here's a link on how to do it: http://linuxpoison.blogspot.com/2009/04/creating-backuprestore-images-using-dd.html
dd if=/dev/sdX | gzip > /home/sdX.bin.gz
where sdX is the U8800
2) I could clone someone's partition table. If someone could give me a copy of their MBR that should work.
Here's a link on how to do it: http://embraceubuntu.com/2005/10/20/backing-up-the-mbr/
Create a backup of your MBR by doing a:
dd if=/dev/sdX of=MBR-backup bs=512 count=1
That should read “create a disk dump of the input file, which is /dev/sdx (change to hda, or hdb or sda, depending on where the MBR is on your computer), and save it in the output-file MBR-backup in the directory from where the command is issued. Backup the first sector only, while you are at it”.
3) gparted - it's some kind of partition tool. Might be able to use it to fix the error. Not sure how to use it though.
For now I'm going to look into gparted for Ubuntu. If someone can help me out with a dd backup or cloning the partition table that would be awesome.
UPDATE: For people following this thread, and to keep me more organized, I'll start adding more of the important resources I find. They may one day help you fix your phone.
https://bugs.launchpad.net/ubuntu/+source/gparted/+bug/434463
Seems a guy fixed his the same error with gparted. However it wasn't on a phone. Also I'm seem a lot of people refer to sfdisk. I'll need to learn more about it.
https://answers.launchpad.net/ubuntu/+question/113539
"I got an answer in a forum, which looks easy.
Do a
sudo fdisk /dev/sda
then type
w
to write partition table, without any modification of it.
The signature should be fixed."
Is this safe to do to my phone? I know I'll have to write the MBR eventually, but I have to get it right the first time. If I screw up, I may not be able to connect to ubuntu anymore. Anyway, the guy said it fixed the error with his harddrive, so it's worth a try.
http://www.thegeekstuff.com/2010/09/linux-fdisk/
How to use fdisk, in case anyone needs to know
So my new plan is to:
1) dd Backup and MBR backup - in case I break it worse than it is
2) try to fix with fdisk w or gparted
I think the change in start and end is caused by Ubuntu using cylinders/sectors/blocks. Should not too much difference though.
Using MBR restore would not work here, as it restores the main 4 partitions list. MBR uses EBR aswell, which is located at the beginning of every extended partition. So we would have to copy the EBR of every partition.
I'd suggest deleting sde13, adding sde13 and sde14.
When adding sde13, note that starting block should be at the end of sde12, so simply insert last block of sde12 there. If it gives error, simply press enter as it automatically finds free block after the last one. End block could be for example +500M so fdisk automatically finds the correct end block. Do the same for sde14, but note the start block again. sde14 end block should be the last block there is on the card.
After you've done that, do w to write and if it tells you to restart or something, unplug the phone, take out the battery and restart to pink screen again. Then try to use disk utility again or gparted (have not tested this) to reformat sde13 and sde14 to ext4 and vfat.
You should be safe until you don't mess with the primary partitions, especially the mmcblk0p2 and mmcblk0p3.
Thanks again for the reply, Blefish. I may have just fixed it. I'll know soon enough.
I did two things:
1) sudo fdisk /dev/sde12 followed by w
2) sudo fdisk /dev/sde followed by w
After that it enabled me to add the 13 and 14 partition. I used disk utility so I didn't have to worry about the blocks. Afterwards they mounted in ubuntu like they should.
UPDATE: Not quite fixed, but the rom installed without error. So I think the partition problem is fixed.
Now I just have a boot loop. I'll go back to ubuntu, clear the cache, and try installing from the internal sdcard
2nd UPDATE: Stock recovery gives and error about mounting the cache partition. However CWM mounts it fine. My partition problems may not be over.
3rd UPDATE: genokolar's "Custom you partition" file to return to stock file deletes my partition 13 and 14. Had 13 and 14 back working, used the file as per instructions, afterwards ubuntu drive utililty shows 13 and 14 as "free." So that is where part of my problem comes from.
4th UPDATE: Fixed the problem with stock recovery. Turns out froyo doesn't like ext4 partitions. Changed cache partition to ext3, no more error.
Here are some exerts from the CMW log when I tried to flash cyanongen. Can anyone tell me if any of these errors are problems, and if they are what they mean?
W:Unable to get recovery.fstab info for /datadata during fstab generation!
W:Unable to get recovery.fstab info for /sd-ext during fstab generation!
I:Checking for extendedcommand...
I:Skipping execution of extendedcommand, file not found...
failed to open /sys/class/android_usb/android0/state: No such file or directory
-- Installing: /sdcard/CM7-070512.zip
Finding update package...
I:Update location: /sdcard/CM7-070512.zip
Opening update package...
Installing update...
unmount of /system failed; no such volume
package_extract_file: no backup_initd.sh in package
set_perm: chown of /tmp/backup_initd.sh to 0 0 failed: No such file or directory
set_perm: chmod of /tmp/backup_initd.sh to 777 failed: No such file or directory
about to run program [/tmp/backup_initd.sh] with 2 args
run_program: execv failed: No such file or directory
run_program: child exited with status 1
Pass 5: Checking group summary information
/dev/block/mmcblk0p12: 11/56448 files (0.0% non-contiguous), 7142/225280 blocks
mount: failed to mount /dev/block/mmcblk0p12 at /system: Invalid argument
set_perm: chown of 0750 to 0 2000 failed: No such file or directory
set_perm: chmod of 0750 to 755 failed: No such file or directory
set_perm: chown of /system/etc/init.qcom.post_boot.sh to 0 2000 failed: No such file or directory
set_perm: chmod of /system/etc/init.qcom.post_boot.sh to 555 failed: No such file or directory
set_perm: chown of /system/xbin/apply_firewall to 0 0 failed: No such file or directory
set_perm: chmod of /system/xbin/apply_firewall to 6755 failed: No such file or directory
set_perm: chown of /system/xbin/apply_theme to 0 0 failed: No such file or directory
set_perm: chmod of /system/xbin/apply_theme to 6755 failed: No such file or directory
set_perm: chown of /system/xbin/dumplog to 0 0 failed: No such file or directory
set_perm: chmod of /system/xbin/dumplog to 6755 failed: No such file or directory
set_perm: chown of /system/xbin/mv2sd to 0 0 failed: No such file or directory
set_perm: chmod of /system/xbin/mv2sd to 6755 failed: No such file or directory
set_perm: chown of /system/xbin/ota to 0 0 failed: No such file or directory
set_perm: chmod of /system/xbin/ota to 6755 failed: No such file or directory
Updating BOOT Image...
about to run program [/tmp/backup_initd.sh] with 2 args
run_program: execv failed: No such file or directory
run_program: child exited with status 1
Installation complete!script result was [Installation complete!]
Install from sdcard complete.
failed to open /sys/class/android_usb/android0/state: No such file or directory
My phone is fixed. I have no idea how it became fixed, but it is fixed.
I placed b518 on the internal sd card, and installed it. Then bootloop. So I held both volume keys+power to try another rom. It installed again. Went to recovery, it did a factory reset. Bootloop. Went back to recovery to see if I could wipe the sd card. No option for it, so I did another factory reset and rebooted my phone. I left my phone bootlooping for a minute while I looked online for a Huawei service center, and then my phone booted. I gues it got scared and didn't want to go to a service center.
This been a great learning experience, although at times a major headaches. I want to thank blefish for all his help. Thanks to this, i've bee reading his blog and other stuff, and now will follow some of his other projects.
Now to downgrade back to 2.2!!!!
UPDATE: All official roms are working correctly (b136, b138, b518, b528), recovery (5.0.2.6) works. However I haven't been able to get a single custom rom to work. Tried a couple .32 MIUI and CM, but they all stick at the huawei logo. Did factory reset and dalvik wipe, get error can't mount /sd-ext during dalvik wipe, and still doesn't boot.
Maybe I need to try a newer verison of CWM? I tried the newer versions before, and I didn't like them. Buggy and often wouldn't find my sd card.
This thread must be made sticky because it consists of pure information about dealing with soft-bricks. Thanks a lot for your curiosity, you're my hero.

[Q] File system on Nexus 7?

Hi.
Can anyone enlighten me on the file system on the Nexus 7. Is there a single partition or several ? I want to dd the _whole_ contents of the flash chip to a usb-attached SD card.
I have the 16GB version just upgraded to 4.1.2 but i haven't been successfull with the rooting, so i have not been able to look at the data organization.
I guess the clockworkmod can backup the ROM, but does it backup all the files/partitions on the flash, so the bootloader is a part of the file?
I am looking into removing the eMMC flash chip and replacing with a bigger one, or even an SD card. I have an BGA rework machine, so it's not a problem hardware-wise.
Anyone with knowledge on this ?
// Per.
N7 has multiple partitions. CWM backups do not include the bootloader.
Here's a list of positions:
Ref: http://forum.xda-developers.com/showthread.php?t=1739119
Note: Command to list partitions and their name (size came from /proc/partitions):
ls -l /dev/block/platform/sdhci-tegra.3/by-name/
Partition Size (1k blks) Name Description
mmcblk0p1 12288 SOS recovery
mmcblk0p2 8192 LNX boot.img
mmcblk0p3 665600 APP system
mmcblk0p4 453632 CAC cache
mmcblk0p5 512 MSC Misc (bootloader commands and other misc stuff )
mmcblk0p6 10240 USP Staging
mmcblk0p7 5120 PER usually a fat partition containing sensor calibration etc. - per device provisioned.
mmcblk0p8 512 MDA Unknown
mmcblk0p9 14103552 UDA data (user data area)
Sent from my Nexus 7

[RECOVERY] [WIP] CWM Recovery

Just thought I'd create a place to pool our knowledge and try to get a custom recovery going.
So far I've been able to piece together the partition table using an app from the Play Store. I don't know if it's accurate or not since I'm new at this, so if someone else knows that something is wrong please let me know.
BLOCK- MOUNT- DEVICE NO- LABEL- FILESYSTEM- SIZE (MB)
MMCBLK0 179/0 15028
MMCBLK0P1 /FIRMWARE 179/1 MODEM VFAT 13.5 / 64.0
MMCBLK0P2 179/2 SBL1 0.5
MMCBLK0P3 179/3 SBL2 0.5
MMCBLK0P4 179/4 SBL3 2
MMCBLK0P5 179/5 ABOOT 0.5
MMCBLK0P6 179/6 RPM 0.5
MMCBLK0P7 179/7 BOOT 24
MMCBLK0P8 179/8 TZ 0.5
MMCBLK0P9 179/9 PAD 0
MMCBLK0P10 179/10 MODEMST1 3
MMCBLK0P11 179/11 MODEMST2 3
MMCBLK0P12 179/12 M9KEFS1 0.8
MMCBLK0P13 179/13 M9KEFS2 0.8
MMCBLK0P14 179/14 M9KEFS3 0.8
MMCBLK0P15 /PERSIST-LG 179/15 DRM EXT4 4.3 / 7.9
MMCBLK0P16 /SNS 179/16 SNS EXT4 4.1 / 7.9
MMCBLK0P17 179/17 SSD 0
MMCBLK0P18 179/18 MISC 16
MMCBLK0P19 /FACTORY 179/19 FACTORY EXT4 4.1 / 15.8
MMCBLK0P20 179/20 BNR EXT4 8
MMCBLK0P21 179/21 ENCRYPT 0.5
MMCBLK0P22 179/22 EKSST 0.5
MMCBLK0P23 /SYSTEM 179/23 SYSTEM EXT4 1853.8 / 2113.8
MMCBLK0P24 /CACHE 179/24 CACHE EXT4 14.4 / 788.4
MMCBLK0P25 /PERSIST 179/25 PERSIST EXT4 4.1 / 7.9
MMCBLK0P26 179/26 TOMBSTONES 256
MMCBLK0P27 179/27 RECOVERY 24
MMCBLK0P28 179/28 FSG 3
MMCBLK0P29 179/29 DDR 0
MMCBLK0P30 179/30 FOTA 32
MMCBLK0P31 /MPT 179/31 MPT EXT4 11.5 / 31.5
MMCBLK0P32 259/0 TZBAK 0.5
MMCBLK0P33 259/1 RPMBAK 0.5
MMCBLK0P34 259/2 RCT 0
MMCBLK0P35 259/3 RESERVED 16
MMCBLK0P36 /DATA 259/4 USERDATA EXT4 2260.3 / 11304.5
MMCBLK0P37 259/5 GROW 4
/DEV/FUSE /STORAGE/EMULATED/LEGACY NA/NA EMULATED STORAGE AT /DATA/MEDIA ? FUSE 2260.3 / 11304.5
/DEV/FUSE /STORAGE/EMULATED/0 NA/NA EMULATED STORAGE AT /DATA/MEDIA ? FUSE 2260.3 / 11304.5
/DEV/FUSE /STORAGE/EMULATED/0/ANDROID/OBB NA/NA EMULATED STORAGE AT /DATA/MEDIA ? FUSE 2260.3 / 11304.5
/DEV/FUSE /STORAGE/EMULATED/LEGACY NA/NA EMULATED STORAGE AT /DATA/MEDIA ? FUSE 2260.3 / 11304.5
/DEV/FUSE /STORAGE/EMULATED/LEGACY/ANDROID/OBB NA/NA EMULATED STORAGE AT /DATA/MEDIA ? FUSE 2260.3 / 11304.5
The last bit there is a bit of a head scratcher to me.
I've also extracted the recovery.img from the mmcblk0p27.
https://www.dropbox.com/s/4u9v9dqfzrj5100/recovery.img
Thanks for your effort man, i wouldn't know where to begin with something like this.
Endlessillusion said:
Thanks for your effort man, i wouldn't know where to begin with something like this.
Click to expand...
Click to collapse
Trust me, I didn't either. Just taking it one step at a time. We've got a way to restore to stock, so it's relatively safe if you're patient and don't rush.
mustbepbs said:
Trust me, I didn't either. Just taking it one step at a time. We've got a way to restore to stock, so it's relatively safe if you're patient and don't rush.
Click to expand...
Click to collapse
I don't have my pad yet shipment was delayed until tomorrow. I am going to wait around, will take it nice and slow just happy to see some progress.
This is the working recovery?, you can get root access?
hello e thanks @mustbepbs
can you use this site to create a recovery cwm? builder(dot)clockworkmod(dot)com <--upload recovery image & build the recovery.. we can try to obtain the recovery without attend the job of "team CWM"
edit:
I apologize, I missed the link reading the first post..I saw now.
I now see what we get by loading the recovery image on the site.
Palux said:
hello e thanks @mustbepbs
can you use this site to create a recovery cwm? builder(dot)clockworkmod(dot)com <--upload recovery image & build the recovery.. we can try to obtain the recovery without attend the job of "team CWM"
edit:
I apologize, I missed the link reading the first post..I saw now.
I now see what we get by loading the recovery image on the site.
Click to expand...
Click to collapse
Yeah it doesn't work. A lot of builds are failing on there so I don't know if it's the IMG or their build server.
I synced the CM10.2 repo last night so I'm gonna get started on trying to build from scratch today. Can't make any promises.
Okay, so I got CWM to build and I think I've gotten it right. Basically at this point I've got an update.zip for future reference and a recovery.img from the build. I've got to work in LOKI and see what happens.
Okay, so I patched LOKI and flashed it successfully.
When I adb reboot recovery, I get:
https://www.dropbox.com/s/591cd1a349nqfq0/bootingimage.jpg
It just boots normally after that. I suppose it's progress.
yeah ... thanks for the tests and the work you're doing :highfive:
It remains to unlock the tablet?
Not really sure what went wrong.
CWM built, so I think if there was a problem it wouldn't have built. Loki patched and flashed successfully because of that error message I got.
If something flashed to the wrong place, I wouldn't think I'd be able to boot like I can.
I guess I don't fully understand LOKI. Trying to do as much digging around as I can.
mustbepbs said:
Not really sure what went wrong.
CWM built, so I think if there was a problem it wouldn't have built. Loki patched and flashed successfully because of that error message I got.
If something flashed to the wrong place, I wouldn't think I'd be able to boot like I can.
I guess I don't fully understand LOKI. Trying to do as much digging around as I can.
Click to expand...
Click to collapse
Hi,
It seems we have got the same error. Being new to compiling android i can't be sure my initial configuration (recovery.fstab BoardConfig.mk) were correct. The problem could also be that LG has changed its bootloader and Loki doesn't work anymore as i haven't seen anybody having succesfully tested it on the G Pad.
obiwan86300 said:
Hi,
It seems we have got the same error. Being new to compiling android i can't be sure my initial configuration (recovery.fstab BoardConfig.mk) were correct. The problem could also be that LG has changed its bootloader and Loki doesn't work anymore as i haven't seen anybody having succesfully tested it on the G Pad.
Click to expand...
Click to collapse
From what I've read, getting that error means that LOKI is working. I pulled the recovery.fstab from the stock img so I know that's correct. I may have mucked up a few things in the BoardConfig.mk, I fixed them but was so tired last night that I couldn't focus. Gonna try again today and tomorrow.
has anyone tried this http://www.xda-developers.com/android/compile-twrp-for-your-device/
I haven't tried TWRP yet.
mustbepbs said:
I haven't tried TWRP yet.
Click to expand...
Click to collapse
I don;t know much about development but it looks like they made it easier?
joshuadjohnson22 said:
I don;t know much about development but it looks like they made it easier?
Click to expand...
Click to collapse
I'll take a look if my revised CWM build doesn't work.
Hi, how's it going?. Recently brought a tablet, I would like to recovery
well we should have something soon
just need some time to test

[SOLVED] Need help with Froyo partition table

I am in the process of flashing a custom rom. My phone is an original unlocked Consumer Cellular which had 2.2.1 installed and later on got an OTA update to 2.2.2.
I rooted the Bravo, made a system dump, installed 2nd-init and created a nandroid backup. As a final check I wanted to look at the partition table and that's when things got interesting. I tried parted but parted terminated with an error message about a partition "beyond" the device's last sector.
Looked around a bit and found out that fdisk is preinstalled in /system/xbin. So I used fdisk and this is what I found:
fdisk's info about the device:
Code:
Disk /dev/block/mmcblk1: 1958 MB, 1958739968 bytes
16 heads, 16 sectors/track, 14944 cylinders
Units = cylinders of 256 * 512 = 131072 bytes
That sounds about right, it is a 2 GByte flash rom. The problem is partition p4 (the "extended" partition) and partition p25 (aka "userdata"). Partition p4 is listed in the partition table as:
Code:
Device Boot Start End Blocks Id System
/dev/block/mmcblk1p4 13 122496 15677952 5 Extended
Well, "start" and "end" are cylinders, so the "end" being 122496 is waaaay beyond 14944! Partition p25 also seems to be messed up the same way:
Code:
Device Boot Start End Blocks Id System
/dev/block/mmcblk1p25 4633 122496 15086592 83 Linux
However, a "cat /proc/partitions" shows this:
Code:
cat /proc/partitions
major minor #blocks name alias
179 32 1912832 mmcblk1
179 33 128 mmcblk1p1
179 34 512 mmcblk1p2
179 35 512 mmcblk1p3
179 36 1 mmcblk1p4
179 37 512 mmcblk1p5
179 38 512 mmcblk1p6
179 39 4096 mmcblk1p7 pds
179 40 512 mmcblk1p8
179 41 512 mmcblk1p9
179 42 1024 mmcblk1p10
179 43 2048 mmcblk1p11
179 44 512 mmcblk1p12
179 45 512 mmcblk1p13
179 46 4096 mmcblk1p14
179 47 8192 mmcblk1p15 boot
179 48 8192 mmcblk1p16 recovery
179 49 14336 mmcblk1p17 cdrom
179 50 512 mmcblk1p18 misc
179 51 512 mmcblk1p19 cid
179 52 4096 mmcblk1p20 kpanic
179 53 334848 mmcblk1p21 system
179 54 512 mmcblk1p22 prek
179 55 512 mmcblk1p23 pkbackup
179 56 204800 mmcblk1p24 cache
179 57 1319936 mmcblk1p25 userdata
179 0 1931264 mmcblk0
179 1 1930240 mmcblk0p1
So besides the partition data which I seem to not understand the size of userdata seems to be 1319936 blocks which is ~1.3 GByte.
This leads to my 2 questions:
Is there a problem here or do I simply misunderstand fdisk's partition list (parted says that is something wrong though!)?
Do I have to try to "fix" this before installing a custom rom (planning on trying cm-10.2-20131030-NIGHTLY-mb520.zip)?
Thanks,
Markus
Ok ... I'm answering my own question here, just in case someone else is interested in the solution:
General Information:
Historically (pc compatible) partitions used to be aligned on cylinder boundaries. Nowadays partitions are usually aligned on a sector number which is a multiple of 2048. For standard 512 sectors this evaluates to a 1 MByte boundary - which is also compatible with drives with a larger sector size (4096 bytes for drives > 2 TByte).
Logical volumes within the extended partition do not use the first head of the first cylinder (or the first 2048 sectors) because the area holds the volume's EBR - which is only a 512 byte record, similar to a MBR.
Implementation in the Motorola Bravo:
The Linux kernel reports 16 heads per cylinder and 16 tracks per head, resulting in 128 kByte per cylinder.
Partitions are aligned to this "virtual" disk geometry.
Digging through the list of EBRs (using dd and hexdump) I found that the partitioning utility used by Motorola creates volumes in the extended partition in a different (but still compatible) way: instead of wasting the first "track" (for the volume's EBR) in each volume, it consolidates all the EBRs in the disk space wasted by the partition entry for the extended partition itself (which usually is 1 cylinder or 2048 sectors).
Motorola actually allocated 512 kByte (1024 sectors) for the extended partition itself, giving the system the theoretical limit of 1024 volumes.
The question still unanswered though is: why does the extended partition (and the last volume in that partition) extend way beyond the end of mmcblk1?
Findings:
I searched around and I discovered that the tool Motorola used to create the partition table was most likely something like nand-part (part of the sunxi tools, please look it up on Wikipedia, I am not allowed yet to post links outside this forum).
This tool creates the EBRs for logical volumes in the same way as they appear in the Bravo's partitions. And most important, this tools also allows to create partitions which extend beyond the end of the device!
Ok ... on with the story: whenever a file system utility like mkfs wants to format a partition, it asks the kernel for information about that partition. The kernel is smart enough to correct partition definitions which extend beyond the end of device in order to avoid a failure or crash of the file system formatting utility. This "correction" is not permanent (partition table stays as it is) but done on the fly.
Conclusions:
nand-part's lack of parameter checking together with the kernel's smartness about partitions exceeding the device made it possible for Motorola to create one common partition layout for devices with different flash capacities: the setup used in the Bravo would be sufficient for flash up to 8 GByte without even changing the partition tables. The last partition (userdata) would simply benefit from a higher flash capacity.
Having answered that question, I still wanted to know what happenes when I try to correct that error (I know, I just asked for trouble). So I went ahead and as a first step I corrected the size in userdata's (mmcblk1p25) EBR to the correct value (using dd and a hex editor). After the correction everything looked fine. The definition of mmcblk1p25 now matched the actual size. I rebooted the phone and ... boom! The bootloader obviously was extremely unhappy and I was forced to do my first "sbf" - which I managed to do and meanwhile my Bravo is happily running CM10.2.
Dear Moderator:
If this post is of any use for the "Dev" section, please move it over there. I do not have the permission (yet) to post in the dev section.
Happy hacking,
Markus

Categories

Resources