In late 2019 we retired our TS-7400 device with 32 MB NAND flash in favor of the 128 MB flash devices that are more readily available. You can read more details about this changeover here: https://pcs.embeddedarm.com/notices/migration-from-32f-to-128f-for-ts-7400
The following is a step-by-step guide to take a TS-7400-*-128F-* device and restore its NAND flash back to the factory image. The following items are required for this process:
- A TS-9441 (must be updated to support the 128 MB TS-7400 variant if it supports 32 MB. See these instructions: https://docs.embeddedarm.com/TS-9441_Update)
- A full size SD card. If running through the above instructions to update the TS-9441, that same SD card can be used later as the steps below will start with that same image and add additional files to the SD card. We recommend a "standard capacity" SDSC card, SDHC may be used, SDXC is not compatible with the TS-7400.
- A Linux workstation, used for prepping the SD card and connecting to the TS-7400 serial console. We recommend running all commands for the workstation as the root user, e.g. 'sudo su'
- An RS-232 connection to the TS-7400 for console.
Note that no network connectivity of the TS-7400 is required, however, an internet connection on the Linux workstation is required to download the necessary files to the SD card to prepare it.
Steps 1-7 only need to be completed once to prepare an SD card for restoring a TS-7400. Additional TS-7400s being restored can skip steps 1-7.
- Format a fresh SD card with our "ts9441-updater" image: https://docs.embeddedarm.com/TS-9441_Update#Prepare_SD_Card (This step can be skipped if using an SD card that has already been prepped via the TS-9441 update process, it is not necessary to re-create it if it was used prior.)
- Insert the formatted "ts9441-updater" SD card in to host Linux workstation (or re-insert if using the same workstation)
- Mount the third partition, e.g. 'mount /dev/sdb3 /mnt/host'
- Make binaries directory, 'mkdir /mnt/host/binaries'
- Move to that directory, 'cd /mnt/host/binaries'
- Download relevant files to SD:
wget http://ftp.embeddedarm.com/ftp/ts-arm-sbc/ts-7400-linux/binaries/ts-utils/flash_eraseall chmod a+x flash_eraseall wget http://ftp.embeddedarm.com/ftp/ts-arm-sbc/ts-7400-linux/binaries/ts-utils/mtdcopy-static chmod a+x mtdcopy-static wget -O 128-mbr http://ftp.embeddedarm.com/ftp/images/mbr/ts7400-128-default wget -O 128-kernel http://ftp.embeddedarm.com/ftp/images/kernel/ts7400-128-default wget -O 128-initrd http://ftp.embeddedarm.com/ftp/images/initrd/ts7400-128-default wget -O 128-filesystem http://ftp.embeddedarm.com/ftp/images/os/ts7400-default
- Unmount SD card from workstation, e.g. 'cd && umount /mnt/host'
- Install SD card in to TS-7400, install TS-9441 on TS-7400, Set "Boot" jumper and remove "Write EN" jumper on the TS-9441, connect serial console, and then power.
- Mount SD card on TS-7400 and run all of the relevant commands:
insmod sdcard.o mount -oro /dev/sdcard0/disc0/part3 /mnt/root cd /mnt/root/binaries ./flash_eraseall /dev/mtd/0 # Note! You may see Input/Output errors here, this is due to badblocks and is benign ./mtdcopy-static 128-mbr 0 0 ./mtdcopy-static 128-kernel 1 0 ./mtdcopy-static 128-initrd 2 0 mkdir /onboardflash mount /dev/mtdblock/3 /onboardflash/ cd /onboardflash/ tar xvf /mnt/root/binaries/128-filesystem cd - umount /onboardflash/
- At this point, the restoration is complete. Power can be removed from the TS-7400 as all filesystems are mounted read-only or are not mounted. Repeat steps 8 & 9 on additional TS-7400 units.