[BINWALK] Firmware Forensic Tool - Android General

[BINWALK] Firmware Forensic Tool
ReFirm Labs.
https://www.refirmlabs.com
[email protected]
https://github.com/ReFirmLabs
Binwalk is a fast, easy to use tool for analyzing, reverse engineering, and extracting firmware images.
This thread will present two ways to go about installing this Binwalk (Automatically and Manuallly) and both are not without problems. .
If you're using Debain or Ubuntu 20.4 you can bash ./ dep.sh because its been tested on Debain and Ubuntu. I have installed binwalk on Ubuntu-Budgie 20.10, Ubuntu-Budgie 20.04 and windows 10. My theory on Windows 10 is **** windows use linux but just in case you nuts haven't dropped....
PREREQUISITES
1.Download & install Cygwin (place in path C:\cygwin)
https://www.cygwin.com/
2.Download & install latest version of Python3 ( place in path C:\python3)
https://www.python.org/downloads/
INSTALLATION (Auto)
Open your Cygwin terminal and type the following command:
$ lynx -source rawgit.com/transcode-open/apt-cyg/master/apt-cyg > apt-cyg install apt-cyg /bin
$ apt-cyg install git wget unzip
$ apt-cyg install python3 python3-pip
$ wget https://github.com/ReFirmLabs/binwalk/archive$ lynx -source rawgit.com/transcode-open/apt-cyg/master/apt-cyg > apt-cyg install apt-cyg /bin
$ apt-cyg install git wget unzip
$ apt-cyg install python3 python3-pip/master.zip
$ unzip master.zip
$ cd binwalk-master && python3 setup.py install
Debian users can install all optional and suggested extractors/dependencies using the included deps.sh script (recommended):
$ sudo ./binwalk-master/deps.sh
If it installed with no issues then type "binwalk" and try to extract a firmware fill to make sure that you do not get an error. If you do than uninstall and reinstall manually.
(BEFORE installing Cygwin make a note of ALL the packages you will need to manually install Binwalk. You can get them during the installation of Cygwin. CHECK MARK wget, git, lynix and your list.)
If apt-cyg is unable to locate a package TRY THE "pip install <package_name>" COMMAND. If pip is unable locate the package then it's either already installed under a different name or its obsolete.
INSTALLATION (Manual)
$ lynx -source rawgit.com/transcode-open/apt-cyg/master/apt-cyg > apt-cyg install apt-cyg /bin
$ apt-cyg install git wget unzip
$ apt-cyg install python3 python3-pip
$ python3 setup.py install
$ pip3 --upgrade pip
$ pip3 install nose coverage
$ pip3 install pycryptodome
$ apt-cyg install libqt4-opengl python3-opengl python3-pyqt4 python3-pyqt4.qtopengl
$ pip3 install python3-numpy python3-scipy
$ pip3 install pyqtgraph
CAPSTONE
$ pip install capstone
$ apt-cyg install mtd-utils gzip bzip2 tar arj lhasa p7zip p7zip-full cabextract cramfsprogs cramfsswap squashfs-tools sleuthkit default-jdk lzop srecord
SASQUATCH
$ apt-cyg install zlib1g-dev liblzma-dev liblzo2-dev
$ git clone https://github.com/devttys0/sasquatch $ cd sasquatch && ./build.sh
$ pip3 install cstruct $ git clone https://github.com/sviehb/jefferson $ cd jefferson && python3 setup.py install
$ apt-cyg install liblzo2-dev python-lzo $ git clone https://github.com/jrspruitt/ubi_reader $ cd ubi_reader && python3 setup.py install
$ git clone https://github.com/devttys0/yaffshiv $ cd yaffshiv && python3 setup.py install $ wget -O - http://downloads.tuxfamily.org/sdtraces/stuffit520.611linux-i386.tar.g | tar -zxv $ cp bin/unstuff /usr/local/bin/ Note that for Debian/Ubuntu users, all of the above dependencies can be installed automatically using the included $ sudo ./deps.sh Note that I also used command it was the only way to get all the packages. It worked for me but make your own choices. Installing the IDA Plugin If IDA is installed on your system, you may optionally install the binwalk IDA plugin: $ python3 setup.py idainstall --idadir=/home/user/ida Likewise, the binwalk IDA plugin can be uninstalled: $ python3 setup.py idauninstall --idadir=/home/user/ida If all goes well... $ binwalk I believe this was my first tutorial. I gotta be honest, XDA as website is unbeatable. I have spent days upon days sifting through treads and will probably spend many more days doing research!

Thanks for sharing this.
Having made a quick look to https://www.kali.org/tools/binwalk/ it seems to be able to extract binaries from (otherwise) "closed" firmware files.
Then, of course you need to do the real thing to modify what you want to, according to your goals. At this point comes the reversing stuff.
Finally you have to repack everything (and eventually resign it as there might be some integrity check) to be able to use the given firmware.
On devices/roms I dealt with, the unpacking/repacking is done by the flashing program itself. (ie. SPD reserch tool for spreadtrum devices).
Is it able to repack correctly the rom as well ?

By the way, following the link to https : // www . refirmlabs . com we arrive to some microsoft security services.
Very strange.

FranckyGoesToHollywood said:
Thanks for sharing this.
Having made a quick look to https://www.kali.org/tools/binwalk/ it seems to be able to extract binaries from (otherwise) "closed" firmware files.
Then, of course you need to do the real thing to modify what you want to, according to your goals. At this point comes the reversing stuff.
Finally you have to repack everything (and eventually resign it as there might be some integrity check) to be able to use the given firmware.
On devices/roms I dealt with, the unpacking/repacking is done by the flashing program itself. (ie. SPD reserch tool for spreadtrum devices).
Is it able to repack correctly the rom as well ?
Click to expand...
Click to collapse
You are welcome. You know I've never been able to get SP to work or any of them to tell you the truth. Lgup, Odin are more precious than gold. I've been trying for 3 or 4 days to get Salt to flash a kdz, do, zip and images without success. The good thing about Binwalk is it will dissect anything that you feed it BUT like you were saying its definitely a lot of work brother. Do you think you could bless me with a copy of this working SP tool?

FranckyGoesToHollywood said:
By the way, following the link to https : // www . refirmlabs . com we arrive to some microsoft security services.
Very strange.
Click to expand...
Click to collapse
Huh..I will have to check that out.

FranckyGoesToHollywood said:
By the way, following the link to https : // www . refirmlabs . com we arrive to some microsoft security services.
Very strange.
Click to expand...
Click to collapse
Azure. That is strange. I found them on github by accident.

