[HTC Desire 610] ClearD:
Hey guys and gals. I'm working on a few things for our device and wanted to share what I know so far with you.

1. In the settings>battery manager menu, there is an option to turn off fastboot. If you're gonna be unlocking your bootloader or using fastboot for anything, you'll need this off. It'll allow you to access the fastboot menu.

2. To access the fastboot menu, hold the volume down button while holding the power button to boot up the phone. Release the power button while still holding the volume down button and it will boot into bootloader mode. Mine displays "tampered" and "locked" at the top. Not sure about yours. Once in here, use volume buttons and power button to navigate and select.

3. To access the hidden phone settings menu, go into the dialer and type the following: *#*#info#*#*

(I may have the stars and pound signs mixed up but I think that's correct)

4. The factory update image zip is named OP90DIAG.zip, but due to the font used, it may actually be 0P9ODIAG.zip. I can't really tell yet without making one and it finding it and opening it. I used to make these, and that may be an easy way for us to install things onto the device. A file with this name in the root of the SD card, properly formatted, will flash onto the device just like you were in fastboot. It's also a good way to save a soft bricked device.

5. You can perform a full device backup through adb before you unlock the bootloader on an unrooted device with the command

adb backup

and a few other modifiers at the end. I can't remember the entire code right now, but a simple Google search for "backup phone adb" will get you the instructions I used to do it just now.

6. To enable adb, you need to enable developer mode. To do this, go to settings, then about phone, then tap the build number about 10 times. It will open up the hidden developer menu for you, where you can check the "USB debugging" option to enable adb.

7. Partitions table:

1|u0_a420@unknown:/ $ cat /proc/partitions
major minor #blocks name

7 0 53046 loop0
7 1 22901 loop1
253 0 419432 zram0
179 0 7634944 mmcblk0
179 1 1024 mmcblk0p1
179 2 32768 mmcblk0p2
179 3 16 mmcblk0p3
179 4 15327 mmcblk0p4
179 5 256 mmcblk0p5
179 6 24255 mmcblk0p6
179 7 256 mmcblk0p7
179 8 256 mmcblk0p8
179 9 2048 mmcblk0p9
179 10 32 mmcblk0p10
179 11 4096 mmcblk0p11
179 12 5120 mmcblk0p12
179 13 1024 mmcblk0p13
179 14 32 mmcblk0p14
179 15 1024 mmcblk0p15
259 0 61441 mmcblk0p16
259 1 5120 mmcblk0p17
259 2 8192z mmcblk0p18
259 3 1536 mmcblk0p19
259 4 76801 mmcblk0p20
259 5 4096 mmcblk0p21
259 6 10240 mmcblk0p22
259 7 7167 mmcblk0p23
259 8 1024 mmcblk0p24
259 9 1536 mmcblk0p25
259 10 1536 mmcblk0p26
259 11 20480 mmcblk0p27
259 12 4 mmcblk0p28
259 13 256 mmcblk0p29
259 14 16 mmcblk0p30
259 15 1281 mmcblk0p31
259 16 64 mmcblk0p32
259 17 1024 mmcblk0p33
259 18 1 mmcblk0p34
259 19 8 mmcblk0p35
259 20 256 mmcblk0p36
259 21 25600 mmcblk0p37
259 22 30720 mmcblk0p38
259 23 14498 mmcblk0p39
259 24 16384 mmcblk0p40
259 25 16384 mmcblk0p41
259 26 278528 mmcblk0p42
259 27 2359296 mmcblk0p43
259 28 4587520 mmcblk0p44
179 16 2048 mmcblk0rpmb
179 32 7761920 mmcblk1
179 33 5709824 mmcblk1p1
179 34 2048000 mmcblk1p2
254 0 53046 dm-0
254 1 22900 dm-1

And

1|u0_a420@unknown:/ $ cat /proc/mounts
rootfs / rootfs ro,relatime 0 0
tmpfs /dev tmpfs rw,seclabel,nosuid,relatime,mode=755 0 0
devpts /dev/pts devpts rw,seclabel,relatime,mode=600 0 0
none /dev/cpuctl cgroup rw,relatime,cpu 0 0
proc /proc proc rw,relatime 0 0
sysfs /sys sysfs rw,seclabel,relatime 0 0
selinuxfs /sys/fs/selinux selinuxfs rw,relatime 0 0
debugfs /sys/kernel/debug debugfs rw,relatime 0 0
none /sys/fs/cgroup tmpfs rw,seclabel,relatime,mode=750,gid=1000 0 0
none /sys/fs/cgroup/memory cgroup rw,relatime,memory 0 0
none /acct cgroup rw,relatime,cpuacct 0 0
tmpfs /mnt/asec tmpfs rw,seclabel,relatime,mode=755,gid=1000 0 0
/dev/block/dm-0 /mnt/asec/com.kiloo.subwaysurf-1 ext4 ro,dirsync,seclabel,nosuid,nodev,noatime 0 0
/dev/block/dm-1 /mnt/asec/com.ea.game.pvz2_row-1 ext4 ro,dirsync,seclabel,nosuid,nodev,noatime 0 0
tmpfs /mnt/obb tmpfs rw,seclabel,relatime,mode=755,gid=1000 0 0
/dev/block/mmcblk0p43 /system ext4 ro,seclabel,nosuid,nodev,relatime,data=ordered 0 0
/dev/block/platform/msm_sdcc.1/by-name/userdata /data ext4 rw,seclabel,nosuid,nodev,relatime,discard,noauto_da_alloc,data=ordered 0 0
debugfs /data/d debugfs rw,relatime 0 0
/dev/block/mmcblk0p42 /cache ext4 rw,seclabel,nosuid,nodev,relatime,data=ordered 0 0
/dev/block/mmcblk0p38 /devlog ext4 rw,seclabel,nosuid,nodev,relatime,errors=continue,data=ordered 0 0
/dev/block/mmcblk0p27 /fataldevlog ext4 rw,seclabel,nosuid,nodev,relatime,errors=continue,data=ordered 0 0
/dev/block/platform/msm_sdcc.1/by-name/radio /firmware/radio vfat ro,relatime,uid=1000,gid=1000,fmask=0337,dmask=0227,codepage=cp437,iocharset=iso8859-1,shortname=lower,errors=remount-ro 0 0
/dev/block/platform/msm_sdcc.1/by-name/adsp /firmware/adsp vfat ro,relatime,uid=1000,gid=1000,fmask=0337,dmask=0227,codepage=cp437,iocharset=iso8859-1,shortname=lower,errors=remount-ro 0 0
/dev/block/platform/msm_sdcc.1/by-name/wcnss /firmware/wcnss vfat ro,relatime,uid=1000,gid=1000,fmask=0337,dmask=0227,codepage=cp437,iocharset=iso8859-1,shortname=lower,errors=remount-ro 0 0
tmpfs /sqlite_stmt_journals tmpfs rw,seclabel,relatime,size=512k 0 0
/dev/fuse /mnt/shell/emulated fuse rw,nosuid,nodev,relatime,user_id=1023,group_id=1023,default_permissions,allow_other 0 0
tmpfs /storage/emulated tmpfs rw,seclabel,nosuid,nodev,relatime,mode=751,gid=1028 0 0
/dev/block/vold/179:33 /mnt/media_rw/ext_sd vfat rw,dirsync,nosuid,nodev,noexec,relatime,uid=1023,gid=1023,fmask=0007,dmask=0007,allow_utime=0020,codepage=cp437,iocharset=iso8859-1,shortname=mixed,utf8,errors=remount-ro 0 0
/dev/block/vold/179:33 /mnt/secure/asec vfat rw,dirsync,nosuid,nodev,noexec,relatime,uid=1023,gid=1023,fmask=0007,dmask=0007,allow_utime=0020,codepage=cp437,iocharset=iso8859-1,shortname=mixed,utf8,errors=remount-ro 0 0
/dev/fuse /storage/ext_sd fuse rw,nosuid,nodev,relatime,user_id=1023,group_id=1023,default_permissions,allow_other 0 0
/dev/fuse /storage/emulated/0 fuse rw,nosuid,nodev,relatime,user_id=1023,group_id=1023,default_permissions,allow_other 0 0
/dev/fuse /storage/emulated/legacy fuse rw,nosuid,nodev,relatime,user_id=1023,group_id=1023,default_permissions,allow_other 0 0

And here we go:

u0_a420@unknown:/ $ adb shell
error: device not found
platform/msm_sdcc.1/by-name <
lrwxrwxrwx root root 2014-08-08 19:15 adsp -> /dev/block/mmcblk0p16
lrwxrwxrwx root root 2014-08-08 19:15 board_info -> /dev/block/mmcblk0p3
lrwxrwxrwx root root 2014-08-08 19:15 boot -> /dev/block/mmcblk0p40
lrwxrwxrwx root root 2014-08-08 19:15 cache -> /dev/block/mmcblk0p42
lrwxrwxrwx root root 2014-08-08 19:15 carrier -> /dev/block/mmcblk0p37
lrwxrwxrwx root root 2014-08-08 19:15 cdma_record -> /dev/block/mmcblk0p33
lrwxrwxrwx root root 2014-08-08 19:15 control -> /dev/block/mmcblk0p30
lrwxrwxrwx root root 2014-08-08 19:15 custdata -> /dev/block/mmcblk0p22
lrwxrwxrwx root root 2014-08-08 19:15 ddr -> /dev/block/mmcblk0p14
lrwxrwxrwx root root 2014-08-08 19:15 debug_config -> /dev/block/mmcblk0p28
lrwxrwxrwx root root 2014-08-08 19:15 devlog -> /dev/block/mmcblk0p38
lrwxrwxrwx root root 2014-08-08 19:15 dsps -> /dev/block/mmcblk0p15
lrwxrwxrwx root root 2014-08-08 19:15 extra -> /dev/block/mmcblk0p32
lrwxrwxrwx root root 2014-08-08 19:15 fataldevlog -> /dev/block/mmcblk0p27
lrwxrwxrwx root root 2014-08-08 19:15 fsc -> /dev/block/mmcblk0p34
lrwxrwxrwx root root 2014-08-08 19:15 fsg -> /dev/block/mmcblk0p19
lrwxrwxrwx root root 2014-08-08 19:15 hboot -> /dev/block/mmcblk0p11
lrwxrwxrwx root root 2014-08-08 19:15 local -> /dev/block/mmcblk0p31
lrwxrwxrwx root root 2014-08-08 19:15 mfg -> /dev/block/mmcblk0p5
lrwxrwxrwx root root 2014-08-08 19:15 misc -> /dev/block/mmcblk0p24
lrwxrwxrwx root root 2014-08-08 19:15 modem_st1 -> /dev/block/mmcblk0p25
lrwxrwxrwx root root 2014-08-08 19:15 modem_st2 -> /dev/block/mmcblk0p26
lrwxrwxrwx root root 2014-08-08 19:15 pdata -> /dev/block/mmcblk0p29
lrwxrwxrwx root root 2014-08-08 19:15 pg1fs -> /dev/block/mmcblk0p2
lrwxrwxrwx root root 2014-08-08 19:15 pg2fs -> /dev/block/mmcblk0p6
lrwxrwxrwx root root 2014-08-08 19:15 radio -> /dev/block/mmcblk0p20
lrwxrwxrwx root root 2014-08-08 19:15 radio_config -> /dev/block/mmcblk0p18
lrwxrwxrwx root root 2014-08-08 19:15 recovery -> /dev/block/mmcblk0p41
lrwxrwxrwx root root 2014-08-08 19:15 reserve -> /dev/block/mmcblk0p39
lrwxrwxrwx root root 2014-08-08 19:15 reserve_1 -> /dev/block/mmcblk0p4
lrwxrwxrwx root root 2014-08-08 19:15 reserve_2 -> /dev/block/mmcblk0p23
lrwxrwxrwx root root 2014-08-08 19:15 rpm -> /dev/block/mmcblk0p8
lrwxrwxrwx root root 2014-08-08 19:15 sbl1 -> /dev/block/mmcblk0p1
lrwxrwxrwx root root 2014-08-08 19:15 sbl1_update -> /dev/block/mmcblk0p7
lrwxrwxrwx root root 2014-08-08 19:15 sdi -> /dev/block/mmcblk0p10
lrwxrwxrwx root root 2014-08-08 19:15 skylink -> /dev/block/mmcblk0p36
lrwxrwxrwx root root 2014-08-08 19:15 sp1 -> /dev/block/mmcblk0p12
lrwxrwxrwx root root 2014-08-08 19:15 ssd -> /dev/block/mmcblk0p35
lrwxrwxrwx root root 2014-08-08 19:15 system -> /dev/block/mmcblk0p43
lrwxrwxrwx root root 2014-08-08 19:15 tool_diag -> /dev/block/mmcblk0p21
lrwxrwxrwx root root 2014-08-08 19:15 tz -> /dev/block/mmcblk0p9
lrwxrwxrwx root root 2014-08-08 19:15 userdata -> /dev/block/mmcblk0p44
lrwxrwxrwx root root 2014-08-08 19:15 wcnss -> /dev/block/mmcblk0p17
lrwxrwxrwx root root 2014-08-08 19:15 wifi -> /dev/block/mmcblk0p13
u0_a420@unknown:/ $

Finally:

u0_a420@unknown:/ $ cat proc/emmc
dev: size erasesize name
mmcblk0p1: 00100000 00000200 "sbl1"
mmcblk0p2: 02000000 00000200 "pg1fs"
mmcblk0p3: 00004000 00000200 "board_info"
mmcblk0p4: 00ef7c00 00000200 "reserve_1"
mmcblk0p5: 00040000 00000200 "mfg"
mmcblk0p6: 017afc00 00000200 "pg2fs"
mmcblk0p7: 00040000 00000200 "sbl1_update"
mmcblk0p8: 00040000 00000200 "rpm"
mmcblk0p9: 00200000 00000200 "tz"
mmcblk0p10: 00008000 00000200 "sdi"
mmcblk0p11: 00400000 00000200 "hboot"
mmcblk0p12: 00500000 00000200 "sp1"
mmcblk0p13: 00100000 00000200 "wifi"
mmcblk0p14: 00008000 00000200 "ddr"
mmcblk0p15: 00100000 00000200 "dsps"
mmcblk0p16: 03c00400 00000200 "adsp"
mmcblk0p17: 00500000 00000200 "wcnss"
mmcblk0p18: 00800000 00000200 "radio_config"
mmcblk0p19: 00180000 00000200 "fsg"
mmcblk0p20: 04b00400 00000200 "radio"
mmcblk0p21: 00400000 00000200 "tool_diag"
mmcblk0p22: 00a00000 00000200 "custdata"
mmcblk0p23: 006ffc00 00000200 "reserve_2"
mmcblk0p24: 00100000 00000200 "misc"
mmcblk0p25: 00180000 00000200 "modem_st1"
mmcblk0p26: 00180000 00000200 "modem_st2"
mmcblk0p27: 01400000 00000200 "fataldevlog"
mmcblk0p28: 00001000 00000200 "debug_config"
mmcblk0p29: 00040000 00000200 "pdata"
mmcblk0p30: 00004000 00000200 "control"
mmcblk0p31: 00140400 00000200 "local"
mmcblk0p32: 00010000 00000200 "extra"
mmcblk0p33: 00100000 00000200 "cdma_record"
mmcblk0p34: 00000400 00000200 "fsc"
mmcblk0p35: 00002000 00000200 "ssd"
mmcblk0p36: 00040000 00000200 "skylink"
mmcblk0p37: 01900000 00000200 "carrier"
mmcblk0p38: 01e00000 00000200 "devlog"
mmcblk0p39: 00e28800 00000200 "reserve"
mmcblk0p40: 01000000 00000200 "boot"
mmcblk0p41: 01000000 00000200 "recovery"
mmcblk0p42: 11000000 00000200 "cache"
mmcblk0p43: 90000000 00000200 "system"
mmcblk0p44: 18000000 00000200 "userdata"

I'll add more here when I figure more out.

People have suggested using the Desire unlock and also the One M8 unlock methods on the HTC dev website. I'm not sure I can recommend either of these yet, as they both appear to replace your bootloader with the unlocked one, but neither of these devices are the same as ours, or even close, so I'm not sure I'd want to replace my bootloader with one from a completely different device just yet.

Once I know for sure that everything will be golden and working perfectly, getting root is the next step. We should be able to create a rooted boot image and system image, then the rest is history.

Someone will need to create a recovery image though, either twrp or Clockworkmod. We don't yet have device source though.

I'm also in contact with htc dev support right now with my own unlock identifier to find out if our device can really be reliably and officially unlocked without any hackery or incorrect bootloader flashing. We'll see what they say also. The first reply wasn't very reassuring though, as he asked for the error message I was given, when I never even got the unlock token yet.

Special thanks to:

Nixing - for testing for me and allowing use of his dev unit!