[Hardware Hacking General] E:V:A:
This is a research & development thread for building your own bootloaders on a

number of modern Qualcomm based devices, utilizing extracted partitions and

corresponding partition table information. We'll focus in particular on those

devices using the Snapdragon SoC/PoP chipset.

Thread difficulty: [B][COLOR=Red]Hard[/COLOR][/B]
Thread type: Development
Thread completeness: Fair

Building your own Bootloaders on Qualcomm Devices

Table of Content:

Introduction

Qualcomm/Intel HEX files

<WIP> QFIT (Qualcomm Factory Image Tools)

<WIP> The MBR Image

<TBD> BoToX (Bootloader Tool Box)

<WIP> Building for Windows Phone 8

<TBA> Compiling Bootloaders

<WIP> References

INTRODUCTION

All modern Qualcomm mobile chipsets contain some functionality for sideloading

binary code from an external source in case the normal boot procedure fails or

is interrupted by some other HW signal, like JTAG or other JIG debug

connection. In addition this side loading functionality is crucial for the

programming and formatting of additional memory devices like eMMC and SD cards

that are external to the processor and it's accompanying PoP memory. It is

also used by OEMs to revive soft-bricked devices and update the many

bootloaders used in the Qualcomm bootloader chain. However, all these features

and their various functionality are closely guarded secrets usually kept from

the public by very strict NDA for their company employees. Thus it has been

very difficult for the developer community to try to understand, use and

benefit from these most useful functions. Instead the dark side of mobile

phone community have made continuous profits in reversing the manufacturer

schemes by providing their own hacks and programs to offer mobile owners

various solutions for a charge, that is often out of proportion for what is

actually done. This is especially true for services requiring debricking by

various JIGs (such as the proprietary Anyway Jig and various JTAG solutions.)

All these solution rely on the possession of some inside information about the

device in question.

This thread is an attempt to alleviate this situation and allow anyone who

wishes, to freely flash and take charge of their own hardware, in the true

spirit of the XDA community. Here I will present information about how

Qualcomm put together their own bootloaders and how you could do the same, if

you only had the source code or talent to write your own or modify already

existing such. Although, there is one big hitch. Most new chipsets are using

a very secure authentication scheme (Secure Boot 3.0) to prevent

non-developers from flashing and using arbitrary boot code.

The information herein have been collected from older available Qualcomm tools

such as QPST and QXDM, and from pieces of their documents found around the

internet. Another important and challenging source have been the many Chinese

websites where people have managed to get some of this working and actually

bothered writing/blogging about it. Thank you China!

I will not go into details about the various bootloaders as they are already

covered elsewhere, for example, in this thread. I have also chosen to focus

primarily on the Qualcomm Snapdragon processor/modem SoC series, as they are

the most popular chips used in most mid- to upper-level smartphones today.

These devices typically include the MSM8x60 series consisting of the widely

popular MSM8660 and MSM8960 SoCs, currently found around the world. Another

highly relevant chipset is that of MSM8260A which is found in many Windows

Phone's, in particular in WP8.

...
​

REFERENCES

<WIP>
​

==================================================

If you find any errors or have any relevant additional information

that can be important for the correctness and content of this thread.

Please let me know by either posting here or sending me a PM.

Also, please do not ask any questions that is not of direct relevance

or help in the discussions in this thread . They will not be answered

and removed.

==================================================

​

Enjoy!