[RECOVERY] Working recovery with UI glitches

xaueious

Administrator
Staff member
Jul 9, 2010
3,483
436
If you use 'fastboot boot', it does not set any misc flags. It only sets if you boot via 'reboot recovery' or the hardware keys. Not being able to adb is normal.

You might need special drivers for fastboot. Been a while since I did that. But if you type 'fastboot devices', it should detect a device with a bunch of ????s
 

goodoane

Senior Member
Nov 25, 2010
269
90
i still can not get it
i put my device on fastboot mode (18d1 google ) with both volumes buttons and power on but i can not adb shell to it (i think this is normal in fastboot mode) and i did not "fastboot boot" your recovery cos you said it flags misc and goes to recovery always so
how can i backup the misc? i cant find a misc with cat /proc/mtd
You need to use fastboot not adb.
To be more clear in your tools folder where adb. exe is you should have fastboot. exe.


Sent from my S7 using Tapatalk
 

rictec

Member
Jan 30, 2011
127
24
i m using ubuntu 64 bits so no exe in here ;) (had to say that before but forget sorry)
adb part was just me sleepy no adb comands on fastboot mod dagh
i already add the usb device 18d1 Goggle inc. (it proves its on fastboot mode) to my /etc/udev/51-android.rules
no device after ./fastboot devices comand and ./fastboot boot recovery.img puts waiting for device on the screen.
does anyone else had this or do i have to move over to 32 bits or windows for this phone?

i managed do boot recovery and did a nandroid backup
the first image i see a pink logo appear but its working very anoying on ubuntu 64 bits 10.10
 
Last edited:

rictec

Member
Jan 30, 2011
127
24
i tested today and recovery is working the fact that it only uses a third of the screen is not an issue in my view.

i did a nandroid backup of my system and have all mtd files saved on my desktop

my device get on a zombie state after power off the 18d1:d00d google inc appears on lsusb (Linux command) but the device doesn't do anything i had to reboot and do the volume and power again for it to respond.
on Ubuntu 64 bits 10.10 at least on my system i had to run fastboot as root user.

this is nice work thanks xaueious and perivalura and all the others
 
Last edited:

Entropy

Member
Dec 24, 2010
42
1
In /bootable/recovery/minui/graphics.c
Commenting the line
Code:
gr_active_fb = (gr_active_fb + 1) & 1;
under 'gr_flip' seems to work as a workaround. Not sure if this will screw anything up though.

That fixes the graphical error. Size is squished in half, so it is still pretty beta...

Another weird thing is that my device now automatically boots to recovery even though the boot partition has a working boot.img. I can over-ride this behavior by overwriting boot.img into recovery, but this is weird.

Proof of concept working recovery that doesn't wipe on boot, for version with internal memory and external SD:
Multiupload.com - upload your files to multiple file hosting sites!

This is pretty broken, but nandroid seems to work. Not sure what else works.

IF YOU WANT TO WRITE THIS IMAGE PERMANENTLY, I STRONGLY RECOMMEND YOU TO FIRST MAKE A BACKUP OF YOUR MISC PARTITION.
Based on the description of how the Android framebuffer works, it seems like what you did above is disable the buffer swapping. It looks like the "nonused" buffer is still getting displayed on the S7.

The symptoms you describe sound a lot like what BOARD_HAS_JANKY_BACKBUFFER is intended for... Maybe try #defining that to see if it works?
 

xaueious

Administrator
Staff member
Jul 9, 2010
3,483
436
That fix is already in there, if you are referring to this: https://github.com/coolya/android_bootable_recovery/commit/4995114d386182efd8f680aa8486a371da9f6b27

The stuff from graphics.c is hardcoded in the graphics.c I kanged.


I did notice that BOARD_HAS_NO_MISC_PARTITION was set to true, so that might explain the wackiness of the recovery being unwilling to go back to boot. Turns out some of my modifications were actually useless.

Now I actually am ignoring the misc commands by commenting out get_bootloader_message in main of recovery.c


USB mass storage is fixed too now. Path is /sys/devices/platform/msm_hsusb/gadget/lun0/file just like Dell Streak, so fix it in extended_command.

I'll clean it up a bit and re-release it
 

pvella

Senior Member
Dec 20, 2010
392
38
On my machine, with no internal card and the latest Singapore ROM, this is my config:

Code:
# cat /proc/mtd
cat /proc/mtd
dev:    size   erasesize  name
mtd0: 00500000 00020000 "boot"
mtd1: 0a000000 00020000 "system"
mtd2: 00500000 00020000 "recovery"
mtd3: 00060000 00020000 "splash"
mtd4: 00140000 00020000 "misc"
mtd5: 05ec0000 00020000 "cache"
mtd6: 0af00000 00020000 "userdata"
mtd7: 00500000 00020000 "logo"

Code:
# ls /dev/block/mmc*
ls /dev/block/mmc*
/dev/block/mmcblk0
/dev/block/mmcblk0p1
/dev/block/mmcblk0p2
#
 

xaueious

Administrator
Staff member
Jul 9, 2010
3,483
436
pvella, I will have to recompile one for your ROM, I believe. I hope my kernel boots with your device. This recovery tries to find the sdcard in a different location.

Moving this to the dev thread.
 

rictec

Member
Jan 30, 2011
127
24
changing that line: "gr_active_fb = (gr_active_fb + 1) & 1;" does not work on the 3.0.1.9 the CWM recovery required to get cm7 there i think
afaik is becouse cm7 only works on ext4 not sure yet
with that line i get double screens
 

rictec

Member
Jan 30, 2011
127
24
you implemented that graphics.c file can you provide it so can compare to the cm7 one and do the some?
thank you
 

rictec

Member
Jan 30, 2011
127
24
View attachment $froyo.zip# cat /proc/mtd
#dev: size erasesize name
mtd0: 00500000 00020000 "boot"
mtd1: 00500000 00020000 "recovery"
mtd2: 0fa00000 00020000 "system"
mtd3: 02100000 00020000 "cache"
mtd4: 0a000000 00020000 "userdata"
mtd5: 00200000 00020000 "logo"
mtd6: 000e0000 00020000 "splash"
mtd7: 00200000 00020000 "misc"

can you use this to re-compile the recovery?
init.rc --most init files and shell scripts are now on /system/etc i have a tar of it too now
thanks you ;)
recovery boots 100% but partitions are misplaced so we cant do a backup ...but can use the shell thats good

this zip has
all files on boot.img ...init.rc ...etc..
all files on /system/etc
the kernel .config file
build.prop
.....dont remenber what else lol
use zip and tar gunzip
 
Last edited:

xaueious

Administrator
Staff member
Jul 9, 2010
3,483
436
for testing...

I don't have time to make a full thread on this. It would be great if you guys can follow up on this...

android bootable recovery: 40167a358cc4e0827c18a92e65bfbb84 Multiupload
device huawei s7: b3e98f898f129cd889c607023b8d912d Multiupload

test recovery image for dualSD 0.1f: c2ed2ef23d900446990d69f3b07f47ae xaubeta_s7cwr0.1f.zip


removed the mmc kernel module binary, the insmod from init.rc for the mmc kernel module (it seems to be built into the kernel)
swapped the kernel to use the latest one
fix paths for system, userdata, cache

otherwise identical to the one built for Eclair
 
Top