Posted by
duanev on
Apr 04, 2017; 5:38am
URL: https://itus.accessinnov.com/Current-state-of-Sheild-recovery-knowledge-tp1249p1382.html
Haha! Success!
samtec55@gmail.com wrote
you will have to copy the files overs as it's clear that the file octboot2,bin is missing this is need to boot in boot stage 3 which then loads u-boot-octeon_rhino_itx7x.bin, the shield is using the failsafe version 1 which is sort of good as it now allow you to upload the files as suggested in the above post. If i remember right it's a bit fiddly but do able. Be carefully with the command that are available in the stage2 as if you use the setenv it could write to the on board memory and you could brick the shield
the boot precess is
bootloader 1
which is the electronic process which hands bootup to the software stage
bootloader 2 -octboot2,bin on fat mmc 1 which in your case is missing or corrupt
bootloader 3 u-boot-octeon_rhino_itx7x.bin
Yes, that is the sequence when all is well, I had to first get octboot2.bin, u-boot-octeon_rhino_itus7x.bin, and a clean copy of the ItusrestoreImage onto the mmc1 root partition. Here's how:
- get ymodem working (see previous post in this thread)
- use ymodem to send u-boot-octeon_rhino_itus7x.bin to the shield and run it:
# screen -L save1.log /dev/ttyUSB0 115200
<ctrl-a> : zmodem auto
Octeon sff7000# setenv loadaddr 0x400000
Octeon sff7000# loady
(waits for ymodem)
<ctrl-a> : exec !! sz -Y u-boot-octeon_rhino_itus7x.bin
(wait about 1 minute --- 1138K bytes)
...
Octeon sff7000# go 0x400000
- connect the shield eth0 to a network with a dhcp server
- then ymodem send the latest ItusrestoreImage (that is mentioned here in other posts). This will test your patience - it takes 61 minutes to download the restore image!
Octeon cust_private_rhino_itus7x(ram)# setenv loadaddr 0x400000
Octeon cust_private_rhino_itus7x(ram)# loady
<ctrl-a> : exec !! sz -Y ItusrestoreImage
(wait 61 minutes)
...
Octeon cust_private_rhino_itus7x(ram)# bootoctlinux 0x400000 numcores=2 mem=0
(press enter several times to activate console during boot ...)
(then after you see the snoopy ascii art and a prompt, *quickly* paste in this mv command (X windows cut/paste is very handy here)
# mv /etc/rc.common /etc/xx.common
this moves the auto reinstall script out from under /etc/rc.local while /etc/rc.local is running and causes a prompt to return after mmc drivers are loaded and eth0 is activated.
- at which point hopefully the mmc 1 partition table is intact:
root@Shield:/# fdisk -l
Disk /dev/mmcblk0: 3.6 GiB, 3867148288 bytes, 7553024 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0x00000000
Device Boot Start End Sectors Size Id Type
/dev/mmcblk0p1 * 2048 2099200 2097153 1G c W95 FAT32 (LBA)
/dev/mmcblk0p2 2101248 3842047 1740800 850M 83 Linux
/dev/mmcblk0p3 3842048 5582847 1740800 850M 83 Linux
/dev/mmcblk0p4 5582848 7323647 1740800 850M 83 Linux
...
- then mount the boot partition (FAT32) on /mnt
# mount /dev/mmcblk0p1 /mnt
- scp the new boot files to /mnt
# scp 192.168.0.2:itus/u-boot-octeon_rhino_itus7x.bin /mnt
# scp 192.168.0.2:itus/ItusrestoreImage /mnt
# scp 192.168.0.2:itus/octboot2.bin /mnt
- and reboot making sure all file buffers are written out
# umount /mnt
# sync
# sync
# reboot
At this point octboot2.bin should be used instead of the fallback, which should do the stage 3 boot of u-boot-octeon_rhino_itus7x.bin, which should intern run the restore image one more time (let it run uninterrupted), and that should reinstall 1.5sp1