While fiddling arround with the ubifs port I recently did. I misstyped the MTD Partion and completly erased mtd0. This sounds not that tragically, but on mtd0 u-boot is located. Without a bootloader there is only a small chance that the box will boot again. To reboot the box in such a situation is a absolut no go. Now you have to start brain work …
For the ubifs tests I have choosen the fresh dylan port of my meta-stlinux layer. This was a first draft and so I just build the ,,core-image-minimal’‘. I included the mtd-utils but I’ve forgotten to include a ssh server aswell. This was not a big issue due to the fact that I used the serial line for connection. For testing I booted the box from USB. The USB was connect through a USB extension cable. Which cut me off from installing a fresh u-boot by inserting a USB Stick.
What are the options?
- Transfer the u-boot by zmodem
- Transfer the u-boot by ethernet.
The name minimal definitly means minimal. There was no serial command I did know to transer data. On the ethernet no SSH no telnet and of course no FTP. Okay lets start thinking…
BANG!!! my good old friend ,,netcat’‘ one little test and yes there is a ,,nc’‘ command. The rest was easy going.
How I solved the issue
On the host PC start the server
cat ~/uboot-alien.bin | nc -v -l 3333
Yes I do know alien is not the correct name for a golden media GM990 Box. But this was the only image I have found.
On the box I used this commands
# nc 192.168.24.157 3333 > u-boot.bin # du u-boot.bin 520 u-boot.bin # flash_eraseall -j /dev/mtd0 flash_eraseall has been replaced by `flash_erase <mtddev> 0 0`; please use it Erasing 64 Kibyte @ 0 -- 0 % complete flash_erase: Cleanmarker written at 0 Erasing 64 Kibyte @ 10000 -- 12 % complete flash_erase: Cleanmarker written at 10000 Erasing 64 Kibyte @ 20000 -- 25 % complete flash_erase: Cleanmarker written at 20000 Erasing 64 Kibyte @ 30000 -- 37 % complete flash_erase: Cleanmarker written at 30000 Erasing 64 Kibyte @ 40000 -- 50 % complete flash_erase: Cleanmarker written at 40000 Erasing 64 Kibyte @ 50000 -- 62 % complete flash_erase: Cleanmarker written at 50000 Erasing 64 Kibyte @ 60000 -- 75 % complete flash_erase: Cleanmarker written at 60000 Erasing 64 Kibyte @ 70000 -- 87 % complete flash_erase: Cleanmarker written at 70000 Erasing 64 Kibyte @ 70000 -- 100 % complete # flashcp u-boot.bin /dev/mtd0 # reboot
Now it was time to to keep one’s fingers crossed. One deep breath later the box bootet like every time before.
Board: STx7111-Mboard (MB618) [32-bit mode] info: Disregarding any EPLD U-Boot 1.3.1 (Oct 19 2010 - 18:08:50) - stm23_0043 - YW 1.0.017 Rel DRAM: 128 MiB NOR: 8 MiB NAND: 512 MiB *** Warning - bad CRC, using default environment In: serial Out: serial Err: serial IdentID : 09 00 07 00 00 46 d1 0 ESC to stop autoboot: 3
Except of the little message ,,*** Warning - bad CRC, using default environment’‘ this was caused because by writing 512kb I have destroyed u-boot environment. I am not sure If this is the right u-boot. I would be happy If someone with a Golden Media Spark reloaded Box can send me a copy of the u-boot.