# intel-inb-manageability **Repository Path**: mirrors_intel/intel-inb-manageability ## Basic Information - **Project Name**: intel-inb-manageability - **Description**: The Intel® In-Band Manageability Framework enables an administrator to perform critical Device Management operations over-the-air remotely from the cloud. It also facilitates the publishing of telemetry and critical events and logs from an IoT device to the cloud enabling the administrator to take corrective actions if, and when necessary. The framework is designed to be modular and flexible ensuring scalability of the solution across preferred Cloud Service Providers (for example, Azure* IoT Central, ThingBoard.io, and so on). - **Primary Language**: Unknown - **License**: Apache-2.0 - **Default Branch**: develop - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2021-10-28 - **Last Updated**: 2025-12-06 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # Intel In-Band Manageability Framework (INBM) The Intel® In-Band Manageability Framework is software which enables an administrator to perform critical Device Management operations over-the-air remotely from the cloud. It also facilitates the publishing of telemetry and critical events and logs from an IoT device to the cloud enabling the administrator to take corrective actions if, and when necessary. The framework is designed to be modular and flexible ensuring scalability of the solution across preferred Cloud Service Providers (for example, Azure* IoT Central, ThingBoard.io, and so on). Key advantages of the Intel® In-Band Manageability solution are: 1. Out-of-box cloud support: Azure* IoT Central and ThingsBoard.io. 2. Single interface to handle OS, FW and Application (Docker container) updates. 3. Scalable across Intel x86 (Intel® Atom® and Intel® Core®) architectures SoCs ## Features | INB Features | Description | |:------------------------------|:--------------------------------------------------------------------------------------------------------------------------------------------------------| | Application OTA | Install / Remove Application (Native and Docker containers)
Integrates wrappers for Docker tools & utilities | | System OTA | Supports remote OS software updates, Kernel patches etc.
Ubuntu, Debian, Yocto project | | Firmware OTA | Supports remote firmware updates.
UEFI, U-boot, AFULNX (AMI) | | Rollback | Supports Auto-rollback of System Software, Containers and Firmware
❗Dependent on underlying OS and FW capabilities. | | Security | Supports AppArmor profiles, TPM for key management, Signature checks for packages.
Integrates Docker Bench Security for Container security checks | | FS Snapshots | Support differential updates via BTRFS snapshots, ‘A/B’ FS partition-based updates.
❗Dependent on underlying OS capabilities. | | Device Cloud Connect | Supports Azure IOT Central, ThingsBoard (on-premise) | | 3rd Party Repositories | Pull packages from 3rd party repositories (e.g. ODM/IBV, Stack vendors etc., Registries (e.g. Docker registry) | | Extensible Interface | Quick CSP Scaling possible by using Turtle Creek MQTT interfaces. | | Telemetry | Rules based Application, System, Firmware periodic report out to device cloud services | | Diagnostics (System Health) | Rules based monitoring of software operations, system health, interfaces and report out to device cloud | | Diagnostics (Container Checks | Rules based monitoring of containers and report out to device cloud | ## Device Management OTA Flow The below diagram depicts the INBM OTA uses cases and flow The flow is as follows: 1. An Administrator sends a request via the cloud. 2. A manifest is created based on the cloud request and sent to INBM. 3. Downloads any required packages from the remote repository as specified in the manifest. 4. Performs the update and sends the result back to the Administrator. ## Device Management Administrator Options INBM Device Management can be performed either via the cloud or the INBC command-line tool. INBC is a command line tool that can be used instead of the cloud to perform the updates. ## BUILD INSTRUCTIONS ### How to build * Prepare a Linux machine with Docker installed. Ensure the 'm4' and 'bash' packages are also installed (these are available in all major Linux distributions). * If you are behind a proxy, ensure your http_proxy, https_proxy, and no_proxy variables are set correctly and exported. E.g., in bash, you could run: "http_proxy=http://foo.com:1234/ && export http_proxy" * Ensure you are in docker group. * Ensure Docker run hello-world command succeeds, E.g., in bash, you could run: "docker run hello-world". Alternately you can use sudo, where you have to ensure the command in bash "sudo docker run hello-world" succeeds. * Run: ./build.sh If you see something like 'unable to resolve' or a DNS error or 'unable to look up' near the start of the build, follow the instructions under https://docs.docker.com/install/linux/linux-postinstall/ --> "DISABLE DNSMASQ". This can occur in some Linux distributions that put 127.0.0.1 in /etc/resolv.conf. ### Build output * When build is complete, build output will be in the `dist` folder. * See `dist/README.txt` for a description of the build output. ### Next Steps Please see the [Ubuntu Installation Guide](docs/In-Band%20Manageability%20Installation%20Guide%20Ubuntu.md) This build process will also build Windows binaries. See [In-Band Manageability Windows User Guide - UCC](docs/In-Band%20Manageability%20Windows%20User%20Guide%20-%20UCC.md) for Windows installation instructions. INBM Windows today only supports a limited installation in "UCC mode".