Debian Installer for MNT Reform

Download

  Debian 13 Trixie With Linux from trixie-backports
Download URL https://reform.debian.net/d-i/reform-system-any.img.xz https://reform.debian.net/d-i/reform-system-any-bpo.img.xz
Image size 113M 117M
PGP signature https://reform.debian.net/d-i/reform-system-any.img.xz.sig https://reform.debian.net/d-i/reform-system-any-bpo.img.xz.sig
SHA256 92655fb4c74f510f09eeaf0352f1d2c71aab1b52683c9123d69ab56ac95aad0f 7a05d7af065b3638ee58d7de3164875da1aee63b7842f90b3e8a8edab3852f55

To reproduce above images locally use SOURCE_DATE_EPOCH=1751436000.

Flashing

You can flash the Debian Installer onto an SD-Card using bmaptool and PGP verification using the following command:

sudo bmaptool copy --fingerprint 3AC6EB840FA5CE3FF31BAD80EF93221F8A44FEB2 --keyring /usr/share/keyrings/debian-keyring.gpg https://reform.debian.net/d-i/reform-system-any-bpo.img.xz /dev/mmcblkX

Make sure to replace /dev/mmcblkX with the name of your SD-Card device of your computer. bmaptool will make sure not to accidentally overwrite any drive which is currently in use. For more guidance, see either directly below or the instructions about flashing.

Summary

These disk images contain Debian Installer netboot images similar to the official SD-card images but prepared with all changes necessary to allow installation on the Reform. Due to non-free firmware blobs (see below) these custom images are likely going to remain necessary. Alternatively, you can use full system images to quickly try out a desktop installation on your Reform without making changes to your eMMC or NVMe.

Manual partitioning for /boot

                                                                                
  ┌────────────────────────┤ [!!] Partition disks ├─────────────────────────┐   
  │                                                                         │   
  │ This is an overview of your currently configured partitions and mount   │   
  │ points. Select a partition to modify its settings (file system, mount   │   
  │ point, etc.), a free space to create partitions, or a device to         │   
  │ initialize its partition table.                                         │   
  │                                                                         │   
  MMC/SD card #1 (mmcblk0) - 15.7 GB MMC TB2916   -            │   
  │            >           4.2 MB       FREE SPACE             ▒            │   
  │            >     #1  511.7 MB    f  ext4          /boot    ▒            │   
  │            >          15.1 GB       FREE SPACE             0            │   
  │            /dev/nvme0n1 - 1.0 TB WDC WDS100T2B0C-00PXH0    ▒            │   
  │            >           1.0 MB       FREE SPACE             ▒            │   
  │            >     #1    8.0 GB    f  swap          swap     ▒            │   
  │            >     #2    120 GB    f  ext4          /        ▒            │   
  │                                                            .            │   
  │                                                                         │   
  │     <Go Back>                                                           │   
  │                                                                         │   
  └─────────────────────────────────────────────────────────────────────────┘   
                                                                                
<F1> for help; <Tab> moves; <Space> selects; <Enter> activates buttons          

These images contain the custom kernel from the reform.d.n repos with all required modules baked into the initramfs. Make sure to choose manual partitioning and place the /boot partition where your SoM can read it:

CPU Module SD-card eMMC NVMe
Reform 2 ✅ mmcblk1 ✅ mmcblk0
Reform 2 with LS1028A Module ✅ mmcblk0
Reform 2 with BPI-CM4 Module ✅ mmcblk0 ✅ nvme0
Reform 2 with i.MX8MP Module ✅ mmcblk0 ✅ mmcblk2
Reform 2 with RCORE RK3588 Module ✅ mmcblk1
Pocket Reform with BPI-CM4 Module ✅ mmcblk0 ✅ nvme0
Pocket Reform with i.MX8MP Module ✅ mmcblk0 ✅ mmcblk2
Pocket Reform with RCORE RK3588 Module ✅ mmcblk1
Reform Next with RCORE RK3588 Module ✅ mmcblk1

Reform-specific installation steps

At the end of the installation, a few additional steps are carried out:

  1. for i.MX8MQ: choose single or dual display configuration
  2. run flash-kernel
  3. run update-initramfs -u
  4. copy flash.bin into /boot
  5. choose whether to flash u-boot onto SD-card or eMMC (only valid choices will be displayed)
  6. run reform-flash-uboot --offline

How to verify GPG signature

gpgv --keyring /usr/share/keyrings/debian-keyring.gpg reform2-system.img.xz.sig /path/to/reform2-system.img.xz

non-free blobs

These images contain non-free material in the form of DDR training blobs, ARM trusted firmware blobs, WiFi/BT firmware and/or HDMI/eDP firmware. The non-free blobs are loaded onto the hardware early-on during the boot process and do not run on the main processor. Sometimes the blobs are optional. For example the HDMI blobs are only necessary if you need HDMI output. If you have your U-Boot on eMMC, then you do not need U-Boot on your SD-card and would thus be able to have a DFSG-free SD-card image. If you care for that, simply zero-out the respective range of bytes between the partition table and the first partition. If you are booting from a USB flash drive instead of from an SD-card, the U-Boot binary will not be used.

For more information about the differences between the modules see https://mntre.com/modularity.html#table.

CPU Module non-free blobs
NXP i.MX8MQ (default) Synopsys DDR4 training blob, Cadence HDMI blob
NXP i.MX8MPlus Synopsys DDR4 training blob, WiFi/BT firmware
NXP Layerscape LS1028A eDP display firmware blob
RCM4 with Banana Pi CM4 (Amlogic A311D) ARM trusted firmware, WiFi firmware
RCM4 with Raspberry Pi CM4 boot blob

Source

The images are generated by the following scripts: https://salsa.debian.org/reform-team/reform-debian-installer