Any bootloader source code (opens source or reference) for Snapdragon 820?

Dear All,

Can you please help me to get the open source bootloader code for Snapdragon 820 ?
What bootloader code is used or any reference for UFS implementation in Snapdragon bootloader code ??
Thanks for the support.

Titus S.

The dragonboard in this forum is a 410c, not 820. It uses LK as the bootloader [1]. There is a ufs.c in the repo [2], but not sure if it’s what you’re looking for. If the 820 uses LK too, then there’s a chance it might use the same file since it’s in the ‘shared’ dir. HTH


LK will also be used for Snapdragon 820. there is no Linux release available yet for 820, but there are Android release. Looking at the available repo manifest, they seem to be using commit 10c20c115b01b17f9eeb67e2634e8dceca0bb9ca in the LK git tree (from CodeAurora).

I believe the LK version we use for 410c is too old and might not contain the latest drivers (for 820), so I suggest you look at the commit above instead. But be aware that most likely none of us will be able to help much for now.

Hi there. The latest Little Kernel (Open Bootloader) for MSM8996 can be found here: kernel/lk -

The core UFS driver is located here: kernel/lk - and UFS support is defined by the UFS_SUPPORT flag:\project - kernel/lk -

Thank you so much Jake!

Titus S.

No problem, Titus!


sorry to put this post back, especially in “dragonboard410c” forum, but I can’t find “dragonboard820c” forum.

I have a DragonBoard820c with Android already installed. I’d like to install OpenEmbedded (or Debian) on it.

I followed and I have generated the firmware.

Problem is that I can’t find Bootloaders for db820c in Linux mode (not Android).

For db410c, there is but nothing for db820c.

Could you please help me to find pre-compiled bootloader for Dragonboard 820c?

Thanks in advance.


hi @tba, there is no DB820c forum since the board is not launched yet, and users can’t (easily) get one yet.

for now , no bootloaders are distributed by QCOM for DB820c, nor Linaro. You have to get the bootloaders from ‘whoever get you the board in the first place’. This will of course change once the board is more officially available.

the Linux builds (OE, Debian, …) should work with the bootloader that you have on your board (e.g. from Android). the most notable difference is that there is no ‘rootfs’ partition (e.g. no specific GPT for Linux), but you can use ‘userdata’ or ‘system’ partitions from Android to flash the Linux root fs image.

Hi @tba ,
My best guess would be to build LK yourself :

Then, check the bootloader launches correctly. Once you’ve also flashed other partitions with the linux build, you’ll need to tweak LK and flash it again to make it boot linux. Try USB booting first (fastboot boot [image].img), then try to find the code where LK reads the “boot” partition (follow the Android boot execution path in LK code, and adapt it with the help of older linux booting functions “boot_linux_from_mmc(…)” to force it to boot linux).

LK is very nicely written and self-explanatory for the most part. But it seems that you have to modify the booting part yourself. Diving into the code will also teach you a lot about how it boots and potential boot problems with your build.

Good luck !

PS: Does anyone have an idea when the DB820c will be available?

Regarding availability, a couple of weeks ago, Arrow informed me that the board’s release is being held up by Qualcomm legal for software approval and that it could be “several months”.