[Android Q&A, Help & Troubleshooting] jmorvan:
CWM Custom, got adb but screen stays black

Hello, I built a custom CWM "jellybean" for a custom device i got from china.

When I "fastboot boot" the image, i have adb access to the device and the recovery.log says:

Starting recovery on Mon Jan 7 16:11:09 1980

framebuffer: fd 4 (480 x 800)

CWM-based Recovery v6.0.2.8

Starting recovery on Mon Jan 7 16:11:15 1980

framebuffer: fd 4 (480 x 800)

CWM-based Recovery v6.0.2.8

Starting recovery on Mon Jan 7 16:11:20 1980

framebuffer: fd 4 (480 x 800)

CWM-based Recovery v6.0.2.8

Starting recovery on Mon Jan 7 16:11:25 1980

framebuffer: fd 4 (480 x 800)

CWM-based Recovery v6.0.2.8

Starting recovery on Mon Jan 7 16:11:30 1980

It seems to be restarting every 5 seconds and i get a black screen...

I tried "killall recovery" and launching "recovery" manually but i get a "segmentation fault" on the latter.

Any idea what that segmentation fault means? some other thread mentioned i needed to flash recovery for it to work but no luck!

here is my boardconfig:

USE_CAMERA_STUB := true

# inherit from the proprietary version
-include vendor/cilico/cm388/BoardConfigVendor.mk

TARGET_ARCH := arm
TARGET_NO_BOOTLOADER := true
TARGET_BOARD_PLATFORM := unknown
TARGET_CPU_ABI := armeabi-v7a
TARGET_CPU_ABI2 := armeabi
TARGET_ARCH_VARIANT := armv7-a-neon
ARCH_ARM_HAVE_TLS_REGISTER := true

BOARD_KERNEL_CMDLINE := androidboot.hardware=qcom loglevel=10 vmalloc=200M
BOARD_KERNEL_BASE := 0x00400000
BOARD_KERNEL_PAGESIZE := 4096

# fix this up by examining /proc/mtd on a running device
BOARD_BOOTIMAGE_PARTITION_SIZE := 0x105c0000
BOARD_RECOVERYIMAGE_PARTITION_SIZE := 0x105c0000
BOARD_SYSTEMIMAGE_PARTITION_SIZE := 0x105c0000
BOARD_USERDATAIMAGE_PARTITION_SIZE := 0x105c0000
BOARD_FLASH_BLOCK_SIZE := 131072

TARGET_PREBUILT_KERNEL := device/cilico/cm388/kernel

BOARD_HAS_NO_SELECT_BUTTON := true

my fstab:

# mount point	fstype device	[device2]

/boot	emmc	/dev/block/mmcblk0p16
/cache	ext4	/dev/block/mmcblk0p18
/data	ext4	/dev/block/mmcblk0p20 length=-16384
/recovery	emmc	/dev/block/mmcblk0p13
/misc	emmc	/dev/block/mmcblk0p11
/sdcard	vfat	/dev/block/mmcblk0p22
/system	ext4	/dev/block/mmcblk0p17
/sys_boot	vfat	/dev/block/mmcblk0p3
/FOTA	emmc	/dev/block/mmcblk0p19
/sdcard1	vfat	/dev/block/mmcblk1p1	/dev/block/mmcblk1
/splash	emmc	/dev/block/mmcblk0p21

and init.rc:

import /init.recovery.${ro.hardware}.rc

on early-init
start ueventd

on init
export PATH /sbin
export ANDROID_ROOT /system
export ANDROID_DATA /data
export EXTERNAL_STORAGE /sdcard

symlink /system/etc /etc

mkdir /boot
mkdir /sdcard
mkdir /sd-ext
mkdir /datadata
mkdir /emmc
mkdir /system
mkdir /data
mkdir /cache
mount /tmp /tmp tmpfs

chown root shell /tmp
chmod 0775 /tmp

write /sys/class/android_usb/android0/enable 0
write /sys/class/android_usb/android0/idVendor 18D1
write /sys/class/android_usb/android0/idProduct D001
write /sys/class/android_usb/android0/functions adb
write /sys/class/android_usb/android0/iManufacturer ${ro.product.manufacturer}
write /sys/class/android_usb/android0/iProduct ${ro.product.model}
write /sys/class/android_usb/android0/iSerial ${ro.serialno}

on boot

ifup lo
hostname localhost
domainname localdomain

class_start default

service ueventd /sbin/ueventd
critical

service recovery /sbin/recovery

service adbd /sbin/adbd recovery
disabled

# Always start adbd on userdebug and eng builds
on property:ro.debuggable=1
#write /sys/class/android_usb/android0/enable 1
#start adbd
setprop service.adb.root 1

# Restart adbd so it can run as root
on property:service.adb.root=1
write /sys/class/android_usb/android0/enable 0
restart adbd
write /sys/class/android_usb/android0/enable 1

ideas?

thanks