Deploying and running a redpesk image for the NXP i.MX 8QuadXPlus MEK board
The NXP i.MX 8QuadXPlus Multisensory Enablement Kit (MEK) provides a platform for evaluation and development of the Arm® Cortex® A35 + Cortex-M4F based i.MX 8QuadXPlus, i.MX 8DualXPlus and i.MX 8DualX applications processors as well as the NXP PF8100 power management integrated circuit (PMIC) solution and sensors.
The i.MX 8X processor family is built with a high-level integration to support graphics, video, image processing, audio and voice functions, while meeting efficient performance requirements. The MEK is complete with highly optimized drivers and software, to enable broad-based applications for the embedded industrial and automotive markets.
Deploying a redpeskOS image on this kind of board consists of copying a disk image on an SDcard.
See i.MX8 specification for the NXP i.MX8 website.
Download images
See Download Images section.
Download NXP i.MX8QXP MEK image from command line
Create a directory to download the image:
mkdir ~/redpeskimage
cd ~/redpeskimage
Then download the latest redpesk OS image with this command:
wget -r -nd -nc --no-parent -A "redpesk*smack*" 'https://download.redpesk.bzh/redpesk-lts/batz-2.0-update/images/smack/minimal/aarch64/imx8/'
Control the image integrity
Before doing anything, please control the integrity of the downloaded redpesk image. Example:
sha256sum -c redpesk*.tar.xz.sha256
redpesk*aarch64*.tar.xz: OK
Copying the image on your sdcard
Plug your sdcard and Find it (be sure it is unmounted)
Copy the correct device path using the command below. It should be a hotplug device.
lsblk -dli -o PATH,VENDOR,TYPE,HOTPLUG,MODEL
DEVICE_TO_COPY='/dev/<hotplug_device>' #in the example it is /dev/sdc
Example:
$ lsblk -dli -o PATH,VENDOR,TYPE,HOTPLUG,MODEL
PATH VENDOR TYPE HOTPLUG MODEL
/dev/sda ATA disk 0 WDC_WD10SPZX-08Z10
/dev/sdc TS-RDF5 disk 1 SD_Transcend #MYSDCARD
/dev/nvme0n1 disk 0 LITEON T11 512
DEVICE_TO_COPY=/dev/sdc
Or if only one device is hotpluggable on your computer:
# need jq
DEVICE_TO_COPY=$(lsblk -dlJ -o PATH,VENDOR,TYPE,HOTPLUG,MODEL | jq -r '.blockdevices[] | select(.hotplug == true).path')
echo $DEVICE_TO_COPY
Umount if needed
lsblk $DEVICE_TO_COPY
# need to umount each partition
sudo umount <part*>
Example:
$ lsblk /dev/sdc
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sdc 8:32 1 14.6G 0 disk
├─sdc1 8:33 1 501M 0 part /run/media/iotbzh/0409-3A02
├─sdc2 8:34 1 1G 0 part /run/media/iotbzh/cd3c87ec-1011-4832-aef3-6be0ed3d3748
└─sdc3 8:35 1 2.5G 0 part /run/media/iotbzh/4e508264-8ce2-447f-a829-e4c31ea20047
$ sudo umount /run/media/iotbzh/*
Flash sdcard
Prerequisites: device is plugged in, found, unmounted
- Extract the image first
tar xJf redpesk*.tar.xz
- Flash it using
dd
sudo dd if="Redpesk-OS.img" of=$DEVICE_TO_COPY bs=4M status=progress
- Or using bmaptool
bmaptool copy "Redpesk-OS.img" $DEVICE_TO_COPY
TIPS: Once your are used to flash your image, you could do it much faster in one single step using
bmaptool
like this:bmaptool copy "https://download.redpesk.bzh/redpesk-lts/batz-2.0-update/images/smack/minimal/aarch64/imx8/image.raw.tar.xz" $DEVICE_TO_COPY
This will download, control integrity and flash the latest redpesk OS image on your device.
Hardware DIP switch configuration
Integrated into the PCB, a DIP switch is generally present to allow you to choose between different boot mode.
For the NXP i.MX8 QuadXPlus, here is the following configuration:
Boot mode (SW1 on SOM) | Switch 1 | Switch 2 | Switch 3 | Switch 4 |
---|---|---|---|---|
SD card | ON | ON | OFF | OFF |
eMMC | OFF | ON | OFF | OFF |
Serial download | ON | OFF | OFF | OFF |
Octal SPI | OFF | ON |
ON | OFF |
For more hardware information (like connections, button functions or led status), please refer to the NXP documentation.
Connect to the NXP i.MX8 board
-
Plug in the SD Card into the board.
-
By default, the board will boot to the eMMC. You have to change the boot switches like this:
- Power on the board.
- Connect the USB-UART cable following the three pins beside the SD card socket.
use
dmesg
to see the name of the USB plugged[ 7.567111] usb 1-2.1.2: pl2303 converter now attached to ttyUSB1
-
Use picocom (or minicom depending on your tools!)
sudo picocom -b 115200 /dev/ttyUSB1
NOTE: Default root password is
root
. -
Getting the address of the board to be able to use a ssh connection
Connect an Ethernet cable between computer and the NXP i.MX8 QuadXPlus.
#on board ip -c a
# on computer ssh root@<ip_board>
Installing a package
Your board is now ready to boot redpesk OS. You can install any packages and/or your own packages.
Please refer to section Application deployment for more details.