i.MX53 SODIMM PC RecoveryVoipac webshop
Description
The recovery procedure consists of following steps:
- Loading bootloader binary over JTAG interface using OpenOCD Programming feature
- Running bootloader from RAM
- Flashing bootloader over Ethernet
- Erasing bootloader environment
- Flashing kernel over Ethernet
- Flashing root filesystem over Ethernet
- Resetting module
Requirements:
- JTAG adapter with OpenOCD software
- Serial adapter with terminal application
- Running TFTP server
- Running DHCP server (optional)
Loading bootloader
Follow these steps to load bootloader over serial connection.
Make sure to load the correct bootloader binary over JTAG. It is also a good practice to erase Barebox environment or load the default environment.
Updating firmware
This article describes updating Barebox, kernel and filesystems in details. The following sections provide these informations in more compact form.
Updating bootloader
Download the latest Barebox image and store it into TFTP directory:
mkdir -pv ~/tftp/vmx53
cd ~/tftp/vmx53/
release=20151129
wget http://downloads.voipac.com/files/i.MX53_SODIMM_PC-Development_Kit/module/software/barebox/binaries/barebox-2014.03.0_vmx53_${release}.img
Update Barebox:
#release=20150308
release=20151129
dhcp
eth0.serverip=192.168.0.1
update barebox vmx53/barebox-2014.03.0_vmx53_${release}.img
erase /dev/nand0.environment
reset
Updating Linux kernel
Download the latest Linux kernel image and store it into TFTP directory:
cd ~/tftp/vmx53/
release=20151129
wget http://downloads.voipac.com/files/i.MX53_SODIMM_PC-Development_Kit/module/software/linux/binaries/zImage-3.12.13_vmx53_${release}.bin
Update the kernel:
#release=20150308
release=20151129
dhcp
eth0.serverip=192.168.0.1
update kernel vmx53/zImage-3.12.13_vmx53_${release}.bin
Updating filesystem in UBIFS format
Download the latest filesystem image and store it into TFTP directory:
cd ~/tftp/vmx53/
release=20140907
wget http://downloads.voipac.com/files/i.MX53_SODIMM_PC-Development_Kit/module/software/filesystem/binaries/rootfs-1.22-ubifs-m2k-e128k-512M_vmx53_${release}.bin
wget http://downloads.voipac.com/files/i.MX53_SODIMM_PC-Development_Kit/module/software/filesystem/binaries/rootfs-1.22-ubifs-m4k-e1M-4G_vmx53_${release}.bin
wget http://downloads.voipac.com/files/i.MX53_SODIMM_PC-Development_Kit/module/software/filesystem/binaries/rootfs-1.22-ubifs-m4k-e512k-1G_vmx53_${release}.bin
Update the filesystem:
release=20140907
dhcp
eth0.serverip=192.168.0.1
update rootfs vmx53/rootfs-1.22-ubifs_vmx53_20140817.bin
# Flash size: 128MB, 256MB, 512MB
update rootfs vmx53/rootfs-1.22-ubifs-m2k-e128k-512M_vmx53_${release}.bin
# Flash size: 1024MB
update rootfs vmx53/rootfs-1.22-ubifs-m4k-e512k-1G_vmx53_${release}.bin
# Flash size: 4094MB
update rootfs vmx53/rootfs-1.22-ubifs-m4k-e1M-4G_vmx53_${release}.bin
Updating filesystem in UBI format
release=20140907
dhcp
eth0.serverip=192.168.0.1
# Flash size: 128MB, 256MB, 512MB
tftp vmx53/rootfs-1.22-ubi-m2k-e128k-512M_vmx53_${release}.bin /dev/nand0.rootfs.bb
# Flash size: 1024MB
tftp vmx53/rootfs-1.22-ubi-m4k-e512k-1G_vmx53_${release}.bin /dev/nand0.rootfs.bb
# Flash size: 4094MB
tftp vmx53/rootfs-1.22-ubi-m4k-e1M-4G_vmx53_${release}.bin /dev/nand0.rootfs.bb
Configuration
Configuring module version
By modifying env/config file the board configuration can be chosen:
barebox@Voipac VMX53:/ edit /env/config
...
# Module Configuration (Device Tree mode)
# BASIC=557, PRO=668, MAX=779
#global.vmxmodel=557
#global.vmxmodel=668
global.vmxmodel=779
# Nand Boot Mode
global.boot.default=nand-dtb-ubi
...
barebox@Voipac VMX53:/ saveenv
barebox@Voipac VMX53:/ reset
Loading custom device tree file
Upload a custom DTB file into Barebox environment:
dhcp eth0.serverip=192.168.0.1 tftp vmx53/imx53-vmx53-999.dtb /env/dtb/3.12/imx53-vmx53-999.dtb saveenv
Edit /env/config and add custom "global.vmxmodel" settings:
barebox@Voipac VMX53:/ edit /env/config
# BASIC=557, PRO=668, MAX=779
#global.vmxmodel=557
#global.vmxmodel=668
global.vmxmodel=999
barebox@Voipac VMX53:/ saveenv
Note: The script responsible for loading correct DTB file is stored in /env/init/dtb.