There is a project called "ubi-reader"
on GitHub (https://github.com/jrspruitt/ubi_reader)
Dependencies:
- A Linux system (Debian, ArchLinux, Ubuntu ...)
Just follow the instructions.
Install Dependencies:
Code
sudo apt-get install liblzo2-dev
sudo apt-get install python-lzo
git clone https://github.com/jrspruitt/ubi_reader
cd ubi_reader
sudo python setup.py install
Extract the complete root image:
Code
cd / PATH / TO / IMAGE
ubireader_extract_files [COLOR=red]root_cfe_auto.bin [COLOR=blue]<-(we need to extract this file)[/COLOR][/COLOR]
The root filesystem can be found in the directory "ubifs-root".
Tested be myself and working.
Here the log:
Code
gorazd@gorazd-h81m-s2v:~$[COLOR=red] sudo apt-get install liblzo2-dev[/COLOR]
[sudo] password for gorazd:
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following packages were automatically installed and are no longer required:
fuseiso linux-headers-4.4.0-24 linux-headers-4.4.0-24-generic
linux-headers-4.4.0-28 linux-headers-4.4.0-28-generic linux-headers-4.4.0-31
linux-headers-4.4.0-31-generic linux-headers-4.4.0-34
linux-headers-4.4.0-34-generic linux-headers-4.4.0-36
linux-headers-4.4.0-36-generic linux-image-4.4.0-24-generic
linux-image-4.4.0-28-generic linux-image-4.4.0-31-generic
linux-image-4.4.0-34-generic linux-image-4.4.0-36-generic
linux-image-extra-4.4.0-24-generic linux-image-extra-4.4.0-28-generic
linux-image-extra-4.4.0-31-generic linux-image-extra-4.4.0-34-generic
linux-image-extra-4.4.0-36-generic pinentry-qt4
Use 'sudo apt autoremove' to remove them.
The following NEW packages will be installed:
liblzo2-dev
0 upgraded, 1 newly installed, 0 to remove and 25 not upgraded.
Need to get 99,1 kB of archives.
After this operation, 851 kB of additional disk space will be used.
Get:1 http://si.archive.ubuntu.com/ubuntu xenial/main amd64 liblzo2-dev amd64 2.08-1.2 [99,1 kB]
Fetched 99,1 kB in 9s (10,2 kB/s)
Selecting previously unselected package liblzo2-dev:amd64.
(Reading database ... 450170 files and directories currently installed.)
Preparing to unpack .../liblzo2-dev_2.08-1.2_amd64.deb ...
Unpacking liblzo2-dev:amd64 (2.08-1.2) ...
Setting up liblzo2-dev:amd64 (2.08-1.2) ...
gorazd@gorazd-h81m-s2v:~$[COLOR=red] sudo apt-get install python-lzo[/COLOR]
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following packages were automatically installed and are no longer required:
fuseiso linux-headers-4.4.0-24 linux-headers-4.4.0-24-generic
linux-headers-4.4.0-28 linux-headers-4.4.0-28-generic linux-headers-4.4.0-31
linux-headers-4.4.0-31-generic linux-headers-4.4.0-34
linux-headers-4.4.0-34-generic linux-headers-4.4.0-36
linux-headers-4.4.0-36-generic linux-image-4.4.0-24-generic
linux-image-4.4.0-28-generic linux-image-4.4.0-31-generic
linux-image-4.4.0-34-generic linux-image-4.4.0-36-generic
linux-image-extra-4.4.0-24-generic linux-image-extra-4.4.0-28-generic
linux-image-extra-4.4.0-31-generic linux-image-extra-4.4.0-34-generic
linux-image-extra-4.4.0-36-generic pinentry-qt4
Use 'sudo apt autoremove' to remove them.
The following NEW packages will be installed:
python-lzo
0 upgraded, 1 newly installed, 0 to remove and 25 not upgraded.
Need to get 7082 B of archives.
After this operation, 64,5 kB of additional disk space will be used.
Get:1 http://si.archive.ubuntu.com/ubuntu xenial/universe amd64 python-lzo amd64 1.08-1 [7082 B]
Fetched 7082 B in 9s (744 B/s)
Selecting previously unselected package python-lzo.
(Reading database ... 450210 files and directories currently installed.)
Preparing to unpack .../python-lzo_1.08-1_amd64.deb ...
Unpacking python-lzo (1.08-1) ...
Setting up python-lzo (1.08-1) ...
gorazd@gorazd-h81m-s2v:~$ [COLOR=red]git clone https://github.com/jrspruitt/ubi_reader[/COLOR]
Cloning into 'ubi_reader'...
remote: Counting objects: 413, done.
remote: Total 413 (delta 0), reused 0 (delta 0), pack-reused 413
Receiving objects: 100% (413/413), 154.51 KiB | 256.00 KiB/s, done.
Resolving deltas: 100% (220/220), done.
Checking connectivity... done.
gorazd@gorazd-h81m-s2v:~$ [COLOR=red]cd ubi_reader[/COLOR]
gorazd@gorazd-h81m-s2v:~/ubi_reader$ [COLOR=red]sudo python setup.py install[/COLOR]
running install
running bdist_egg
running egg_info
creating ubi_reader.egg-info
writing ubi_reader.egg-info/PKG-INFO
writing top-level names to ubi_reader.egg-info/top_level.txt
writing dependency_links to ubi_reader.egg-info/dependency_links.txt
writing manifest file 'ubi_reader.egg-info/SOURCES.txt'
reading manifest file 'ubi_reader.egg-info/SOURCES.txt'
writing manifest file 'ubi_reader.egg-info/SOURCES.txt'
installing library code to build/bdist.linux-x86_64/egg
running install_lib
running build_py
creating build
creating build/lib.linux-x86_64-2.7
creating build/lib.linux-x86_64-2.7/ubireader
copying ubireader/settings.py -> build/lib.linux-x86_64-2.7/ubireader
copying ubireader/__init__.py -> build/lib.linux-x86_64-2.7/ubireader
copying ubireader/utils.py -> build/lib.linux-x86_64-2.7/ubireader
creating build/lib.linux-x86_64-2.7/ubireader/ubi_io
copying ubireader/ubi_io/__init__.py -> build/lib.linux-x86_64-2.7/ubireader/ubi_io
creating build/lib.linux-x86_64-2.7/ubireader/ubi
copying ubireader/ubi/display.py -> build/lib.linux-x86_64-2.7/ubireader/ubi
copying ubireader/ubi/defines.py -> build/lib.linux-x86_64-2.7/ubireader/ubi
copying ubireader/ubi/__init__.py -> build/lib.linux-x86_64-2.7/ubireader/ubi
creating build/lib.linux-x86_64-2.7/ubireader/ubifs
copying ubireader/ubifs/display.py -> build/lib.linux-x86_64-2.7/ubireader/ubifs
copying ubireader/ubifs/defines.py -> build/lib.linux-x86_64-2.7/ubireader/ubifs
copying ubireader/ubifs/misc.py -> build/lib.linux-x86_64-2.7/ubireader/ubifs
copying ubireader/ubifs/__init__.py -> build/lib.linux-x86_64-2.7/ubireader/ubifs
copying ubireader/ubifs/output.py -> build/lib.linux-x86_64-2.7/ubireader/ubifs
copying ubireader/ubifs/walk.py -> build/lib.linux-x86_64-2.7/ubireader/ubifs
creating build/lib.linux-x86_64-2.7/ubireader/debug
copying ubireader/debug/__init__.py -> build/lib.linux-x86_64-2.7/ubireader/debug
creating build/lib.linux-x86_64-2.7/ubireader/ubi/headers
copying ubireader/ubi/headers/__init__.py -> build/lib.linux-x86_64-2.7/ubireader/ubi/headers
creating build/lib.linux-x86_64-2.7/ubireader/ubi/image
copying ubireader/ubi/image/__init__.py -> build/lib.linux-x86_64-2.7/ubireader/ubi/image
creating build/lib.linux-x86_64-2.7/ubireader/ubi/volume
copying ubireader/ubi/volume/__init__.py -> build/lib.linux-x86_64-2.7/ubireader/ubi/volume
creating build/lib.linux-x86_64-2.7/ubireader/ubi/block
copying ubireader/ubi/block/__init__.py -> build/lib.linux-x86_64-2.7/ubireader/ubi/block
copying ubireader/ubi/block/layout.py -> build/lib.linux-x86_64-2.7/ubireader/ubi/block
copying ubireader/ubi/block/sort.py -> build/lib.linux-x86_64-2.7/ubireader/ubi/block
creating build/lib.linux-x86_64-2.7/ubireader/ubifs/nodes
copying ubireader/ubifs/nodes/__init__.py -> build/lib.linux-x86_64-2.7/ubireader/ubifs/nodes
creating build/bdist.linux-x86_64
creating build/bdist.linux-x86_64/egg
creating build/bdist.linux-x86_64/egg/ubireader
creating build/bdist.linux-x86_64/egg/ubireader/ubi_io
copying build/lib.linux-x86_64-2.7/ubireader/ubi_io/__init__.py -> build/bdist.linux-x86_64/egg/ubireader/ubi_io
creating build/bdist.linux-x86_64/egg/ubireader/ubi
copying build/lib.linux-x86_64-2.7/ubireader/ubi/display.py -> build/bdist.linux-x86_64/egg/ubireader/ubi
creating build/bdist.linux-x86_64/egg/ubireader/ubi/headers
copying build/lib.linux-x86_64-2.7/ubireader/ubi/headers/__init__.py -> build/bdist.linux-x86_64/egg/ubireader/ubi/headers
copying build/lib.linux-x86_64-2.7/ubireader/ubi/defines.py -> build/bdist.linux-x86_64/egg/ubireader/ubi
copying build/lib.linux-x86_64-2.7/ubireader/ubi/__init__.py -> build/bdist.linux-x86_64/egg/ubireader/ubi
creating build/bdist.linux-x86_64/egg/ubireader/ubi/image
copying build/lib.linux-x86_64-2.7/ubireader/ubi/image/__init__.py -> build/bdist.linux-x86_64/egg/ubireader/ubi/image
creating build/bdist.linux-x86_64/egg/ubireader/ubi/volume
copying build/lib.linux-x86_64-2.7/ubireader/ubi/volume/__init__.py -> build/bdist.linux-x86_64/egg/ubireader/ubi/volume
creating build/bdist.linux-x86_64/egg/ubireader/ubi/block
copying build/lib.linux-x86_64-2.7/ubireader/ubi/block/__init__.py -> build/bdist.linux-x86_64/egg/ubireader/ubi/block
copying build/lib.linux-x86_64-2.7/ubireader/ubi/block/layout.py -> build/bdist.linux-x86_64/egg/ubireader/ubi/block
copying build/lib.linux-x86_64-2.7/ubireader/ubi/block/sort.py -> build/bdist.linux-x86_64/egg/ubireader/ubi/block
copying build/lib.linux-x86_64-2.7/ubireader/settings.py -> build/bdist.linux-x86_64/egg/ubireader
copying build/lib.linux-x86_64-2.7/ubireader/__init__.py -> build/bdist.linux-x86_64/egg/ubireader
copying build/lib.linux-x86_64-2.7/ubireader/utils.py -> build/bdist.linux-x86_64/egg/ubireader
creating build/bdist.linux-x86_64/egg/ubireader/ubifs
copying build/lib.linux-x86_64-2.7/ubireader/ubifs/display.py -> build/bdist.linux-x86_64/egg/ubireader/ubifs
creating build/bdist.linux-x86_64/egg/ubireader/ubifs/nodes
copying build/lib.linux-x86_64-2.7/ubireader/ubifs/nodes/__init__.py -> build/bdist.linux-x86_64/egg/ubireader/ubifs/nodes
copying build/lib.linux-x86_64-2.7/ubireader/ubifs/defines.py -> build/bdist.linux-x86_64/egg/ubireader/ubifs
copying build/lib.linux-x86_64-2.7/ubireader/ubifs/misc.py -> build/bdist.linux-x86_64/egg/ubireader/ubifs
copying build/lib.linux-x86_64-2.7/ubireader/ubifs/__init__.py -> build/bdist.linux-x86_64/egg/ubireader/ubifs
copying build/lib.linux-x86_64-2.7/ubireader/ubifs/output.py -> build/bdist.linux-x86_64/egg/ubireader/ubifs
copying build/lib.linux-x86_64-2.7/ubireader/ubifs/walk.py -> build/bdist.linux-x86_64/egg/ubireader/ubifs
creating build/bdist.linux-x86_64/egg/ubireader/debug
copying build/lib.linux-x86_64-2.7/ubireader/debug/__init__.py -> build/bdist.linux-x86_64/egg/ubireader/debug
byte-compiling build/bdist.linux-x86_64/egg/ubireader/ubi_io/__init__.py to __init__.pyc
byte-compiling build/bdist.linux-x86_64/egg/ubireader/ubi/display.py to display.pyc
byte-compiling build/bdist.linux-x86_64/egg/ubireader/ubi/headers/__init__.py to __init__.pyc
byte-compiling build/bdist.linux-x86_64/egg/ubireader/ubi/defines.py to defines.pyc
byte-compiling build/bdist.linux-x86_64/egg/ubireader/ubi/__init__.py to __init__.pyc
byte-compiling build/bdist.linux-x86_64/egg/ubireader/ubi/image/__init__.py to __init__.pyc
byte-compiling build/bdist.linux-x86_64/egg/ubireader/ubi/volume/__init__.py to __init__.pyc
byte-compiling build/bdist.linux-x86_64/egg/ubireader/ubi/block/__init__.py to __init__.pyc
byte-compiling build/bdist.linux-x86_64/egg/ubireader/ubi/block/layout.py to layout.pyc
byte-compiling build/bdist.linux-x86_64/egg/ubireader/ubi/block/sort.py to sort.pyc
byte-compiling build/bdist.linux-x86_64/egg/ubireader/settings.py to settings.pyc
byte-compiling build/bdist.linux-x86_64/egg/ubireader/__init__.py to __init__.pyc
byte-compiling build/bdist.linux-x86_64/egg/ubireader/utils.py to utils.pyc
byte-compiling build/bdist.linux-x86_64/egg/ubireader/ubifs/display.py to display.pyc
byte-compiling build/bdist.linux-x86_64/egg/ubireader/ubifs/nodes/__init__.py to __init__.pyc
byte-compiling build/bdist.linux-x86_64/egg/ubireader/ubifs/defines.py to defines.pyc
byte-compiling build/bdist.linux-x86_64/egg/ubireader/ubifs/misc.py to misc.pyc
byte-compiling build/bdist.linux-x86_64/egg/ubireader/ubifs/__init__.py to __init__.pyc
byte-compiling build/bdist.linux-x86_64/egg/ubireader/ubifs/output.py to output.pyc
byte-compiling build/bdist.linux-x86_64/egg/ubireader/ubifs/walk.py to walk.pyc
byte-compiling build/bdist.linux-x86_64/egg/ubireader/debug/__init__.py to __init__.pyc
creating build/bdist.linux-x86_64/egg/EGG-INFO
installing scripts to build/bdist.linux-x86_64/egg/EGG-INFO/scripts
running install_scripts
running build_scripts
creating build/scripts-2.7
copying and adjusting scripts/ubireader_display_info -> build/scripts-2.7
copying and adjusting scripts/ubireader_extract_files -> build/scripts-2.7
copying and adjusting scripts/ubireader_extract_images -> build/scripts-2.7
copying and adjusting scripts/ubireader_utils_info -> build/scripts-2.7
changing mode of build/scripts-2.7/ubireader_display_info from 644 to 755
changing mode of build/scripts-2.7/ubireader_extract_files from 644 to 755
changing mode of build/scripts-2.7/ubireader_extract_images from 644 to 755
changing mode of build/scripts-2.7/ubireader_utils_info from 644 to 755
creating build/bdist.linux-x86_64/egg/EGG-INFO/scripts
copying build/scripts-2.7/ubireader_extract_files -> build/bdist.linux-x86_64/egg/EGG-INFO/scripts
copying build/scripts-2.7/ubireader_extract_images -> build/bdist.linux-x86_64/egg/EGG-INFO/scripts
copying build/scripts-2.7/ubireader_display_info -> build/bdist.linux-x86_64/egg/EGG-INFO/scripts
copying build/scripts-2.7/ubireader_utils_info -> build/bdist.linux-x86_64/egg/EGG-INFO/scripts
changing mode of build/bdist.linux-x86_64/egg/EGG-INFO/scripts/ubireader_extract_files to 755
changing mode of build/bdist.linux-x86_64/egg/EGG-INFO/scripts/ubireader_extract_images to 755
changing mode of build/bdist.linux-x86_64/egg/EGG-INFO/scripts/ubireader_display_info to 755
changing mode of build/bdist.linux-x86_64/egg/EGG-INFO/scripts/ubireader_utils_info to 755
copying ubi_reader.egg-info/PKG-INFO -> build/bdist.linux-x86_64/egg/EGG-INFO
copying ubi_reader.egg-info/SOURCES.txt -> build/bdist.linux-x86_64/egg/EGG-INFO
copying ubi_reader.egg-info/dependency_links.txt -> build/bdist.linux-x86_64/egg/EGG-INFO
copying ubi_reader.egg-info/top_level.txt -> build/bdist.linux-x86_64/egg/EGG-INFO
zip_safe flag not set; analyzing archive contents...
creating dist
creating 'dist/ubi_reader-0.4-py2.7.egg' and adding 'build/bdist.linux-x86_64/egg' to it
removing 'build/bdist.linux-x86_64/egg' (and everything under it)
Processing ubi_reader-0.4-py2.7.egg
Copying ubi_reader-0.4-py2.7.egg to /usr/local/lib/python2.7/dist-packages
Adding ubi-reader 0.4 to easy-install.pth file
Installing ubireader_utils_info script to /usr/local/bin
Installing ubireader_extract_images script to /usr/local/bin
Installing ubireader_extract_files script to /usr/local/bin
Installing ubireader_display_info script to /usr/local/bin
Installed /usr/local/lib/python2.7/dist-packages/ubi_reader-0.4-py2.7.egg
Processing dependencies for ubi-reader==0.4
Finished processing dependencies for ubi-reader==0.4
gorazd@gorazd-h81m-s2v:~/ubi_reader$ [COLOR=red]cd ~/Downloads[/COLOR]
gorazd@gorazd-h81m-s2v:~/Downloads$ [COLOR=red]ubireader_extract_files root_cfe_auto.bin[/COLOR]
Extracting files to: ubifs-root/935833350/rootfs
Display More