Skip to content

molejar/imxsb

Repository files navigation

i.MX SmartBoot Tool

Last Release

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.

i.MX SmartBoot Tool GUI: Main window

This project is still in developing phase. Please, test it and report founded issues.

Dependencies

  • 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.

Installation

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.

Usage

The i.MX SmartBoot tool is available in two variants:

  • imxsb-cli - with standard command line interface
  • imxsb-gui - with user friendly graphical interface

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.