Jackspsychosis said:
You are welcome. You know I've never been able to get SP to work or any of them to tell you the truth. Lgup, Odin are more precious than gold. I've been trying for 3 or 4 days to get Salt to flash a kdz, do, zip and images without success. The good thing about Binwalk is it will dissect anything that you feed it BUT like you were saying its definitely a lot of work brother. Do you think you could bless me with a copy of this working SP tool?
Click to expand...
Click to collapse
You can get it directly from SP (free) :
Research Tool - Official SPD/Unisoc Flash Tool
The SPD Research Tool is mainly used for R&D and debugging, supports reading and writing flash partitions, NV parameters, PhaseCheck and ProdNV partitions (read back and then write to the phone), and supports functions such as packaging downloaded files. But this tool will not initialise ProdNV...
spdflashtool.com
For more convenience, I attached here both latest app and drivers. (compressed smaller)
--> however after 20' I still dont see them appear here...
This variant of the SP flasher can do really a lot of things (however I couldn't find any doc on it, you must be an SPD engineer to understand everything). Some .ini file comments can give a little help.

FranckyGoesToHollywood said:
You can get it directly from SP (free) :
Research Tool - Official SPD/Unisoc Flash Tool
The SPD Research Tool is mainly used for R&D and debugging, supports reading and writing flash partitions, NV parameters, PhaseCheck and ProdNV partitions (read back and then write to the phone), and supports functions such as packaging downloaded files. But this tool will not initialise ProdNV...
spdflashtool.com
For more convenience, I attached here both latest app and drivers. (compressed smaller)
--> however after 20' I still dont see them appear here...
This variant of the SP flasher can do really a lot of things (however I couldn't find any doc on it, you must be an SPD engineer to understand everything). Some .ini file comments can give a little help.
Click to expand...
Click to collapse
Thank you. Brother apparently I lied to ya, it wasn't SP that wouldn't flash. It was a different tool for Samsung devices. What I really need is something similar to LGUPD that will flash modified kdz firmware . I found an old school R&D tool that can make unpack and repack kdz files but can't flash since LGUP was released and LGUP won't flash a kdz file that's modified. Neither will Salt, Salt is more anal than LGUP if truth be told. It goes by LG anti-roll back rules smh. Odin won't flash a modified firmware either. You know what I'm trying do right? Sneak a patched boot image and/or custom recovery through.

Jackspsychosis said:
Thank you. Brother apparently I lied to ya, it wasn't SP that wouldn't flash. It was a different tool for Samsung devices. What I really need is something similar to LGUPD that will flash modified kdz firmware . I found an old school R&D tool that can make unpack and repack kdz files but can't flash since LGUP was released and LGUP won't flash a kdz file that's modified. Neither will Salt, Salt is more anal than LGUP if truth be told. It goes by LG anti-roll back rules smh. Odin won't flash a modified firmware either. You know what I'm trying do right? Sneak a patched boot image and/or custom recovery through.
Click to expand...
Click to collapse
I don't have much knowledge on lgup (other than it didn't even recognize my c299 - lgup+uppercut). During my SP rooting attempt I went into a vbmeta signature issue that blocks any modified boot/recovery. I wrote here a long story about that...
Finally, all this hardly worth the time spent on it (at least, as I'm not a harcore pro ;-)

Can you help with this gzip error, please? Thanks

Related

[Recovery] CWM Recovery 4.0.0.8 for Compaq Airlife 100

Hi all,
Note: I'm still testing these files and they are not final. I'm not responsible if you brick your device with these files. Use it at your own risk and only if you know what you are doing!
If you want to make sure that you don't loose anything use romdump to perform a backup for your device.
Files
Boot: boot-insid3r-0.1.img
Recovery: recovery-insid3r-0.1.img
How to prepare your PC
===== On Windows (I tried on Windows 7): =====
1)Download the latest Android SDK from here.It's the installer_r12-windows.exe file.
2)Run the installer. It will start a download all the files needed. Note:You must have Java JDK installed.
3)Boot your Compaq Airlife 100 to Fastboot Mode (BACK + POWER). It will show a black(empty) screen thats normal!
4)Connect your Compaq Airlife 100 through the USB Cable to your PC
5)Open Windows Start Menu and type: cmd.exe
6)Navigate to your Android SDK folder like this:
cd /
cd "Program Files\Android\android-sdk\tools"
7)Run fastboot:
fastboot.exe devices
(it will show only an '?', its normal)
8) Jump to "How to Use"
===== On Ubuntu (I tried on Ubuntu 11.04): =====
1)Download the latest Android SDK from here. It's android-sdk_r12-linux_x86.tgz file.
2)Unpack it.
3)Open terminal and navigate to <android-sdk-linux_x86>/tools and execute "android" script. This will start the download of the needed files.
4)Navigate to your Android SDK folder like this:
cd android-sdk-linux_x86/platform-tools/
5)Run fastboot:
./fastboot devices
(it will show only an '???????', its normal)
6) Jump to "How to Use"
How to use
1)Root your device, using an app like Universal Androot
2)boot your device into fastboot mode (BACK+POWER)
3)flash both images on Ubuntu:
Code:
./fastboot flash boot boot-insid3r-0.1.img
./fastboot flash recovery recovery-insid3r-0.1.img
or on Windows
Code:
fastboot.exe flash boot boot-insid3r-0.1.img
fastboot.exe flash recovery recovery-insid3r-0.1.img
4)boot your device into recovery mode (HOME+POWER)
Demo
ClockworkMod Recovery for Compaq Airlife 100: http://www.youtube.com/watch?v=rh8DhuDt0FY
Images
ClockworkMod Info
This recovery was compiled with the 4.0.0.8 source code, and it still under tests before final github submission for aproval.
Any question, just ask.
If you are familiar with Cyanogen porting please send me a PM.
Best Regards
Hey INSID3R great work!!!!
I come from CHW forum.
I`ll try this now!
Hi,
I noticed that people already downloaded the files. Can you provide some feedback?
Note: adb is now working but only over wi-fi.
Better chance for newer Android ?
Hi,
I just got an idea which are the capabilities of ClockworkMod. Using this tool I am able to install a better Android than 1.6.
But is any newer Android for this device out there?
Regards
Svgt99
svgt99 said:
Hi,
I just got an idea which are the capabilities of ClockworkMod. Using this tool I am able to install a better Android than 1.6.
But is any newer Android for this device out there?
Regards
Svgt
Click to expand...
Click to collapse
I'm working on that too. It will take some time to have a ROM ready since I'm not working full-time on this.
Cheers
How do I enter commands paar after this in FastBoot?? how I do this in Windows? Please put clearer instructions in order to offer a feedback
cesargdmi said:
How do I enter commands paar after this in FastBoot?? how I do this in Windows? Please put clearer instructions in order to offer a feedback
Click to expand...
Click to collapse
hi cesargdmi,
Just updated the first post with more instructions on how to prepare your PC.
If you still have questions feel free to ask.
Best Regards
Up and running now, I'm trying to create a ROM for this device but I never did, so I'll have to read much to make, I am not relying on these links.
http://forum.xda-developers.com/showthread.php?t=633246
http://theunlockr.com/2010/03/26/ho...om-for-android-part-1-setting-up-the-kitchen/
but apparently, it is not easy, you've made ​​some progress in creating the ROM? to please me feedback.
cesargdmi said:
Up and running now, I'm trying to create a ROM for this device but I never did, so I'll have to read much to make, I am not relying on these links.
http://forum.xda-developers.com/showthread.php?t=633246
http://theunlockr.com/2010/03/26/ho...om-for-android-part-1-setting-up-the-kitchen/
but apparently, it is not easy, you've made ​​some progress in creating the ROM? to please me feedback.
Click to expand...
Click to collapse
In the next few days I'll give an update on my developments. But I'm still on an early stage, I still don't have a bootable ROM .
I'm trying to build a custom ROM from Cyanogen code. This is how to prepare the Cyanogen code for your PC:
Install the Build Packages
1)Install using the package manager of your choice:
For 32-bit & 64-bit systems:
Code:
sudo apt-get install git-core gnupg flex bison gperf libsdl1.2-dev libesd0-dev libwxgtk2.6-dev squashfs-tools build-essential zip curl libncurses5-dev zlib1g-dev sun-java6-jdk pngcrush schedtool
For 64-bit only systems:
Code:
sudo apt-get install g++-multilib lib32z1-dev lib32ncurses5-dev lib32readline5-dev gcc-4.3-multilib g++-4.3-multilib
NOTE: gcc-4.3-multilib g++-4.3-multilib is no longer available for Ubuntu 11.04 64-bit, but should still build without issue.
NOTE: On Ubuntu 10.10, and variants, you need to enable the parter repository to install sun-java6-jdk:
add-apt-repository "deb http://archive.canonical.com/ maverick partner"
Create the Directories
You will need to set up some directories in your build environment.
To create them:
Code:
mkdir -p ~/bin
mkdir -p ~/android/system
Install the Repository
Enter the following to download make executable the "repo" binary:
Code:
curl [url]http://android.git.kernel.org/repo[/url] > ~/bin/repo
chmod a+x ~/bin/repo
NOTE: You may need to reboot for these changes to take effect.
Now enter the following to initialize the repository:
Code:
cd ~/android/system/
repo init -u git://github.com/CyanogenMod/android.git -b gingerbread
repo sync -j16
This will take about two hours.
With this tutorial you will have the Cyanogen Android OS 2.3.5 code on your system.
To start a ROM for Compaq Airlife 100 you will need to create these under the device/ directory:
Code:
mkdir compaq
cd compaq
mkdir airlife
cd airlife
And paste these files there.
This is only a basic start, we will need to learn by your own from here. Try to see the other directories inside the device/ folder and learn from other devices settings.
hehe
I'm just installing Ubuntu 9.10 to start doing the procedure, although I was reading says that is only valid for HTC but do not lose anything by trying.
if you run into any progress let me know
Adb
Hi Insid3r can you try to modify this file "default.prop" in the root folder? Inside this is a command with this name "persist.service.adb.enable=0", try to put a 1.. My english is bad sorry.!
I'll post that later, already did that to make the ADB work via Wi-Fi. Even with that option enabled the ADB doesn't work via USB.
Best Regards.
Ok, I did not know, but at least I tried. I also managed to install Flash Player 10.1, but can not get it to work with the native browser and others like opera and dolphinn either. Could you help me?
Best regards
Pleace, I'll go creazy thinking about how to install flash player plugin.
The file I used is on various internet sites is called "flash for 21" and I change and put in the AndroidManifest.xml "minsdk = 4" to install in the airlife.! Can you help me with this?
Thank you!!!!
Greetings.
@insid3r
Hi! I'm going to try this... have you stoped trying to port it? Or is any limitation? Is the bootloader unlocked? I don't undertand if the reason that there's NO roms is that it's blocked somehow, or is it for there's not many poeopl souporting this kidn of projects =/
I WANT to follow with this, please contact me through PM
Greetings from Argentina.
Insid3r, thanks ever answer but I need ask you something about update the compaq airlife 100, after you make the fastboot (back+power) and connect the netbook to the USB computer.
What driver you'd use? because in my Hardware Administrator not show the device, just says Android 1.0 (and its unrecognized) and in cmd when call the function fastboot devices (in the help command says must show a list of devices and not appear the compaq)
Best and thanks for your time.

[TUTORIAL/DEV]Build AOSP Android 2.3.7 for Allwinner A10 tablets (Teclast P76Ti)

Hi!
I haven't really found any kind of guides on how to build a complete AOSP android build from source (kernel and software) for Allwinner A10 tablets like the Ainol Novo 7 Advanced or the Teclast P76Ti.
I have a Teclast P76TI (rev4), and the following guide is only tested on such a device. As it's mostly based on the source drop of the Ainol Novo 7 Advanced, it should also work on that too.
Part 1
Part 1: Preparations
A: Preconditions
For building and creating a LiveSuite flashable package you will need the following:
For building the kernel and android you will need a 64 bit Linux machine. Ubuntu 10.04 64 bit is preferred for Gingerbread builds
For creating the LiveSuite flashable images, and actually flashing you will need a Windows machine. Windows 7 x64 works fine, as should Windows XP 32 bit too.
You will also need a working LiveSuite image file, for your tablet. Make sure that you can flash it to your device without problems!
Virtual machines are fine, if you have enough memory available. To build Android in a VM, you should give it at least 2GB of RAM. Alternatively if you're using Linux, you can create a Windows VM for the image creation or flashing part.
For the rest of the tutorial I will assume you are using a Linux Virtual Machine on a Windows box.
For building the kernel and AOSP you will need at least 35GB of free space in your linux machine (the more the better). To create the images you will need an additional 2GB of space on your Windows machine.
B: Getting the kernel and AOSP sources
First initialize your Linux machine according to this page: http://source.android.com/source/initializing.html
Here are the most important commands:
Code:
$ sudo add-apt-repository "deb http://archive.canonical.com/ lucid partner"
$ sudo apt-get update
$ sudo apt-get install sun-java6-jdk
$ sudo apt-get install git-core gnupg flex bison gperf build-essential \
zip curl zlib1g-dev libc6-dev lib32ncurses5-dev ia32-libs \
x11proto-core-dev libx11-dev lib32readline5-dev lib32z-dev \
libgl1-mesa-dev g++-multilib mingw32 tofrodos python-markdown \
libxml2-utils xsltproc
$ mkdir ~/bin
$ PATH=~/bin:$PATH
$ curl https://dl-ssl.google.com/dl/googlesource/git-repo/repo > ~/bin/repo
$ chmod a+x ~/bin/repo
// Additonal commands for Ubuntu 10.10:
$ sudo ln -s /usr/lib32/mesa/libGL.so.1 /usr/lib32/mesa/libGL.so
// Additonal commands for Ubuntu 11.10:
$ sudo apt-get install libx11-dev:i386
Now create a directory on your linux machine. The path should contain no spaces in it. Inside this directory first pull the kernel source from the allwinner github page:
Code:
$ git clone https://github.com/allwinner/linux-2.6.36 lichee
Make sure that the kernel resides in the lichee directory
Now download AOSP Android. We will use Gingerbread version 2.3.7:
Code:
$ mkdir android
$ cd android
$ repo init -u https://android.googlesource.com/platform/manifest -b android-2.3.7_r1
$ repo sync
Allwinner uses a special init, which has a few additional commands that you have to download too:
Code:
$ cd system/core
$ git pull git://github.com/sztupy/allwinner_android_system_core.git
$ cd ../..
You will also need the device descriptors for the tablets:
Code:
$ cd device
$ git clone git://github.com/sztupy/android_device_softwinner.git softwinner
$ cd ..
C: ARM compiler
You might simply use a compiler that is supplied for AOSP, they are inside the android/prebuilt/linux-x86/toolchain/arm-eabi-4.4.3/ directory. Alternatively you can also download the ARM compiler of CodeSourcery. Get the arm-2009q3 / arm-none-linux-gnueabi version, and unpack it inside a directory.
If ready, go on to next step: building the kernel
Part 2: Building the kernel
Change to the directory of the kernel. Now edit the file scripts/build_sun4i_crane.sh
Change the line "export CROSS_COMPILE=" to point to the ARM compiler. For example if you extracted the CodeSourcery files to /opt then use:
Code:
export CROSS_COMPILE=/opt/arm-2009q3/bin/arm-none-linux-gnueabi-
The default .config file is more or less the same that is supplied with your tablet. On the Teclast P76TI you can actually extract the .config file used from /proc using "adb pull /proc/config.gz" Not sure about other vendors.
Now you have to compile. Issue the command:
Code:
./build.sh -p sun4i_crane
This will build the kernel and modules inside the the "output" directory.
Next step is to compile Android
Part3
Part 3: Building Android
Go to the android directory. Now setup android using:
Code:
$ source build/envsetup.sh
$ lunch
You will get simething like this:
Code:
You're building on Linux
Lunch menu... pick a combo:
1. generic-eng
2. simulator
3. full_passion-userdebug
4. full_crespo4g-userdebug
5. full_crespo-userdebug
6. crane_Ainol_Novo7A-eng
7. crane_Teclast_P76TI_REV4-eng
Which would you like? [generic-eng]
Here select your device (option 6 or 7 depending on your tablet)
After you have selected it issue a make command:
Code:
$ make
This will take a while. If you're using ubuntu 11.10 make might fail, but you can fix it using these fixes: http://groups.google.com/group/android-building/browse_thread/thread/3484e7797909d014
After the building is complete you have to create the image files. Run the following command:
Code:
$ ./device/softwinner/crane-tcp76ti_r4/mkfs.sh
(substitute tcp76ti_r4 with ainovo7a if you're using the other tablet)
The image files will be ready in the directory "out/target/product/crane-tcp76ti_r4/images/" or "out/target/product/crane-ainovo7a/images/"
Copy the three files from here (root.img, recovery.img, system.img), and the "bImage" file from the "output" directory of the kernel to your Windows machine.
The next step is creating the flashable image, and flashing your build
Part 4: Flashing
A: Initialize kitchen
First download my A10 flash kitchen from this site: http://android.sztupy.hu/dl/a10/a10_flash_kitchen_v1.zip
This is based on the ainol novo 7 soruce drop, but only contains the nescessary files, and has a few batch scripts to automate the process.
There is also a v2, wich also supports ICS firmwares: http://android.sztupy.hu/dl/a10/a10_flash_kitchen_v2.zip
First unzip the files to a directory. You will see a few directories and to commands here: extract_image.bat and create_image.bat
First we have to extract an official image for your tablet. Simply comply the image file to this directory, and rename it to "original.img". If done, run extract_image.bat. This command should extract your image to the _extract directory.
Next you need to extract the bootfs inside the _bootfs directory. You have multiple options on how to do this:
1. Get the bootfs from your device on-line using adb:
Code:
> cd _bootfs
> adb shell
$ cd /
$ mount -o remount,rw -t ext4 /dev/root /
$ mkdir bootfs
$ mount -t vfat /dev/block/nanda /bootfs
(Control-C: exit adb shell)
> adb pull /bootfs
2. Get the bootfs from the extracted image file using Linux:
A. Copy the RFSFAT16_BOOTFS_000000000.fex file to linux
B.
Code:
$ mkdir bootfs
$ sudo mount -o loop RFSFAT16_BOOTFS_000000000.fex bootfs
$ cp -a bootfs b2
$ sudo umount bootfs
C. Copy the contents of the b2 directory to Windows, inside the _bootfs directory of the kitchen
B: Create image
If you have initialized the kitchen, you have to copy the four files from linux (system.img, root.img, recovery.img and bImage) inside the _input directory. You will also need to rename the .img files to .fex (so they should be system.fex, root.fex, recovery.fex).
If you are done with this, then run create_image.bat. It will create an output.img file, that can be flashed to the device using LiveSuite.
Additional information for developers:
1. Difference between AOSP 2.3.4 and Novo7 android 2.3.4
Download the diff file from here: http://android.sztupy.hu/dl/a10/diff_ainovo_aosp.gz
Filelist of differences: http://android.sztupy.hu/dl/a10/diff_ainovo_aosp_filelist.txt
sztupy, did you figure out why eDragonEx and FSBuild have an apparently unused Lua library next to each? I was interested by it, as it might be possible that some parts of the apps are actually written in Lua (would it be possible? Lua in a native DLL?), what would help reversing it.
fonix232 said:
sztupy, did you figure out why eDragonEx and FSBuild have an apparently unused Lua library next to each? I was interested by it, as it might be possible that some parts of the apps are actually written in Lua (would it be possible? Lua in a native DLL?), what would help reversing it.
Click to expand...
Click to collapse
Yeah, saw that. Also their build script used "convert" on the image.cfg, but that file wasn't in lua anyway (except for the image parts part which seems to be a lua hash).
There are also a lot of compiled files that are compiled inside the image file and which are neither the bootfs nor android or the kernel. I don't yet know what they are for, but I think they are used by LiveSuite during the flashing.
sztupy said:
Yeah, saw that. Also their build script used "convert" on the image.cfg, but that file wasn't in lua anyway (except for the image parts part which seems to be a lua hash).
There are also a lot of compiled files that are compiled inside the image file and which are neither the bootfs nor android or the kernel. I don't yet know what they are for, but I think they are used by LiveSuite during the flashing.
Click to expand...
Click to collapse
I know most of the files from the flashing, they are the following:
- SYS_CONFIG is used as a command bunch for LiveSuite. It tells the app how to flash, what to flash, where, and it configures the device too (screen size, ram info, cpu info, etc)
- Boot0 and Boot1 bins are NAND bootloaders
- FED FES and FET tools are NAND flashing utilities, checksums, hardware scanner, and other tools used during flashing.
- '12345678' files are bootloaders, config files, and tools for SDMMC flashing, if there's a device with SDMMC internal instead of NAND, these are used
- Split seems to be some kind of ID string, I had no luck retrieving it's usage and meaning.
So you say, that the actual Lua parts are the image encryption parts of eDragonEx? Interesting, maybe I've missed that spot with my tool...
Might I ask if you have tried disassembling (and decompiling) unimg.exe? I had several problems with it, but that would greatly help understanding how the images are created. I've got a C# framework, with image config parser, etcetera etcetera, to be able to read and create images in a much more advanced environment (filtering user errors, having tools for everything (bootfs modding, script.bin reversal, etcetera), and creating a working image as a final result), and it only needs the image file format (and some of my work, to create a parser).
The problems with unimg were all about positive sp values, and as I'm not a big assembly programmer, I couldn't make out anything from that. Maybe you understand it a bit more
Illetve beszélhetünk egy kicsit magyarul is. Tabletrepublic-on írtam hogy vegyél fel MSNre és részletezem a különböző Crane SDK elemek funkcióit, működését, egyebeket, amit eddig sikerült kiderítenem az egészről.
Sajnos elég zavaros, mivel vagy négyféle csomagoló rendszer készíti a fileokat, és ezek közül csak egy működött rendesen (crane_pack.exe). Jó lenne megérteni ezt a file formátumot, hogy egy kicsit normálisabb módon hozhassam létre, különféle vacakolások nélkül.
fonix232 said:
I know most of the files from the flashing, they are the following:
- SYS_CONFIG is used as a command bunch for LiveSuite. It tells the app how to flash, what to flash, where, and it configures the device too (screen size, ram info, cpu info, etc)
- Boot0 and Boot1 bins are NAND bootloaders
- FED FES and FET tools are NAND flashing utilities, checksums, hardware scanner, and other tools used during flashing.
- '12345678' files are bootloaders, config files, and tools for SDMMC flashing, if there's a device with SDMMC internal instead of NAND, these are used
- Split seems to be some kind of ID string, I had no luck retrieving it's usage and meaning.
Click to expand...
Click to collapse
Thanks for these. Seems I was mostly right
So you say, that the actual Lua parts are the image encryption parts of eDragonEx? Interesting, maybe I've missed that spot with my tool...
Click to expand...
Click to collapse
I think lua is not really used anymore. It probably had more relevance back in the past.
Might I ask if you have tried disassembling (and decompiling) unimg.exe? I had several problems with it, but that would greatly help understanding how the images are created. I've got a C# framework, with image config parser, etcetera etcetera, to be able to read and create images in a much more advanced environment (filtering user errors, having tools for everything (bootfs modding, script.bin reversal, etcetera), and creating a working image as a final result), and it only needs the image file format (and some of my work, to create a parser).
The problems with unimg were all about positive sp values, and as I'm not a big assembly programmer, I couldn't make out anything from that. Maybe you understand it a bit more
Click to expand...
Click to collapse
No, haven't tried disassembling it yet. I was very glad that it worked, and that I could create a whole working build just from the sources. I know there are a lot of quirks, like if the extension of the file is not .fex, then it will encrypt(?) it, etc. I might try it, but currently I'm more interested in getting a working AOSP ICS on my tablet. Besides for disassembly I need to be in a special mood, which I'm not really in now
Illetve beszélhetünk egy kicsit magyarul is. Tabletrepublic-on írtam hogy vegyél fel MSNre és részletezem a különböző Crane SDK elemek funkcióit, működését, egyebeket, amit eddig sikerült kiderítenem az egészről.
Sajnos elég zavaros, mivel vagy négyféle csomagoló rendszer készíti a fileokat, és ezek közül csak egy működött rendesen (crane_pack.exe). Jó lenne megérteni ezt a file formátumot, hogy egy kicsit normálisabb módon hozhassam létre, különféle vacakolások nélkül.
Click to expand...
Click to collapse
Már egy jó ideje nem használok MSN-t. Skype/GTalk/email viszont van. Ha nem használsz olyanokat, akkor azért majd felrakom.
Made a diff between AOSP android 2.3.4 and the Novo 7 2.3.4 source drop. The list can be found at post 6: http://forum.xda-developers.com/showpost.php?p=22397984&postcount=6
Nice tutorial! Do you mind if I fork your Github repo and add the device tree for the Bmorn V11 to the lunch list?
sztupy said:
Made a diff between AOSP android 2.3.4 and the Novo 7 2.3.4 source drop. The list can be found at post 6: http://forum.xda-developers.com/showpost.php?p=22397984&postcount=6
Click to expand...
Click to collapse
Most of the things changed aren't even needed for the device - ril can be replaced with a local one (and suggested by Google to do so), just like recovery changes, in ICS we already have USB BT support enabler, so BT changes can be dropped, just like framework changes (they are for the softbuttons on the notification bar), camera and mediaplayer changes should be local too (in the device tree), so 99% of changes can be dropped.
Additions are different, some can be totally erased, and some are needed. From your github, I see that you've already began making a cleaned up, generic A10 tree, but I miss a few things - libsensor for one, stagefright, camera, and audio. The AOSP stock ALSA should work, if the proper audio config is placed in a ROM, but I have bad feelings about the missing libsensors source, and camera. Stagefright has a chance too to work, but camera definitely won't, and the used sensors aren't the common ones to be included.
Használok GTalk-ot is, ott is ugyanez a nicknevem, gmail utótaggal, szóval a szokásos
FezzFest said:
Nice tutorial! Do you mind if I fork your Github repo and add the device tree for the Bmorn V11 to the lunch list?
Click to expand...
Click to collapse
That's what github is for
fonix232 said:
Most of the things changed aren't even needed for the device - ril can be replaced with a local one (and suggested by Google to do so), just like recovery changes, in ICS we already have USB BT support enabler, so BT changes can be dropped, just like framework changes (they are for the softbuttons on the notification bar), camera and mediaplayer changes should be local too (in the device tree), so 99% of changes can be dropped.
Additions are different, some can be totally erased, and some are needed. From your github, I see that you've already began making a cleaned up, generic A10 tree, but I miss a few things - libsensor for one, stagefright, camera, and audio. The AOSP stock ALSA should work, if the proper audio config is placed in a ROM, but I have bad feelings about the missing libsensors source, and camera. Stagefright has a chance too to work, but camera definitely won't, and the used sensors aren't the common ones to be included.
Használok GTalk-ot is, ott is ugyanez a nicknevem, gmail utótaggal, szóval a szokásos
Click to expand...
Click to collapse
libsensor and stagefright are still there, as I could manage them to get compiled. Not that they work though. For the libcamera it depends on CedarX, which I couldn't manage to compile, that's why I removed it (for now). Besides CedarX unfortunately not "open-source", so in theory we couldn't use it either (well... not that I actually care about licence violations).
I'm still compiling ICS. Will put back libcamera and try to get the other hardware libs to work after I managed to get ICS to boot.
sztupy said:
libsensor and stagefright are still there, as I could manage them to get compiled. Not that they work though. For the libcamera it depends on CedarX, which I couldn't manage to compile, that's why I removed it (for now). Besides CedarX unfortunately not "open-source", so in theory we couldn't use it either (well... not that I actually care about licence violations).
I'm still compiling ICS. Will put back libcamera and try to get the other hardware libs to work after I managed to get ICS to boot.
Click to expand...
Click to collapse
Please be noted that ICS requires new stagefright, camera HAL, new GPU drivers, and so on.
ICS also should have some differences in the build tree, make a new branch for sure (as an example, it requires a device.mk and device_base.mk, both being the base containers without target definition, full_[devicename].mk for the actual full target, and cm.mk for CyanogenMod, what I'd suggest you to build).
I couldn't find any of the sources, but must have overlooked something. Will check it further.
hi, I'm the author of unimg(esxgx).
and your unimg is not up-to-date(the version still have bugs to lead to fail the packing process.
Here is the latest version (fix bugs but no virus alarm[compared with the former version]), and you can use it in the same way.
please update your file.
PS. yes, the unimg can unpack and pack all allwinner's firewares without diffculty, good luck.
sorry for my english.
fonix232 said:
Might I ask if you have tried disassembling (and decompiling) unimg.exe? I had several problems with it, but that would greatly help understanding how the images are created. I've got a C# framework, with image config parser, etcetera etcetera, to be able to read and create images in a much more advanced environment (filtering user errors, having tools for everything (bootfs modding, script.bin reversal, etcetera), and creating a working image as a final result), and it only needs the image file format (and some of my work, to create a parser).
The problems with unimg were all about positive sp values, and as I'm not a big assembly programmer, I couldn't make out anything from that. Maybe you understand it a bit more
Click to expand...
Click to collapse
I think you should use unimg.exe.
unimg is the only tool to unpack it correctly.
you know, allwinner didn't want me to release the tool in public last year(the tool is for sc9800[the former chip]). for some commercial reason, the offical toolchain of a10 only contains pack_tool.
so I released the tool with other tools(rootcr, rootpk,etc..) in a small group.
but some person posted it on the internet. so....
I developed the analysis tools in the form of many files(unimg, rootcr, rootpk, unimg2), because I want to keep each of the packing stages simple.
you can use a "bat" file / a GUI shell to communicate with each other, and that is what I expected.
I can't smoothly speak english, so I modified several times.
Thank you very much!
If I may ask, would it be possible to release the source code too?
fonix232 said:
Thank you very much!
If I may ask, would it be possible to release the source code too?
Click to expand...
Click to collapse
I cannot released yet, but I will release it in a proper time on github (I have been touching with allwinner company, so I have to consider many factors).

[GUIDE] Setting up ADB and fastboot on ChromeOS using Crouton

**I TAKE NO RESPONSIBILITY FOR WHATEVER HAPPENS TO YOUR CHROMEBOOK.**
Follow this guide at your own risk
First, I would like to say that I have no built anything myself. All the work shown here has been compiled from the internet.
Second, I am no expert at this kind of thing but I have tried out everything myself and this is what has worked for me with Acer C7. ADB and fastboot work without any problems on my computer.
Third, this can actually go beyond just ADB and fastboot. You can develop with minimal restraints, but I will only be covering how to install ADB and fastboot.
Finally, I would appreciate if someone familiar with all of this would tell me what I can cut out/add as this was done by a trial and error process so I’m not entirely too sure what is necessary and what is not, or if there is an easier way of going about things.
This is a guide for anyone who wants to be able to run ADB and fastboot on their chromebook. Just note that it may take a lot of memory (it took around 4-5 GB for me), so you may want to install it on an SD card.
WARNING!
In order to run crouton and install Ubuntu you will have to go into developer mode which will wipe your device.
Instructions can be found here: http://www.chromium.org/chromium-os/poking-around-your-chrome-os-device
You can work with virtual terminal 2 or crosh shell. I recommend using a crosh shell because it’d be easier to look back here for info.
Files you’ll need (Choose according to 32 or 64 bit)
Crouton- http://goo.gl/fd3zc (Official site: https://github.com/dnschneid/crouton)
Android SDK- http://dl.google.com/android/adt/adt-bundle-linux-x86-20131030.zip OR http://dl.google.com/android/adt/adt-bundle-linux-x86_64-20131030.zip (Official Site: https://developer.android.com/sdk/index.html?hl=sk )
JDK- http://download.oracle.com/otn-pub/java/jdk/7u51-b13/jdk-7u51-linux-i586.tar.gz or http://download.oracle.com/otn-pub/java/jdk/7u51-b13/jdk-7u51-linux-x64.tar.gz
I will not go over the actual installation of crouton as that can be found here: https://github.com/dnschneid/crouton
I used precise and xfce:
Code:
-e ~/Downloads/crouton -t xfce
Okay now that you have crouton installed and running, let’s get to work. First comes the installation of JDK. Download the version of JDK for your bit version and extract it. Go over to Ubuntu (using the command:
Code:
sudo startxfce4
) and using terminal emulator move it over to /usr/lib/jvm with the code
Code:
sudo mv jdk1.7.0_51 /usr/lib/jvm/
Using the file manager go to /home/<USERNAME> and open the .bashrc file using gedit text editor and add this code at the end, DO NOT OVERWRITE ANYTHING
Code:
PATH=${PATH}:/usr/lib/jvm/jdk1.7.0_51/bin
JAVA_HOME=/usr/lib/jvm/jdk1.7.0_51
Wit that, you are done with installing JDK.
Moving onto the actual Android SDK, first download it.
Extract it and move the SDK into /local/usr
Assuming that the file is in your Downloads directory, use the commands:
Code:
sudo mv adt-bundle-linux-x86-20130219 /usr/local/
Next you’ll make a symlink to make typing commands easier:
Code:
sudo ln -s /usr/local/adt-bundle-linux-x86-20130219/ /usr/local/adt
Then go back to the bashrc file and add this code at the end once again, DO NOT OVERWRITE ANYTHING:
Code:
PATH=/usr/local/adt/sdk/platform-tools:/usr/local/adt/sdk/tools:/usr/lib/jvm/jdk1.7.0_15/bin:/usr/local/gradle-1.4/bin:$PATH
ANDROID_HOME=/usr/local/adt/sdk
Save and close the file, and run the command “. ~/.profile” in terminal.
Run the code and answer with y:
Code:
sudo apt-get install ubuntu-standard
sudo apt-get install ubuntu-desktop
sudo apt-get install synaptic
sudo apt-get install ia32-libs
sudo apt-get update
This might take some time and when that finishes type in
android
If you get permission denied run the command:
Code:
chmod u+x android
This should launch the Android SDK Manager. Check the tools section and install. When this is done, you should have ADB up and running.
Check using the command:
Code:
adb version
or just by typing adb
if you get list of commands you can run, congratulations ADB has been installed successfully!
Now check fastboot by typing fastboot. Once again if you get a list of commands for fastboot, congratulations you're done!
You now have ADB and fastboot on your Chromebook!
You can PM me and I will try to help if you have questions, or reply to this post.
Enjoy! :good:
Excellent post. One quick question however. When I attempt to install ia32-libs I get this:
Code:
Package ia32-libs is not available, but is referred to by another package.
This may mean that the package is missing, has been obsoleted, or
is only available from another source
However the following packages replace it:
lib32z1 lib32ncurses5 lib32bz2-1.0
E: Package 'ia32-libs' has no installation candidate
My question is: Should I install all 3 replacement packages (lib32z1 lib32ncurses5 lib32bz2-1.0)? One of them?
This dude here says I can repackage it manually. Should I do that?
You rock for taking the time to post this!
Tanks so much!
I would install everything as it is replacement
This guide is a bit long and tedious so if you want here is an installer made by HeadFox that worked for me on Trusty Unity.
http://forum.xda-developers.com/showthread.php?t=2431956
cheers!
when i get to entering ~/.profile, I get a permission denied message. the only thing different that I know I did was use the android SDk from the Android studio currently available and not the zip you provided a link to and obviouslyh change the file paths accordingly. any thoughts
08BajaBoy said:
when i get to entering ~/.profile, I get a permission denied message. the only thing different that I know I did was use the android SDk from the Android studio currently available and not the zip you provided a link to and obviouslyh change the file paths accordingly. any thoughts
Click to expand...
Click to collapse
You basically want to run .profile again, which is run once you spawn your linux chroot/crouton. I think the easiest way is to just logout of your linux session and then run crouton again.
Yeah, that's sorta like a "just reboot it" fix but not actually a full reboot.
vanillaflavor said:
**I TAKE NO RESPONSIBILITY FOR WHATEVER HAPPENS TO YOUR CHROMEBOOK.**
Follow this guide at your own risk
First, I would like to say that I have no built anything myself. All the work shown here has been compiled from the internet.
Second, I am no expert at this kind of thing but I have tried out everything myself and this is what has worked for me with Acer C7. ADB and fastboot work without any problems on my computer.
Third, this can actually go beyond just ADB and fastboot. You can develop with minimal restraints, but I will only be covering how to install ADB and fastboot.
Finally, I would appreciate if someone familiar with all of this would tell me what I can cut out/add as this was done by a trial and error process so I’m not entirely too sure what is necessary and what is not, or if there is an easier way of going about things.
This is a guide for anyone who wants to be able to run ADB and fastboot on their chromebook. Just note that it may take a lot of memory (it took around 4-5 GB for me), so you may want to install it on an SD card.
WARNING!
In order to run crouton and install Ubuntu you will have to go into developer mode which will wipe your device.
Instructions can be found here: http://www.chromium.org/chromium-os/poking-around-your-chrome-os-device
You can work with virtual terminal 2 or crosh shell. I recommend using a crosh shell because it’d be easier to look back here for info.
Files you’ll need (Choose according to 32 or 64 bit)
Crouton- http://goo.gl/fd3zc (Official site: https://github.com/dnschneid/crouton)
Android SDK- http://dl.google.com/android/adt/adt-bundle-linux-x86-20131030.zip OR http://dl.google.com/android/adt/adt-bundle-linux-x86_64-20131030.zip (Official Site: https://developer.android.com/sdk/index.html?hl=sk )
JDK- http://download.oracle.com/otn-pub/java/jdk/7u51-b13/jdk-7u51-linux-i586.tar.gz or http://download.oracle.com/otn-pub/java/jdk/7u51-b13/jdk-7u51-linux-x64.tar.gz
I will not go over the actual installation of crouton as that can be found here: https://github.com/dnschneid/crouton
I used precise and xfce:
Code:
-e ~/Downloads/crouton -t xfce
Okay now that you have crouton installed and running, let’s get to work. First comes the installation of JDK. Download the version of JDK for your bit version and extract it. Go over to Ubuntu (using the command:
Code:
sudo startxfce4
) and using terminal emulator move it over to /usr/lib/jvm with the code
Code:
sudo mv jdk1.7.0_51 /usr/lib/jvm/
Using the file manager go to /home/<USERNAME> and open the .bashrc file using gedit text editor and add this code at the end, DO NOT OVERWRITE ANYTHING
Code:
PATH=${PATH}:/usr/lib/jvm/jdk1.7.0_51/bin
JAVA_HOME=/usr/lib/jvm/jdk1.7.0_51
Wit that, you are done with installing JDK.
Moving onto the actual Android SDK, first download it.
Extract it and move the SDK into /local/usr
Assuming that the file is in your Downloads directory, use the commands:
Code:
sudo mv adt-bundle-linux-x86-20130219 /usr/local/
Next you’ll make a symlink to make typing commands easier:
Code:
sudo ln -s /usr/local/adt-bundle-linux-x86-20130219/ /usr/local/adt
Then go back to the bashrc file and add this code at the end once again, DO NOT OVERWRITE ANYTHING:
Code:
PATH=/usr/local/adt/sdk/platform-tools:/usr/local/adt/sdk/tools:/usr/lib/jvm/jdk1.7.0_15/bin:/usr/local/gradle-1.4/bin:$PATH
ANDROID_HOME=/usr/local/adt/sdk
Save and close the file, and run the command “. ~/.profile” in terminal.
Run the code and answer with y:
Code:
sudo apt-get install ubuntu-standard
sudo apt-get install ubuntu-desktop
sudo apt-get install synaptic
sudo apt-get install ia32-libs
sudo apt-get update
This might take some time and when that finishes type in
android
If you get permission denied run the command:
Code:
chmod u+x android
This should launch the Android SDK Manager. Check the tools section and install. When this is done, you should have ADB up and running.
Check using the command:
Code:
adb version
or just by typing adb
if you get list of commands you can run, congratulations ADB has been installed successfully!
Now check fastboot by typing fastboot. Once again if you get a list of commands for fastboot, congratulations you're done!
You now have ADB and fastboot on your Chromebook!
You can PM me and I will try to help if you have questions, or reply to this post.
Enjoy! :good:
Click to expand...
Click to collapse
Welldone mate!!

[RASPBERRY PI] Android-Tools binaries (ADB/Fastboot/fsutils)

Hi all,
I don't think we have a Rasp-pi forum on here, so Im posting here. Also, such a forum would probably be for those wishing to run Android on their Raspberry Pi. This thread is for those who are using their Pi for android development
I had a hard time finding android-tools packages for the debian "wheezy" build that comes with the Pi, so I back-ported them and built some binaries, attached below.
This is useful for people who plan to use their Raspberry Pi for some sort of android tinker. ing, but don't plan on doing any actual development (and hence will not need the full SDK). These should save some time. My first contribution to XDA, so enjoy!
Mirror available via PM.
MD5 Hash: AB22B0251A8A1B1209EF1342167C1E09
SHA1: FA8113237AF1C8F64FA74BF800A866A7B681CD2A
INSTALLATION
Download, cd to the directory you downloaded,
Code:
tar zxvf android-tools-pi.tar.gz && cd android-tools-pi
There should be three binaries in the directory.
Install with
Code:
dpkg -i android-tools-*.deb
Best,
amk
EDIT: Whoops.. if a mod could move this to the Pi forums I'd appreciate it. Thanks in advance.
I downloaded the files and unfortunately the md5 doesn't agree.
C9D4DB0E4D350022888D1AF8921EF7E9 for android-tools-pi.tar.gz
4C27CA4B23E4C3E0AFF814B592871DF6 for android-tools-pi.tar
The first file, android-tools-adb, doesn't seem to be a valid debian archive format.
I tried downloading more than once. Could you check your upload went ok?
A link or list of the utilities would be helpful, save a search. Also how you did it. I see fastboot and fsutils.
Thanks
Hm, that's interesting. This is from so long ago it almost feels like a foreign language now haha.
I think I just compiled the source code to run on wheezy but doing so required a few tricks (I think it needed to use the newer c++ compiler not included in wheezy)
Also the reason I did this was so I could cross-compile android ROMs on my pi, which I soon discovered was the stupidest idea I've ever had in my life. It's great for doing adb/recovery/ssh stuff though
I can look into it, but it'll take me some time
I know the feeling, forgetting earlier work, I actually write notes now, but then one has to clip them together to be able to find them again.
The latest Debian image seems to be quite good, usually though one has to download the more specialist utilities. It's just that these packages don't exist online, but I expect the c++ compiler would be available. If it isn't easy to reproduce the steps I'll start looking for the source and compiler. It seems that no one else tested the packages, but the general process of compiling a package for the Raspberry, and getting it into the right format to load, might be of interest to others.
The CWM (Clock Work Mode) recovery utility 6.0.5.1 for the P3100 phone seems easy enough to install using odin.
I imagine you were compiling Replicant, probably not enough memory on a Raspberry so it might need a big cache file somewhere if that's even possible.
The ssh function to phone seems interesting. I use it quite a lot between Raspberry computers, especially if something freezes.
Thanks
FOR OLD VERSION:
Since your archive files are not working - i got "****** doesn't seem to be a valid debian archive format"
Go to http://ftp.acc.umu.se/mirror/cdimage/snapshot/Debian/pool/main/a/android-tools/
Download this files to PI:
android-tools-adb_4.2.2+git20130529-3_armhf.deb
android-tools-fastboot_4.2.2+git20130529-3_armhf.deb
android-tools-fsutils_4.2.2+git20130529-3_armhf.deb
In terminal go to file location and then :
Code:
dpkg -i android-tools-*.deb
Or easy
NOW:
Code:
sudo apt-get install android-tools-adb android-tools-fastboot
Done ... we got ADB on Raspberry PI
Errors
Thank for the information so far.
I downloaded the files and ran the commands. There seem to be dependency problems.
I ran the second command thinking it might solve the problem with adb from the first one. It didn't.
As I don't want to risk doing the wrong thing I am posting the command prompt output here.
Should I do as it suggests? "Try 'apt-get -f install' with no packages"
I don't know enough about the packages to say what the problem is without a lot more research.
[email protected] ~/Desktop/Android/NewTools $ sudo dpkg -i android-tools-*.deb
Selecting previously unselected package android-tools-adb.
(Reading database ... 89053 files and directories currently installed.)
Unpacking android-tools-adb (from android-tools-adb_4.2.2+git20130529-3_armhf.deb) ...
Preparing to replace android-tools-fastboot 4.2.2+git20130529-3 (using android-tools-fastboot_4.2.2+git20130529-3_armhf.deb) ...
Unpacking replacement android-tools-fastboot ...
Preparing to replace android-tools-fsutils 4.2.2+git20130529-3 (using android-tools-fsutils_4.2.2+git20130529-3_armhf.deb) ...
Unpacking replacement android-tools-fsutils ...
dpkg: dependency problems prevent configuration of android-tools-adb:
android-tools-adb depends on libc6 (>= 2.15); however:
Version of libc6:armhf on system is 2.13-38+rpi2+deb7u8.
dpkg: error processing android-tools-adb (--install):
dependency problems - leaving unconfigured
Setting up android-tools-fastboot (4.2.2+git20130529-3) ...
Setting up android-tools-fsutils (4.2.2+git20130529-3) ...
Processing triggers for man-db ...
Errors were encountered while processing:
android-tools-adb
[email protected] ~/Desktop/Android/NewTools $ sudo apt-get install android-tools-adb android-tools-fastboot
Reading package lists... Done
Building dependency tree
Reading state information... Done
android-tools-adb is already the newest version.
android-tools-fastboot is already the newest version.
You might want to run 'apt-get -f install' to correct these:
The following packages have unmet dependencies:
android-tools-adb : Depends: libc6 (>= 2.15) but 2.13-38+rpi2+deb7u8 is to be installed
E: Unmet dependencies. Try 'apt-get -f install' with no packages (or specify a solution).
[email protected] ~/Desktop/Android/NewTools $

Odin4 v1.0 for Linux

Hi Folks - The Info below is "obsolete" as @TheAirBlow found a New Version in the LAP$US Samsung leak ( something I didn't know was a thing ... show's how much attention I've been paying lately lol )
The newer version appears to support newer samsung firmwares which using lz4 files inside the tar's ( according to the license at least )
OFFICIAL Samsung Odin v4 1.2.1-dc05e3ea - For Linux
Try out my new Linux flash tool called Thor - https://forum.xda-developers.com/t/dev-thor-flash-utility-the-new-samsung-flash-tool.4597355, which has all the features of this tool + extras, like the usual Windows Odin ones which are missing in...
forum.xda-developers.com
[OLD POST BELOW]
Hi Folks
It's been a while since I posted here but I think it might be time for me to get involved again
Anyway I was reading the "Odin Downloader Release Notes.xls" and decided to translate the Korean to English. I was quite surprised to see that there was an Entry noting the release of "Odin V1.0 for Linux" ... WTF a Linux version of Odin. I figured I'd try to track this B**tard down and I've finally found one.
In some random Odin3 v3.12.7 Download I've discovered a binary called odin4 which looks legit. It's a command line tool.
The help looks like this
Code:
Usage : odin4 [args...]
Odin4 downloader. odin4 version 1.0.
-v SHOW VERSION
-w Show License
-b Add Bootloader file
-a Add AP image file
-c Add CP image file
-s Add CSC file
-u Add UMS file
-V Home binary validation check with pit file
-d Set a device path (detect automatically without this option)
-l Show downloadable devices path
IMPORTANT : You must set up your system to detect your device.
create this file: /etc/udev/rules.d/51-android.rules
to add a line to the file:
SUBSYSTEM=="usb", ATTR{idVendor}=="04e8", MODE="0666", GROUP="plugdev"
(http://developer.android.com/tools/device.html)
And you maybe need to unload a module cdc_acm before downloading.
$sudo rmmod cdc_acm
OR
echo "blacklist cdc_acm" > /etc/modprobe.d/cdc_acm-blacklist.conf
Example :
$sudo rmmod cdc_acm
$odin4 -b BL_XXXX.tar.md5 -a AP_XXXX.tar.md5 -c CP_XXXX.tar.md5 -s CSC_XXXX.tar.md5
Example (Select One Device):
$odin4 -l
PATH_OF_DEVICE_A
PATH_OF_DEVICE_B
$odin4 -b BL_XXXX.tar.md5 -a AP_XXXX.tar.md5 -c CP_XXXX.tar.md5 -s CSC_XXXX.tar.md5 -d PATH_OF_DEVICE_A
and the beginning of the show license has
Code:
odin4 -w
Copyright(C) 2016 Samsung Electronics.Co, Ltd. All rights reserved.
the file output is as follows
Code:
odin4: ELF 64-bit LSB executable, x86-64, version 1 (GNU/Linux), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, for GNU/Linux 2.6.24, BuildID[sha1]=bdec684a47ab0b2109cb60b1bea18e3878750f30, with debug_info, not stripped
Not stripped with debug info.. sounds interesting!
I've attached the Odin rar file I found it in if anyone is interesting in playing with it. I haven't managed to flash anything with it. although I was only attempting to flash a J320FN combination firmware.
Obviously use at your own risk etc etc.. and have fun!
trevd
Additional: I can confirm this works a treat on the Galaxy S6 at least ( SM-G920P ) :good:
[/QUOTE] I was only attempting to flash a J320FN [/QUOTE]
Well isn't that interesting. Is that the J3 series Samsung, that I have the J320, the J327 and the J337-V?
I decided to make an unexpected change to linux, currently on Ubuntu 14. So I have had to find new tools to work with. I'm not even sure this was really ever intended to work, but it does. Perfectly. restored a Galaxy S4 SM-S975L to stock using your linux based binary. Truly impressive.
---------- Post added at 05:09 PM ---------- Previous post was at 04:56 PM ----------
P.S. So far this has done everything the Windows based ODIN does. Just re-rooted with it too
It also works with newest of Samsung phones, flashed Galaxy G975U earlier, must decompress lz4 files and repack tar
kalexander7 said:
It also works with newest of Samsung phones, flashed Galaxy G975U earlier, must decompress lz4 files and repack tar
Click to expand...
Click to collapse
Yeah that's what I was doing with those newer firmwares. I did contemplate writing a bash wrapper to handle the lz4b stuff but never got round to it lol. I'm always hunting for a newer version which might slip out of Samsung by accident at some point.
Hi
Sorry for joining to this thread a few years later. I cannot find the odin4 .rar file that trevd is supposed to have uploaded. Could you pleae help?
Thanks
Would be nice if somebody has a download link for this, thanks.
feddozz said:
Hi
Sorry for joining to this thread a few years later. I cannot find the odin4 .rar file that trevd is supposed to have uploaded. Could you pleae help?
Thanks
Click to expand...
Click to collapse
Synt4x.93 said:
Would be nice if somebody has a download link for this, thanks.
Click to expand...
Click to collapse
Found one! There you go...
https://androidfilehost.com/?fid=674106145207484582
Another: https://androidfilehost.com/?fid=6006931924117939794
trevd said:
Hi Folks
It's been a while since I posted here but I think it might be time for me to get involved again
Anyway I was reading the "Odin Downloader Release Notes.xls" and decided to translate the Korean to English. I was quite surprised to see that there was an Entry noting the release of "Odin V1.0 for Linux" ... WTF a Linux version of Odin. I figured I'd try to track this B**tard down and I've finally found one.
In some random Odin3 v3.12.7 Download I've discovered a binary called odin4 which looks legit. It's a command line tool.
The help looks like this
Code:
Usage : odin4 [args...]
Odin4 downloader. odin4 version 1.0.
-v SHOW VERSION
-w Show License
-b Add Bootloader file
-a Add AP image file
-c Add CP image file
-s Add CSC file
-u Add UMS file
-V Home binary validation check with pit file
-d Set a device path (detect automatically without this option)
-l Show downloadable devices path
IMPORTANT : You must set up your system to detect your device.
create this file: /etc/udev/rules.d/51-android.rules
to add a line to the file:
SUBSYSTEM=="usb", ATTR{idVendor}=="04e8", MODE="0666", GROUP="plugdev"
(http://developer.android.com/tools/device.html)
And you maybe need to unload a module cdc_acm before downloading.
$sudo rmmod cdc_acm
OR
echo "blacklist cdc_acm" > /etc/modprobe.d/cdc_acm-blacklist.conf
Example :
$sudo rmmod cdc_acm
$odin4 -b BL_XXXX.tar.md5 -a AP_XXXX.tar.md5 -c CP_XXXX.tar.md5 -s CSC_XXXX.tar.md5
Example (Select One Device):
$odin4 -l
PATH_OF_DEVICE_A
PATH_OF_DEVICE_B
$odin4 -b BL_XXXX.tar.md5 -a AP_XXXX.tar.md5 -c CP_XXXX.tar.md5 -s CSC_XXXX.tar.md5 -d PATH_OF_DEVICE_A
and the beginning of the show license has
Code:
odin4 -w
Copyright(C) 2016 Samsung Electronics.Co, Ltd. All rights reserved.
the file output is as follows
Code:
odin4: ELF 64-bit LSB executable, x86-64, version 1 (GNU/Linux), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, for GNU/Linux 2.6.24, BuildID[sha1]=bdec684a47ab0b2109cb60b1bea18e3878750f30, with debug_info, not stripped
Not stripped with debug info.. sounds interesting!
I've attached the Odin rar file I found it in if anyone is interesting in playing with it. I haven't managed to flash anything with it. although I was only attempting to flash a J320FN combination firmware.
Obviously use at your own risk etc etc.. and have fun!
trevd
Click to expand...
Click to collapse
Hi, I realize that the binary you found is non exist in any other Odin download, even from it's official Odin Forum. I've been using Odin version that you've uploaded several times with big success. However, in my phone I can only flash Android 7.0 with this Odin version.
Now that I have a stock ROM for 9.0, this Odin version doesn't work. Even after I decompress lz4 and re-tar it again. After long digging on the internet, many told me that it was because I was using older version of Odin. Yours is 3.12, the latest now is 3.14. They suggested me to use newer version, little did they know I don't have Windows machine. Heimdall is a mess and never work on my Samsung, Jodin doesn't work as well.
I was wondering if you have newer version of Odin ? With binary as well ?
-------------------------------------------------------------------------------------------------------------------------
UPDATE
--------------------------------------------------------------------------------------------------------------------------
After changing ports and cable around 126722 times, I can confirm this Odin STILL WORKS !
I was able to flash a fresh ROM of Android 9 on my Samsung Galaxy S8.
TIPS : Use USB 3.0 cable, but not a fast charging cable. Fast charging cable didn't work on me at all. As for ports, port 3.0 works just fine
Only for flashing a fresh ROM. Rooting doesn't seem to work at all.
sheinbo said:
After changing ports and cables around 126721 times, I failed completely to get JODIN working - now I discover this thread- but I have to admit: I have not idea what exactly to do with odin4 (blame on me). So 2 questions: could anybody tell step by step what do do with that ODIN4 - and: did anybody flash A10 or A11?
Click to expand...
Click to collapse
1. I'm assuming you have a Linux machine ? This will run only in Linux terminal environment (or Mac -- perhaps). You can read the first post from the OP, he explains in detailed of how to use this tool (in example section), I don't think I could explain any better than the OP.
Download Odin4 from this thread, then extract it in a folder along with your extracted ROM. Inside your folder, right click and choose "Open in Terminal". Put your phone in Download mode, try to connect it 126721 times with a cable to your machine and start flashing from terminal with this code :
sudo chmod a+x odin4
./odin4 -b [your BL file] -a [your AP file] -c [your CP file] -s [your CSC file]
Click to expand...
Click to collapse
For better example, take a look at OP's original post. If flashing is succeed, your phone will restart automatically. If not, change the cable 126721 more times.
2. No. Haven't tried with A10 or A11

Categories

Resources