Files
compulab/BUSTER_MIGRATION.md
T
2025-11-06 23:58:42 +01:00

2.3 KiB

IOT-GATE-RPI4 Configuration - Debian Buster Migration

Overview

The original iotg-rpi4-config_1.3-1_all.deb package was designed for Debian releases prior to Buster. Starting with Debian Buster, the boot partition structure changed:

  • Pre-Buster: Boot files at /boot/ (config.txt, overlays/)
  • Buster+: Boot files at /boot/firmware/ (config.txt, overlays/)

Changes Made

The repackaged version iotg-rpi4-config_1.3-1buster1_all.deb includes:

1. Script Path Update

File: usr/local/bin/iotg-rpi4-functions

# Before
CONFIG=/boot/config.txt

# After
CONFIG=/boot/firmware/config.txt

2. Overlay Relocation

Directory structure:

# Before
/boot/overlays/iotg-rpi4/*.dtbo

# After
/boot/firmware/overlays/iotg-rpi4/*.dtbo

3. Version Update

  • Version changed from 1.3-1 to 1.3-1buster1

Installation

On Debian Buster or later systems:

sudo dpkg -i iotg-rpi4-config_1.3-1buster1_all.deb

The package will:

  1. Install device tree overlays to /boot/firmware/overlays/iotg-rpi4/
  2. Install configuration utilities to /usr/local/bin/
  3. Install systemd service for IE module detection
  4. Install udev rules for CAN and TTY devices
  5. Run the configuration utility in quiet mode

Usage

After installation, run the configuration utility:

sudo iotg-rpi4-config

This provides an interactive menu to:

  • Configure Industrial I/O modules (slots A, B, C, D)
  • Enable/disable TPM
  • Detect currently installed modules
  • Apply configuration changes to /boot/firmware/config.txt

Technical Details

How It Works

  1. The utility detects installed IE modules via GPIO expanders
  2. User configures desired module types (CAN, RS232, RS485, Digital I/O)
  3. Configuration is written to /boot/firmware/config.txt as dtoverlay entries:
    dtoverlay=iotg-rpi4/iotg-rpi4-ie-a,can
    dtoverlay=iotg-rpi4/iotg-rpi4-ie-b,uart
    
  4. After reboot, the firmware loads the appropriate overlays

Compatibility

  • Device tree overlay syntax remains unchanged (relative paths)
  • All functionality preserved from original package
  • Works with Raspberry Pi OS (Debian Buster/Bullseye/Bookworm)

Repackaging

To repackage again or modify further, use the included script:

python3 repackage_for_buster.py

This automates the extraction, modification, and repackaging process.