This tool is usable for managed boot of embedded devices based on i.MX application processors. It fully replaces the imx_loader and adds features for an easy modification of binary sections in boot images like:
- i.MX Device Configuration Data (DCD)
- U-Boot Environment Variables
- U-Boot Executable Image
- Kernel Device Tree Data
Later will be added support for on the fly sign and encryption of loaded boot images.
- i.MX Code Signing Data (CSF)
All of this is complemented by user-friendly graphical interface.
This project is still in developing phase. Please, test it and report founded issues.
- Python - Python 3.x interpreter
- pyYAML - YAML parser and emitter for the Python programming language.
- Jinja2 - A small but fast and easy to use stand-alone template engine.
- pyIMX - Python module targeted for i.MX Applications Processors.
- pyFDT - Python package for manipulation with Device Tree images.
- pyUBoot - Python package for manipulation with U-Boot images and environment variables.
for GUI only:
- PyGObject - Python wrapper for the GTK+ graphical user interface library.
- PyQT5 - PyQt5 is a comprehensive set of Python bindings for Qt v5.
- wxPython - Cross-platform GUI toolkit for the Python language.
The standalone executables for Windows OS are available in releases page. For Linux users will exist installation packages later, at this moment use raw sources.
In case of development clone this repo into your PC and install all dependencies:
$ git clone https://github.com/molejar/imxsb.git
$ cd imxsb
$ pip install -r requirements.txt
For running imxsb-tkui.py
with modern face install ttkthemes
package:
$ pip install ttkthemes
You can run
imxsb-tkui.py
without this package, but the window will look like from Win98 era.
For running imxsb-wxui.py
install wxPython
package:
$ pip install wxPython
For running imxsb-qtui.py
install PyQT5
package:
$ pip install PyQT5
For running imxsb-gtkui.py
install PyGObject
package:
$ pip install PyGObject
The PyGObject package is available only for Linux OS yet.
The i.MX SmartBoot tool is available in two variants:
Linux users can get into device permission issue if run i.MX SmartBoot tool without root privileges (sudo). To fix this problem install udev rules distributed with pyIMX package.