ImjTool is very handy for working with firmware images
The Android Device Database aims to capture shell command output from representative Android devices, so that researchers will be able to get an idea of device and vendor idiosyncrasies even if they don't have the actual device for testing. The idea is to run a few common commands and a few tools of mine, capturing the output. This will take 2-3 minutes if you have a device, and will benefit many others who don't. I will add the firmware images so as to help static analysis.
This is a work in progress. Check Pixel 4 or Fire HD 10 for a sample
|SnapDragon 636 (SDM636)||Motorola One Power (Thanks @Hasaber8!)|
|SnapDragon 735 (SM7150)||Redmi K30 (Thanks, @kacskrz!)|
|SnapDragon 821 (msm8996)||Pixel (XL)|
|SnapDragon 835 (msm8998)||Pixel 2 (XL)|
|SnapDragon 845 (SD845)||Pixel 3 (XL)|
|HTC Exodus 1|
|One Plus 6 (Thanks, @SavioLukio!)|
|SnapDragon 855 (SD8150)||Samsung S10+ (US/CA)|
|Pixel 4 (Partition images)|
|SnapDragon 865 (SD8250)||IQOO3 (Many Thanks, Kishan Vyas of XDA!)|
|OppoFindX2Pro (Many Thanks to Chen Tingyi!)|
|Nubia RedMagic 5G|
|Exynos 9810||Galaxy S9 (non-US)|
|Exynos 9820||Galaxy S10 (non-US)|
|Exynos 990||Galaxy S20/S20Ultra (non-US) - Many thanks to A. Thomas!!|
|Kirin659||LLD-L31 (Honor 9 lite)|
|MT6580 (lowly 32-bit)||"S20" knockoff... (partitions)|
|...||Amazon Echo Dot (1st Gen)|
|MT6757 (P20)||Sony Xperia A1 Ultra (Thanks, Dmitry!)|
|MT6765 (P35)||Vivo Y83A (Partition images) (Thanks to Diplomatic's excellent mtk-su root!)|
|MT6889 (Dimensity 1000)||Vivo iQOO Z1 5G|
|MT8183||Amazon Fire HD 10 (2019) (Partition images)|
|SC6820i||Samsung Galaxy Star Plus (Thanks, Dmitry!)|
|SC9832e||Alldocube iPlay 7T|
Get adb shell to a (preferably rooted) device with a chipset not listed here, and run the following commands:
cat /proc/cpuinfo: To get the CPU architecture and details
cat /proc/version: To get the running kernel version
cat /proc/partitions: To get the partition map (might need root)
df: To get the mounted partitions stats
ls -l /dev: To get a list of all device nodes (useful for determining standard Linux, AOSP and vendor/BSP additions)
ls -l /dev/block/platform/*/*/by-name: To get the partition names (might require root. As of Android 10,
dumpsys: For a dump of all services
getprop: To get all the properties set on the device
getevent: To get a list of input devices (after which you can press CTRL-C)
service list: To get a list of all binder services
ps -Zef: To get a list of all processes and kernel threads on your device
ls -l /sys/module: To get a list of all modules, compiled in or loaded.
lsmodwould also be appreciated if you have loaded modules.
lshal- to list HW HALs
bindump users alland
bindump vndbinder users all.
lsof- this really helps
ls -lR /root (otherwise all the good stuff is denied..). This will be a huge file of O(60M), so please gzip before submitting.
The easiest way to get all this output is by running "script" on your MacOS or Linux host before "adb". this logs everything you do (until you type "exit") into a file called "typescript" - which is what I need. Thank you!
If your device identifies as a known chipset listed here, it probably doesn't make sense to list it here unless the outputs of the above commands greatly differ (e.g.
service list) or are from some esoteric brand.
If you can help, feel free to email me - ddb@... And I thank you in advance.