Welcome! Log In Create A New Profile

Advanced

Rescue System Pogo V3 - Using Stock Pogo V3 OS

Posted by bodhi 
Rescue System Pogo V3 - Using Stock Pogo V3 OS
July 07, 2015 03:35PM
This procedure will allow us to use the stock Pogo V3 OS as a simple rescue system. When the Pogo V3 fails to boot with the currently attached rootfs on USB or HDD, stock Pogo OS can serve as a very simple rescue system to allow logging in through SSH and fix whatever is ailing the rootfs at the moment, eg. corrupted file system, mis-configured SSH, so on. Potentially, it can be used for more capabilities with optware or by just copying binaries to it.

Requirement:

1. The new U-Boot for Pogoplug V3 has been installed in your Pogoplug V3.

2. The original "data" MTD has not been modified (note that the original stock MTD definition looks slightly different but both "boot" and "data" MTDs are still basically at the same location).
cat /proc/mtd 
dev:    size   erasesize  name
mtd0: 00e00000 00020000 "boot"
mtd1: 07200000 00020000 "data"

Installation:

1. Setup u-boot envs:

fw_setenv bootcmd_stock 'setenv autoload n; setenv bootargs_stock "root=ubi0:rootfs ubi.mtd=2,512 rootfstype=ubifs console=ttyS0,115200 elevator=cfq mac_adr=0x00,0x30,0xe0,0x00,0x00,0x01 mem=128M"; setenv poweroutage yes; setenv boot "bootm 60500000"; setenv bootcmd_stock_fw "run set_bootargs_stock; run boot_nand"; setenv boot bootm 60500000; setenv boot_nand "run load_nand boot || run load_nand2 boot"; setenv kernflmode s; setenv load_nand2 "nboot 60500000 0 800000"; setenv load_nand "nboot 60500000 0 200000"; setenv set_bootargs_stock "setenv bootargs $bootargs_stock"; setenv mainlinelinux no; run bootcmd_stock_fw'

and then add this to the end of the current bootcmd. For example, if the current bootcmd is
bootcmd=run dt_bootcmd_usb; reset
then
fw_setenv bootcmd 'run dt_bootcmd_usb; run bootcmd_stock; reset'

Note: the idea is to add run bootcmd_stock to your current bootcmd. It might be different than the example.


Shutdown the Pogo V3 and remove the current USB/HDD rootfs. Power up and it will boot into stock Pogo OS.

2. Login the Pogo OS and setup to kill the Pogo process permanently, and some do some cleanup.

2A. Find the Pogo dynamic IP address in your router, or use some scanning program such as Linux nmap, IOS Fing,... And then use the credential that you have set up previously for stock Pogo OS during intial set up to boot new U-boot and/or Debian kernel (remember that root/password ?).

After logging in, you can kill pogoplug process so it won't interfere with normal opration:
killall hbwd

2B. Edit the file /etc/init.d/rcS to kill pogoplug service permanently.

Find the line which contains "hbmgr.sh start" and comment out the whole line, and add a new line to start dropbear:
###/etc/init.d/hbmgr.sh start
/usr/sbin/dropbear

2C. Comment out these lines to ensure booting without NAND checksum errors:

#if /usr/local/cloudengines/bin/blparam | grep ethaddr > /tmp/ethaddr; then
#	. /tmp/ethaddr
#fi
#rm -f /tmp/ethaddr
#if /usr/local/cloudengines/bin/blparam | grep cedebug > /tmp/cedebug; then
#	. /tmp/cedebug
#fi
#rm -f /tmp/cedebug


3. Download useful utilities

While in Pogo OS, you can download the following binpack so that the normal tools for use in nand installation and fixing filesystem, will be available in the system (you should download it to your USB rootfs using another Linux box).

Dowload: http://forum.doozan.com/read.php?3,27280,27280#msg-27280

Extract, and copy all binaries to /usr/loclal/bin for later emergency use.

4. Shutdown the Pogo V3, and powering up again to verify that you can login into stock OS.

DONE.

That's it! you have a simple rescue system on Pogoplug V3.

Please post feedbacks, especially about running the downloaded binaries. I have not tested this capability thoroughly.

-bodhi
===========================
Forum Wiki
bodhi's corner (buy bodhi a beer)



Edited 7 time(s). Last edit at 05/15/2016 05:05PM by bodhi.
Re: Rescue System Pogo V3 - Using Stock Pogo V3 OS
July 13, 2015 07:04AM
@bodhi

questions before i mash mine up :)

Does this rely on us not having changed the V3 from standard to start with?

Can this be used with the modified uboot and Debian OS from an existing modified V3 plug??
Re: Rescue System Pogo V3 - Using Stock Pogo V3 OS
July 13, 2015 02:03PM
@Gravelrash,

> Does this rely on us not having changed the V3
> from standard to start with?

Yes. As long as you have not touched the second MTD partition where the stock OS resides, then it should work.

> Can this be used with the modified uboot and
> Debian OS from an existing modified V3 plug??

Yes. It's actually a requirement to have installed new u-boot. It does not matter which OS you're running on the external disk (USB or HDD).

Perhaps I should update the description to clarify that!

-bodhi
===========================
Forum Wiki
bodhi's corner (buy bodhi a beer)
emac
Re: Rescue System Pogo V3 - Using Stock Pogo V3 OS
September 09, 2015 12:47PM
Booting into the stock pogoplug OS doesn't seem to be working for me. When I detach the USB rootfs, the pogoplug seems to keep trying and failing to boot - LED flashes green, then stays lit for a minute, flashes again, and then turns orange before starting the cycle over. During this cycle, I am unable to ssh to the pogoplug. Once I plug the USB rootfs back into the machine, it boots up into Debian on the next try.
Re: Rescue System Pogo V3 - Using Stock Pogo V3 OS
September 10, 2015 12:34AM
emac Wrote:
-------------------------------------------------------
> Booting into the stock pogoplug OS doesn't seem to
> be working for me. When I detach the USB rootfs,
> the pogoplug seems to keep trying and failing to
> boot - LED flashes green, then stays lit for a
> minute, flashes again, and then turns orange
> before starting the cycle over. During this
> cycle, I am unable to ssh to the pogoplug. Once I
> plug the USB rootfs back into the machine, it
> boots up into Debian on the next try.

Do you have serial console? or did you set up netconsole? if you did, post the boot log here. If neither, then set up netconsole first so you can see what's going on.

-bodhi
===========================
Forum Wiki
bodhi's corner (buy bodhi a beer)
emac
Re: Rescue System Pogo V3 - Using Stock Pogo V3 OS
September 12, 2015 04:09PM
Apologies since much of this is new for me. I believe I have netconsole set up properly, at least according to this blog post. However, I can't for the life of me get netcat to print the messages on the receiving machine. I am able to see the UDP messages coming through to my machine using Wireshark, however, and maybe that output might help? When I boot with the Debian USB, I see:

U-Boot 2013.10-tld-4 (Sep 08 2014 - 19:43:38) for OXNAS
gcc (Debian 4.6.3-14) 4.6.3
GNU ld (GNU Binutils for Debian) 2.22
Hit any key to stop autoboot: 10 ... 9 ... 8 ... 7 ... 6 ... 5 ... 4 ... 3 ... 2 ... 1 ... 0 
(Re)start USB...
USB0:   USB EHCI 1.00
scanning bus 0 for devices... 3 USB Device(s) found
       scanning usb for storage devices... 1 Storage Device(s) found
4170064 bytes read in 364 ms (10.9 MiB/s)
1976242 bytes read in 366 ms (5.1 MiB/s)
7033 bytes read in 226 ms (30.3 KiB/s)
## Booting kernel from Legacy Image at 60500000 ...
   Image Name:   Linux-3.18.5-oxnas-tld-1
   Created:      2015-09-08   1:02:27 UTC
   Image Type:   ARM Linux Kernel Image (uncompressed)
   Data Size:    4170000 Bytes = 4 MiB
   Load Address: 60008000
   Entry Point:  60008000
   Verifying Checksum ... OK
## Loading init Ramdisk from Legacy Image at 60e00000 ...
   Image Name:   initramfs-3.18.5-oxnas-tld-1
   Created:      2015-09-08   1:02:35 UTC
   Image Type:   ARM Linux RAMDisk Image (gzip compressed)
   Data Size:    1976178 Bytes = 1.9 MiB
   Load Address: 60000000
   Entry Point:  60000000
   Verifying Checksum ... OK
## Flattened Device Tree blob at 62c00000
   Booting using the fdt blob at 0x62c00000


However, when I boot without the USB, I see the following, until I plug the USB in at which point it resolves:


U-Boot 2013.10-tld-4 (Sep 08 2014 - 19:43:38) for OXNAS
gcc (Debian 4.6.3-14) 4.6.3
GNU ld (GNU Binutils for Debian) 2.22
Hit any key to stop autoboot: 10 ... 9 ... 8 ... 7 ... 6 ... 5 ... 4 ... 3 ... 2 ... 1 ... 0 
(Re)start USB...
USB0:   USB EHCI 1.00
scanning bus 0 for devices... 2 USB Device(s) found
       scanning usb for storage devices... 0 Storage Device(s) found
** Bad device usb 0 **
** Bad device usb 0 **
** Bad device usb 0 **
Wrong Image Format for bootm command

Led:.ORANGE (Failed)
ERROR: can't get kernel image!
stopping USB..
resetting ...

U-Boot 2013.10-tld-4 (Sep 08 2014 - 19:43:38) for OXNAS
gcc (Debian 4.6.3-14) 4.6.3
GNU ld (GNU Binutils for Debian) 2.22
Hit any key to stop autoboot: 10 ... 9 ... 8 ... 7 ... 6 ... 5 ... 4 ... 3 ... 2 ... 1 ... 0 
(Re)start USB...
USB0:   USB EHCI 1.00
scanning bus 0 for devices... 2 USB Device(s) found
       scanning usb for storage devices... 0 Storage Device(s) found
** Bad device usb 0 **
** Bad device usb 0 **
** Bad device usb 0 **
Wrong Image Format for bootm command

Led:.ORANGE (Failed)
ERROR: can't get kernel image!
stopping USB..
resetting ...

U-Boot 2013.10-tld-4 (Sep 08 2014 - 19:43:38) for OXNAS
gcc (Debian 4.6.3-14) 4.6.3
GNU ld (GNU Binutils for Debian) 2.22
Hit any key to stop autoboot: 10 ... 9 ... 8 ... 7 ... 6 ... 5 ... 4 ... 3 ... 2 ... 1 ... 0 
(Re)start USB...
USB0:   USB EHCI 1.00
scanning bus 0 for devices... 3 USB Device(s) found
       scanning usb for storage devices... 1 Storage Device(s) found
4170064 bytes read in 407 ms (9.8 MiB/s)
1976242 bytes read in 385 ms (4.9 MiB/s)
7033 bytes read in 226 ms (30.3 KiB/s)
## Booting kernel from Legacy Image at 60500000 ...
   Image Name:   Linux-3.18.5-oxnas-tld-1
   Created:      2015-09-08   1:02:27 UTC
   Image Type:   ARM Linux Kernel Image (uncompressed)
   Data Size:    4170000 Bytes = 4 MiB
   Load Address: 60008000
   Entry Point:  60008000
   Verifying Checksum ... OK
## Loading init Ramdisk from Legacy Image at 60e00000 ...
   Image Name:   initramfs-3.18.5-oxnas-tld-1
   Created:      2015-09-08   1:02:35 UTC
   Image Type:   ARM Linux RAMDisk Image (gzip compressed)
   Data Size:    1976178 Bytes = 1.9 MiB
   Load Address: 60000000
   Entry Point:  60000000
   Verifying Checksum ... OK
## Flattened Device Tree blob at 62c00000
   Booting using the fdt blob at 0x62c00000
Re: Rescue System Pogo V3 - Using Stock Pogo V3 OS
September 12, 2015 05:37PM
emac,

> U-Boot 2013.10-tld-4 (Sep 08 2014 - 19:43:38) for
> OXNAS
> gcc (Debian 4.6.3-14) 4.6.3
> GNU ld (GNU Binutils for Debian) 2.22
> Hit any key to stop autoboot: 10 ... 9 ... 8 ... 7
> ... 6 ... 5 ... 4 ... 3 ... 2 ... 1 ... 0

When you see this, then your netconsole is working. Now just a matter of being able to interrupt it. Instead of using 2 commands like in Jeff post. You can try to use one like this:

nc -lup 6666 xx.xx.xx.xx 6666

where xx.xx.xx.xx is the address of the Pogo.

If you're not sure, boot into Debian and get the listing of envs and post here:
fw_printenv

-bodhi
===========================
Forum Wiki
bodhi's corner (buy bodhi a beer)
Quote
bodhi
When you see this, then your netconsole is working. Now just a matter of being able to interrupt it. Instead of using 2 commands like in Jeff post. You can try to use one like this:

Do I need to be able to interrupt boot to debug the problem of not booting into stock OS? I still am unable to listen to the netconsole output on my machine. The above log was pulled from the messages I could see through wireshark, but when trying to listen from my console, I am able to ping the pogoplug, but see no actual messages coming through when it reboots. I want to be able to boot into the stock OS, but as you can see when I remove the USB running debian, the boot process fails out until I plug the USB back in at which it boots into debian.
Re: Rescue System Pogo V3 - Using Stock Pogo V3 OS
October 03, 2015 05:51PM
emac Wrote:
-------------------------------------------------------
>
Quote
bodhi
> When you see this, then your netconsole is
> working. Now just a matter of being able to
> interrupt it. Instead of using 2 commands like in
> Jeff post. You can try to use one like this:
>
>
> Do I need to be able to interrupt boot to debug
> the problem of not booting into stock OS? I still
> am unable to listen to the netconsole output on my
> machine. The above log was pulled from the
> messages I could see through wireshark, but when
> trying to listen from my console, I am able to
> ping the pogoplug, but see no actual messages
> coming through when it reboots. I want to be able
> to boot into the stock OS, but as you can see when
> I remove the USB running debian, the boot process
> fails out until I plug the USB back in at which it
> boots into debian.

It would be easier to have netconsole or serial console. Netconsole is a whole different topic which covers what OS, and command do you use to set up netconsole server, ... However, if you can't make netconsole work and don't have serial console, you could boot into Debian and list
cat /proc/mtd
cat /etc/fw_env.config 
fw_printenv
post the output here and I will take a look, perhaps something is wrong in u-boot envs.

Or if you want to get netconsole working first, post exactly what OS you're running netconsole server on, which command, and whether there is a router/switch in the middle of the connection, what your u-boot envs for netconsole look like.

-bodhi
===========================
Forum Wiki
bodhi's corner (buy bodhi a beer)



Edited 1 time(s). Last edit at 10/03/2015 05:53PM by bodhi.
cat /proc/mtd:
dev:    size   erasesize  name
mtd0: 00e00000 00020000 "boot"
mtd1: 07200000 00020000 "data"

cat /etc/fw_env.config:
# MTD device name       Device offset   Env. size       Flash sector size       Number of sectors
# pogoplug pro
  /dev/mtd0               0x00100000      0x20000         0x20000

fw_printenv:
autoload=no
baudrate=115200
bootargs=console=ttyS0,115200n8
bootdelay=10
console=console=ttyS0,115200n8
ethact=mii0
mtdids=nand0=41000000.nand
mtdparts=mtdparts=41000000.nand:14m(boot),-(data)
stderr=serial
stdin=serial
stdout=serial
usb_device=0:1
usb_set_bootargs=setenv bootargs console=ttyS0,115200 root=/dev/sda1 rootdelay=10
uinitrd_addr=0x60e00000
uimage_addr=0x60500000
dtb_addr=0x62c00000
dt_load_initrd=ext2load usb 0:1 $uinitrd_addr /boot/uInitrd
dt_load_uimage=ext2load usb 0:1 $uimage_addr /boot/uImage
dt_bootm=bootm $uimage_addr $uinitrd_addr $dtb_addr
dt_usb_boot=run dt_load_uimage; run dt_load_initrd; run dt_load_dtb; run dt_bootm
dt_usb_bootcmd=run usb_set_bootargs; run dt_usb_boot
dt_bootcmd_usb=usb start; run dt_usb_bootcmd; usb stop; reset
preboot_nc=setenv nc_ready 0; for pingstat in 1 2 3 4 5; do; sleep 1; if run if_netconsole; then setenv nc_ready 1; fi; done; if test $nc_ready -eq 1; then run start_netconsole; fi
ethaddr=00:25:31:01:02:0c
fdt_file=/boot/dts/ox820-pogoplug-classic.dtb
dt_load_dtb=ext2load usb 0:1 $dtb_addr $fdt_file
bootcmd_stock=setenv autoload n; setenv bootargs_stock "root=ubi0:rootfs ubi.mtd=2,512 rootfstype=ubifs console=ttyS0,115200 elevator=cfq mac_adr=0x00,0x30,0xe0,0x00,0x00,0x01 mem=128M"; setenv poweroutage yes; setenv boot "bootm 60500000"; setenv bootcmd_stock_fw "run set_bootargs_stock; run boot_nand"; setenv boot bootm 60500000; setenv boot_nand "run load_nand boot || run load_nand2 boot"; setenv kernflmode s; setenv load_nand2 "nboot 60500000 0 800000"; setenv load_nand "nboot 60500000 0 200000"; setenv set_bootargs_stock "setenv bootargs $bootargs_stock"; setenv mainlinelinux no; run bootcmd_stock_fw
bootcmd=run dt_bootcmd_usb; run bootcmd_stock
if_netconsole=ping $serverip
start_netconsole=setenv ncip $serverip; setenv bootdelay 10; setenv stdin nc; setenv stdout nc; setenv stderr nc; version;
preboot=run if_netconsole start_netconsole
serverip=192.168.2.5
ipaddr=192.168.2.100
Re: Rescue System Pogo V3 - Using Stock Pogo V3 OS
October 03, 2015 06:08PM
emac,

Quote
Instruction in 1st post

fw_setenv bootcmd 'run dt_bootcmd_usb; run bootcmd_stock; reset'

Here is your problem:

dt_bootcmd_usb=usb start; run dt_usb_bootcmd; usb stop; reset
bootcmd=run dt_bootcmd_usb; run bootcmd_stock

To fix this:

fw_setenv dt_bootcmd_usb 'usb start; run dt_usb_bootcmd; usb stop'
fw_setenv bootcmd 'run dt_bootcmd_usb; run bootcmd_stock; reset'

Be careful, since you don't have netsconsole or serial console, a typo above will lock you out of the box. And then you really need make netconsole works :)

-bodhi
===========================
Forum Wiki
bodhi's corner (buy bodhi a beer)
Re: Rescue System Pogo V3 - Using Stock Pogo V3 OS
October 03, 2015 06:42PM
Quote
bodhi
To fix this:

fw_setenv dt_bootcmd_usb 'usb start; run dt_usb_bootcmd; usb stop'
fw_setenv bootcmd 'run dt_bootcmd_usb; run bootcmd_stock; reset'

This did the trick, thank you.

As far as getting netconsole to work, I am trying to run the server off of a chromebook using crouton running xfce4. When I tried using your recommended command:
nc -lup 6666 xx.xx.xx.xx 6666
I received an error "nc: Cannot assign requested address"

nc -l -u -p 6666 & nc -u xx.xx.xx.xx 6666
The above commands work without error, both together or run separately, but never print any messages from the pogoplug as it starts up, even though I can see the messages on wireshark. There is a router between
Re: Rescue System Pogo V3 - Using Stock Pogo V3 OS
October 03, 2015 07:28PM
emac Wrote:
-------------------------------------------------------
>
Quote
bodhi
> To fix this:
>
> fw_setenv dt_bootcmd_usb 'usb start; run
> dt_usb_bootcmd; usb stop'
> fw_setenv bootcmd 'run dt_bootcmd_usb; run
> bootcmd_stock; reset'
>
>
> This did the trick, thank you.
>
> As far as getting netconsole to work, I am trying
> to run the server off of a chromebook using
> crouton running xfce4. When I tried using your
> recommended command:
>
nc -lup 6666 xx.xx.xx.xx 6666
> I received an error "nc: Cannot assign requested
> address"
>
>
nc -l -u -p 6666 & nc -u xx.xx.xx.xx
> 6666
> The above commands work without error, both
> together or run separately, but never print any
> messages from the pogoplug as it starts up, even
> though I can see the messages on wireshark. There
> is a router between

Netcat comes in many flavors. With crouton, I believe you're running Ubuntu on top of Chrome file system. If that is true, check the netcat version, and make sure you're using netcat traditional, not BSD version. Possible command on Ubuntu is:

nc -kup 6666 xx.xx.xx.xx 6666

-bodhi
===========================
Forum Wiki
bodhi's corner (buy bodhi a beer)
Re: Rescue System Pogo V3 - Using Stock Pogo V3 OS
October 15, 2015 03:50PM
Quote
bodhi
Netcat comes in many flavors. With crouton, I believe you're running Ubuntu on top of Chrome file system. If that is true, check the netcat version, and make sure you're using netcat traditional, not BSD version. Possible command on Ubuntu is:

nc -kup 6666 xx.xx.xx.xx 6666

I am frustrated because this seems like it should be simple to get set up, but still not working. netcat was running BSD, but even after installing traditional and running your command, I still saw no messages coming through on the terminal, though I can still see them in wireshark. Could the router somehow be blocking the messages from reaching my server machine, or would changing the port number somehow help?
Re: Rescue System Pogo V3 - Using Stock Pogo V3 OS
October 15, 2015 04:21PM
emac Wrote:
-------------------------------------------------------
>
Quote
bodhi
> Netcat comes in many flavors. With crouton, I
> believe you're running Ubuntu on top of Chrome
> file system. If that is true, check the netcat
> version, and make sure you're using netcat
> traditional, not BSD version. Possible command on
> Ubuntu is:
>
> nc -kup 6666 xx.xx.xx.xx 6666
>
>
> I am frustrated because this seems like it should
> be simple to get set up, but still not working.
> netcat was running BSD, but even after installing
> traditional and running your command, I still saw
> no messages coming through on the terminal, though
> I can still see them in wireshark.

Is wirehark running on the Ubuntu laptop?

Can you ping the Pogo from the laptop during the time the Pogo is powering up? i.e start pinging it continuously and then power up.

> Could the
> router somehow be blocking the messages from
> reaching my server machine, or would changing the
> port number somehow help?

Can you plug in both the laptop and the Pogo to the router ports? It might be router, but if wiresharks sees the messages in the Ubuntu laptop then it is not the router.

-bodhi
===========================
Forum Wiki
bodhi's corner (buy bodhi a beer)
Re: Rescue System Pogo V3 - Using Stock Pogo V3 OS
October 15, 2015 04:30PM
Quote
bodhi
Is wirehark running on the Ubuntu laptop?

Yes. I am running it on the same machine I am attempting to run my netconsole server.

Quote
bodhi
Can you ping the Pogo from the laptop during the time the Pogo is powering up? i.e start pinging it continuously and then power up.

Yes. I receive Destination Host Unreachable messages when the pogo is powered off, and start receiving responses just as the UDP messages begin appearing in wireshark.

Perhaps the chromebook is blocking messages on the 6666 port...
Re: Rescue System Pogo V3 - Using Stock Pogo V3 OS
October 15, 2015 04:40PM
Quote
emac
Perhaps the chromebook is blocking messages on the 6666 port...

AHA! This was it...needed to install iptables and open the 6666 port on my chromebook to accept udp messages. THanks for all your help. I knew it had to be something simple I was missing
Re: Rescue System Pogo V3 - Using Stock Pogo V3 OS
October 15, 2015 04:49PM
emac Wrote:
-------------------------------------------------------
>
Quote
emac
> Perhaps the chromebook is blocking messages on the
> 6666 port...
>
>
> AHA! This was it...needed to install iptables and
> open the 6666 port on my chromebook to accept udp
> messages. THanks for all your help. I knew it
> had to be something simple I was missing

Cool!

And I'd think if you did run netconsole server while being root then it should have allowed the port to open.

-bodhi
===========================
Forum Wiki
bodhi's corner (buy bodhi a beer)
Re: Rescue System Pogo V3 - Using Stock Pogo V3 OS
January 06, 2016 08:50AM
bodhi,

while I am fiddling around with the OXNAS boxes, I naturally also wanted to try this. However, it looks like this is not working either for me, because I get very much the same result I get when I try to influence ethaddr during the boot process (either with uEnv.txt or through a setenv hidden in another procedure during boot). I.e., the box seems to boot (eventually the LED becomes green), but it does not obtain an IP address.

As I am essentially just using your uBoot environment as provided in the November, 22 2015 part of your uBoot thread, the relevant part of my uBoot environment looks like this:

bootcmd_stock=setenv autoload n; setenv bootargs_stock "root=ubi0:rootfs ubi.mtd=2,512 rootfstype=ubifs console=ttyS0,115200 elevator=cfq mac_adr=0x00,0x30,0xe0,0x00,0x00,0x01 mem=128M"; setenv poweroutage yes; setenv boot "bootm 60500000"; setenv bootcmd_stock_fw "run set_bootargs_stock; run boot_nand"; setenv boot bootm 60500000; setenv boot_nand "run load_nand boot || run load_nand2 boot"; setenv kernflmode s; setenv load_nand2 "nboot 60500000 0 800000"; setenv load_nand "nboot 60500000 0 200000"; setenv set_bootargs_stock "setenv bootargs $bootargs_stock"; setenv mainlinelinux no; run bootcmd_stock_fw
bootcmd=run bootcmd_uenv; run scan_disk; run set_bootargs; run bootcmd_exec; run bootcmd_stock; reset

I notice that this also contains a specific MAC address in the bootargs_stock variable, so maybe this is causing the problems here also?

B.t.w., I already tried replacing the values for the mac_adr as follows
mac_adr=0x52,0x3b,0x20,0x9c,0x11,0x51
which corresponds to the randomly generated one in the uBoot environment, but to no avail.

Finally, I tried to leave out the mac_adr part of the bootargs_stock variable altogether, but that also did not help.

Maybe, when you look into this issue of not being able to set ethaddr using fw_printenv and solve it, this will solve the issue here too.

Cheers,

chessplayer

---
Standart ist der Standardfehler
Re: Rescue System Pogo V3 - Using Stock Pogo V3 OS
March 03, 2016 04:58PM
Hello. I've just tried to do this for my Pogoplug Pro Oxnas. Now I can no longer boot. I was able to update uBoot to latest version prior to trying this out. I noticed after updating uBoot I was not able to change ethaddr. It kept saying cannot overwrite ethaddr. I thought maybe I could set the ethaddr with this Rescue system like on my other pogoplug E02. But now I can no longer boot. I may need to use a serial cable to try to set the uBoot settings. Any help is appreciated. Thanks.
Re: Rescue System Pogo V3 - Using Stock Pogo V3 OS
March 03, 2016 05:22PM
hachigo,

Take you rootfs to another Linux box and manually add the MAC address in /etc/network/interfaces.

cat /media/sdb1/etc/network/interfaces
auto lo eth0
iface lo inet loopback
iface eth0 inet static
        address 192.168.0.220
        netmask 255.255.255.0
        gateway 192.168.0.1
hwaddress ether XX:XX:XX:XX:XX:XX

In the above example, I use static IP on the local LAN 192.168.0.1 (this is the router). And the drive was mounted at /media/sdb1.

And boot it on the Pogo V3.

I'll take a look at this problem later.

-bodhi
===========================
Forum Wiki
bodhi's corner (buy bodhi a beer)



Edited 2 time(s). Last edit at 03/03/2016 05:24PM by bodhi.
Re: Rescue System Pogo V3 - Using Stock Pogo V3 OS
March 03, 2016 05:44PM
Hi bodhi.

I have just tried your suggestion, but it still does not boot. I cannot get the netconsole to work either now. Before it was reporting through netconsole and I was able to manipulate it. I am not sure if it is even booting and grabbing an IP address now, I cannot detect it on my openwrt router. I really hope that it is just uBoot environment settings that can be fixed with a serial cable. I will try it tomorrow after my exam and report back. I just wanted to report I had a similar experience as Chessplayer.

As a side note after searching here and on google, I saw that the oxnas can be booted using SATA harddrive https://archlinuxarm.org/forum/viewtopic.php?t=2146. This method appears old, but I want to use the same idea. If I made a new debian rootfs drive with my SATA harddrive and attach it, do you think it will work and maybe I can fix the uBoot settings that way?

Also, I noticed that when I updated the uBoot I was able to see the boot sequence with netconsole, but I was never able to ssh back into the pogoplug. I thought that it would keep the original stock POGO OS. I was expecting that to boot and allow me to ssh in. But the pogoplug would only boot with the debian rootfs USB I made. Is this normal behavior?

-Hachigo



Edited 3 time(s). Last edit at 03/03/2016 05:58PM by hachigo.
Re: Rescue System Pogo V3 - Using Stock Pogo V3 OS
March 03, 2016 06:31PM
hachigo Wrote:
-------------------------------------------------------
> Hi bodhi.
>
> I have just tried your suggestion, but it still
> does not boot. I cannot get the netconsole to work
> either now. Before it was reporting through
> netconsole and I was able to manipulate it. I am
> not sure if it is even booting and grabbing an IP
> address now, I cannot detect it on my openwrt
> router. I really hope that it is just uBoot
> environment settings that can be fixed with a
> serial cable. I will try it tomorrow after my exam
> and report back. I just wanted to report I had a
> similar experience as Chessplayer.
>
> As a side note after searching here and on google,
> I saw that the oxnas can be booted using SATA
> harddrive

Yes, if you can get the direct SATA boot method going then that's one way of doing it. Note that it must be prepared a special way. But serial console is still the best approach.

> Also, I noticed that when I updated the uBoot I
> was able to see the boot sequence with netconsole,
> but I was never able to ssh back into the
> pogoplug. I thought that it would keep the
> original stock POGO OS. I was expecting that to
> boot and allow me to ssh in. But the pogoplug
> would only boot with the debian rootfs USB I made.
> Is this normal behavior?
>

It is normal. Any new u-boot will not boot Pogo OS without setting up extra envs (the original Pogo OS is still in NAND).

-bodhi
===========================
Forum Wiki
bodhi's corner (buy bodhi a beer)
Re: Rescue System Pogo V3 - Using Stock Pogo V3 OS
March 05, 2016 05:16AM
Hi bodhi,

I was successfully able to boot with sata drive, but it had a deprecated version of arch linux and I was not able to install u-boot-tools package or mtd-utils. I was hoping that those tools would have been on there already. Before I give up and hook up a serial cable (I'm trying to avoid this because I don't have a JST header or soldering iron right now), is there anyway I can boot debian from sata drive? I've tried the combining the sata boot tutorial for arch linux here https://archlinuxarm.org/forum/viewtopic.php?t=2146 but instead of extracting arch linux oxnas package to rootfs I tried to extract Debian packages you posted here http://forum.doozan.com/read.php?2,16044 but it did not boot.

thanks,
hachigo
Re: Rescue System Pogo V3 - Using Stock Pogo V3 OS
March 05, 2016 05:46AM
hachigo,

> I've tried the combining the sata
> boot tutorial for arch linux here

> but instead of extracting arch
> linux oxnas package to rootfs I tried to extract
> Debian packages you posted here

It's been quite a while but I hope I still remmember this. When you follow that specific Arch tutorial by WarheadsSE, you are booting with stock u-boot that is stored in the SATA drive.

So after the extracting the Debian rootfs you must embed the DTB into uImage. For example, if the kernel version is 3.15.3-oxnas-tld-1 then:
cp -a zImage-3.15.3-oxnas-tld-1 zImage-3.15.3-oxnas-tld-1.fdt
cat dts/ox820-pogoplug-pro.dtb >> zImage-3.15.3-oxnas-tld-1.fdt
mv uImage uImage.orig
mkimage  -A arm -O linux -C none -T kernel -a 0x60008000 -e 0x60008000 -n 'Linux-3.15.3-oxnas-tld-1' -d zImage-3.15.3-oxnas-tld-1.fdt  uImage

-bodhi
===========================
Forum Wiki
bodhi's corner (buy bodhi a beer)
Re: Rescue System Pogo V3 - Using Stock Pogo V3 OS
March 05, 2016 10:58AM
Hi bodhi,

I tried your suggestion. The commands seem to work. But it is still not booting up. I will just outline what I did exactly for clarity, just in case I did something wrong.

Step 1: Used WarheadSE's disk_create script. (It worked and was able to boot Arch linux with the Arch rootfs tarball)

Step 2: Extracted Debian-3.17.0-oxnas-tld-1-rootfs-bodhi.tar.bz2 to /dev/sdx2 on my sata drive. (I am not using the Arch rootfs tarball)

Step 3: Issued these commands in /boot of the extracted Debian-3.17.0 tarball, but changed 3.15.3 to 3.17.0. It appears to work, no errors returned.
cp -a zImage-3.17.0-oxnas-tld-1 zImage-3.17.0-oxnas-tld-1.fdt
cat dts/ox820-pogoplug-pro.dtb >> zImage-3.17.0-oxnas-tld-1.fdt
mv uImage uImage.orig
mkimage  -A arm -O linux -C none -T kernel -a 0x60008000 -e 0x60008000 -n 'Linux-3.17.0-oxnas-tld-1' -d zImage-3.17.0-oxnas-tld-1.fdt  uImage

Step 4: Changed my interfaces setting as mentioned before, but replaced with my specific mac address and settings.

cat /media/sdb1/etc/network/interfaces
auto lo eth0
iface lo inet loopback
iface eth0 inet static
        address 192.168.0.220
        netmask 255.255.255.0
        gateway 192.168.0.1
hwaddress ether XX:XX:XX:XX:XX:XX

I'm not sure what I am doing wrong or if I am missing something. Arch boots fine but still unable to boot Debian from sata. It would be nice to boot from sata as I noticed the speed is faster with sata than USB.

Thanks,
hachigo
Re: Rescue System Pogo V3 - Using Stock Pogo V3 OS
March 05, 2016 03:46PM
hachigo,

There are steps in between that perhaps you did not do (since you don't have serial console so you are doing blind! this is very easy if you have serial console)

I think you've missed this step:

Arch does not use uInitrd. So the u-boot envs file in the SATA disk must be changed to use uInird, too.

-bodhi
===========================
Forum Wiki
bodhi's corner (buy bodhi a beer)
Re: Rescue System Pogo V3 - Using Stock Pogo V3 OS
March 05, 2016 03:53PM
Hi bodhi,


Ok I broke apart and pulled the builtin cable for pink pogoplug that I made for easy access to serial console. It boots and then gives brings me to a command line.

Serial console output with no drives attached:

U-Boot SPL 2013.10-tld-4 (Sep 07 2014 - 14:10:12)
  Boot device: NAND
Attempting to set PLLA to 850 MHz ...
  plla_ctrl0 : 0000020a
  plla_ctrl1 : 00330000
  plla_ctrl2 : 0065008b
  plla_ctrl3 : 000000f1

PLLA Set


U-Boot 2015.10-tld-1 (Nov 21 2015 - 01:17:59 -0800)
OXNAS OX820

DRAM:  128 MiB
NAND:  128 MiB
In:    serial
Out:   serial
Err:   serial
Net:   dwmac.40400000
Hit any key to stop autoboot:  0 
## Error: "dt_bootcmd_usb" not defined

Loading from nand0, offset 0x200000
   Image Name:   Linux-2.6.31.6_SMP_820
   Created:      2010-11-30  20:05:12 UTC
   Image Type:   ARM Linux Kernel Image (uncompressed)
   Data Size:    2260628 Bytes = 2.2 MiB
   Load Address: 60008000
   Entry Point:  60008000
## Booting kernel from Legacy Image at 60500000 ...
   Image Name:   Linux-2.6.31.6_SMP_820
   Created:      2010-11-30  20:05:12 UTC
   Image Type:   ARM Linux Kernel Image (uncompressed)
   Data Size:    2260628 Bytes = 2.2 MiB
   Load Address: 60008000
   Entry Point:  60008000
   Verifying Checksum ... OK
   Loading Kernel Image ... OK

Starting kernel ...

Uncompressing Linux................................................................................................................................... done, booting the kernel.
[    0.000000] Linux version 2.6.31.6_SMP_820 (bdietrich@brad-ux) (gcc version 4.4.1 (Sourcery G++ Lite 2009q3-67) ) #71 SMP Tue Nov 30 12:05:09 PST 2010
[    0.000000] CPU: ARMv6-compatible processor [410fb025] revision 5 (ARMv7), cr=00c5387f
[    0.000000] CPU: VIPT nonaliasing data cache, VIPT nonaliasing instruction cache
[    0.000000] Machine: Oxsemi NAS
[    0.000000] 1 memory region
[    0.000000] Ignoring unrecognised tag 0x00000000
[    0.000000] Memory policy: ECC disabled, Data cache writealloc
[    0.000000] Built 1 zonelists in Zone order, mobility grouping on.  Total pages: 32512
[    0.000000] Kernel command line: root=ubi0:rootfs ubi.mtd=2,512 rootfstype=ubifs console=ttyS0,115200 elevator=cfq mac_adr=0x00,0x30,0xe0,0x00,0x00,0x01 mem=128M
[    0.000000] PID hash table entries: 512 (order: 9, 2048 bytes)
[    0.000000] Dentry cache hash table entries: 16384 (order: 4, 65536 bytes)
[    0.000000] Inode-cache hash table entries: 8192 (order: 3, 32768 bytes)
[    0.000000] Memory: 128MB = 128MB total
[    0.000000] Memory: 125468KB available (3724K code, 275K data, 124K init, 0K highmem)
[    0.000000] Hierarchical RCU implementation.
[    0.000000] NR_IRQS:96
[    0.000000] OX820_RPS_init_irq: interrupts 64 to 96
[    0.010000] Console: colour dummy device 80x30
[    0.010000] console [ttyS0] enabled
[    0.020000] Calibrating delay loop... 339.14 BogoMIPS (lpj=1695744)
[    0.240000] Security Framework initialized
[    0.240000] Mount-cache hash table entries: 512
[    0.250000] CPU: Testing write buffer coherency: ok
[    0.250000] Calibrating local timer... 424.49MHz.
[    0.320000] CPU1: Booted secondary processor
[    0.420000] Calibrating delay loop... 339.14 BogoMIPS (lpj=1695744)
[    0.630000] Brought up 2 CPUs
[    0.640000] SMP: Total of 2 processors activated (678.29 BogoMIPS).
[    0.650000] NET: Registered protocol family 16
[    0.650000] Number of DMA channels = 4, version = 4
[    0.660000] Reserving a DMA channel for DirectRAID
[    0.660000] Allocating 389 SRAM generic DMA descriptors
[    1.170000] PCIeA version/deviceID 082510b5
[    1.170000] PCIeB version/deviceID 082510b5
[    4.200000] ox820_pci_preinit() PCIEB link up timeout (00001814)
[    4.200000] ox820_pcie_setup_resources() Enabling PCIe Pre-Emphasis
[    4.210000] ox820_pciea_setup_resources() resource c781b2c0
[    4.210000] ox820_pciea_setup_resources()    io:      0x4be00000 - 0x4befffff
[    4.220000] ox820_pciea_setup_resources()    non-pre: 0x48000000 - 0x49ffffff
[    4.230000] ox820_pciea_setup_resources()    pre:     0x4a000000 - 0x4bdfffff
[    4.230000] PCI: bus0: Fast back to back transfers disabled
[    4.240000] PCI: bus1: Fast back to back transfers enabled
[    4.260000] bio: create slab <bio-0> at 0
[    4.260000] SCSI subsystem initialized
[    4.290000] NET: Registered protocol family 2
[    4.290000] IP route cache hash table entries: 1024 (order: 0, 4096 bytes)
[    4.300000] Switched to NOHz mode on CPU #0
[    4.300000] TCP established hash table entries: 4096 (order: 3, 32768 bytes)
[    4.300000] Switched to NOHz mode on CPU #1
[    4.310000] TCP bind hash table entries: 4096 (order: 3, 32768 bytes)
[    4.320000] TCP: Hash tables configured (established 4096 bind 4096)
[    4.320000] TCP reno registered
[    4.330000] NET: Registered protocol family 1
[    4.330000] Create fragment cache
[    4.340000] fuse init (API version 7.12)
[    4.340000] msgmni has been set to 245
[    4.350000] alg: No test for stdrng (krng)
[    4.350000] io scheduler noop registered
[    4.360000] io scheduler anticipatory registered
[    4.360000] io scheduler deadline registered
[    4.370000] io scheduler cfq registered (default)
[    4.390000] Serial: 8250/16550 driver, 2 ports, IRQ sharing disabled
[    4.390000] serial8250: ttyS0 at MMIO 0x44200000 (irq = 55) is a 16550A
[    4.410000] brd: module loaded
[    4.420000] loop: module loaded
[    4.420000] ox820sata: OX820 sata core.
[    4.420000] scsi0 : oxnassata
[    4.430000] scsi1 : oxnassata
[    4.430000] ata1: SATA max UDMA/133 irq 50
[    4.440000] ata2: SATA max UDMA/133 irq 50
[    4.440000] ox820sata: reseting SATA core
[    4.800000] ata1: SATA link down (SStatus 0 SControl 300)
[    4.800000] ox820sata: reseting SATA core
[    5.160000] ata2: SATA link down (SStatus 0 SControl 300)
[    5.160000] tun: Universal TUN/TAP device driver, 1.6
[    5.170000] tun: (C) 1999-2004 Max Krasnyansky <maxk@qualcomm.com>
[    5.170000] NAND: Page read time 40ms
[    5.180000] NAND device: Manufacturer ID: 0xad, Chip ID: 0xf1 (Hynix NAND 128MiB 3,3V 8-bit)
[    5.180000] Scanning device for bad blocks
[    5.250000] Creating 2 MTD partitions on "NAND 128MiB 3,3V 8-bit":
[    5.260000] 0x000000000000-0x000000e00000 : "boot"
[    5.270000] 0x000000e00000-0x000008000000 : "rootfs"
[    5.270000] UBI: attaching mtd2 to ubi0
[    5.280000] UBI: physical eraseblock size:   131072 bytes (128 KiB)
[    5.280000] UBI: logical eraseblock size:    129024 bytes
[    5.290000] UBI: smallest flash I/O unit:    2048
[    5.290000] UBI: sub-page size:              512
[    5.300000] UBI: VID header offset:          512 (aligned 512)
[    5.300000] UBI: data offset:                2048
[    5.650000] UBI: attached mtd2 to ubi0
[    5.660000] UBI: MTD device name:            "rootfs"
[    5.660000] UBI: MTD device size:            114 MiB
[    5.670000] UBI: number of good PEBs:        912
[    5.670000] UBI: number of bad PEBs:         0
[    5.680000] UBI: max. allowed volumes:       128
[    5.680000] UBI: wear-leveling threshold:    4096
[    5.690000] UBI: number of internal volumes: 1
[    5.690000] UBI: number of user volumes:     1
[    5.690000] UBI: available PEBs:             0
[    5.700000] UBI: total number of reserved PEBs: 912
[    5.700000] UBI: number of PEBs reserved for bad PEB handling: 9
[    5.710000] UBI: max/mean erase counter: 2/0
[    5.710000] UBI: image sequence number: 0
[    5.720000] UBI: background thread "ubi_bgt0d" started, PID 278
[    5.720000] mice: PS/2 mouse device common for all mice
[    5.730000] TCP cubic registered
[    5.730000] NET: Registered protocol family 10
[    5.740000] NET: Registered protocol family 17
[    5.740000] RPC: Registered udp transport module.
[    5.750000] RPC: Registered tcp transport module.
[    5.850000] UBIFS: recovery needed
[    5.990000] UBIFS: recovery completed
[    5.990000] UBIFS: mounted UBI device 0, volume 0, name "rootfs"
[    6.000000] UBIFS: file system size:   114573312 bytes (111888 KiB, 109 MiB, 888 LEBs)
[    6.010000] UBIFS: journal size:       9033728 bytes (8822 KiB, 8 MiB, 71 LEBs)
[    6.010000] UBIFS: media format:       w4/r0 (latest is w4/r0)
[    6.020000] UBIFS: default compressor: zlib
[    6.020000] UBIFS: reserved for root:  0 bytes (0 KiB)
[    6.030000] VFS: Mounted root (ubifs filesystem) on device 0:10.
[    6.040000] Freeing init memory: 124K
Too many bit errors @ 0xa0000 -- Can't correct!
PAGE DATA:
OOB:
Too many bit errors @ 0xa0800 -- Can't correct!
PAGE DATA:
OOB:
Too many bit errors @ 0xa1000 -- Can't correct!
PAGE DATA:
OOB:
Too many bit errors @ 0xa1800 -- Can't correct!
PAGE DATA:
OOB:
Too many bit errors @ 0xa2000 -- Can't correct!
PAGE DATA:
OOB:
Too many bit errors @ 0xa2800 -- Can't correct!
PAGE DATA:
OOB:
Too many bit errors @ 0xa3000 -- Can't correct!
PAGE DATA:
OOB:
Too many bit errors @ 0xa3800 -- Can't correct!
PAGE DATA:
OOB:
Too many bit errors @ 0xa4000 -- Can't correct!
PAGE DATA:
OOB:
Too many bit errors @ 0xa4800 -- Can't correct!
PAGE DATA:
OOB:
Too many bit errors @ 0xa5000 -- Can't correct!
PAGE DATA:
OOB:
Too many bit errors @ 0xa5800 -- Can't correct!
PAGE DATA:
OOB:
Too many bit errors @ 0xa6000 -- Can't correct!
PAGE DATA:
OOB:
Too many bit errors @ 0xa6800 -- Can't correct!
PAGE DATA:
OOB:
Too many bit errors @ 0xa7000 -- Can't correct!
PAGE DATA:
OOB:
Too many bit errors @ 0xa7800 -- Can't correct!
PAGE DATA:
OOB:
Too many bit errors @ 0xa8000 -- Can't correct!
PAGE DATA:
OOB:
Too many bit errors @ 0xa8800 -- Can't correct!
PAGE DATA:
OOB:
Too many bit errors @ 0xa9000 -- Can't correct!
PAGE DATA:
OOB:
Too many bit errors @ 0xa9800 -- Can't correct!
PAGE DATA:
OOB:
Too many bit errors @ 0xaa000 -- Can't correct!
PAGE DATA:
OOB:
Too many bit errors @ 0xaa800 -- Can't correct!
PAGE DATA:
OOB:
Too many bit errors @ 0xab000 -- Can't correct!
PAGE DATA:
OOB:
Too many bit errors @ 0xab800 -- Can't correct!
PAGE DATA:
OOB:
Too many bit errors @ 0xac000 -- Can't correct!
PAGE DATA:
OOB:
Too many bit errors @ 0xac800 -- Can't correct!
PAGE DATA:
OOB:
Too many bit errors @ 0xad000 -- Can't correct!
PAGE DATA:
OOB:
Too many bit errors @ 0xad800 -- Can't correct!
PAGE DATA:
OOB:
Too many bit errors @ 0xae000 -- Can't correct!
PAGE DATA:
OOB:
Too many bit errors @ 0xae800 -- Can't correct!
PAGE DATA:
OOB:
Too many bit errors @ 0xaf000 -- Can't correct!
PAGE DATA:
OOB:
Too many bit errors @ 0xaf800 -- Can't correct!
PAGE DATA:
OOB:
Too many bit errors @ 0xb0000 -- Can't correct!
PAGE DATA:
OOB:
Too many bit errors @ 0xb0800 -- Can't correct!
PAGE DATA:
OOB:
Too many bit errors @ 0xb1000 -- Can't correct!
PAGE DATA:
OOB:
Too many bit errors @ 0xb1800 -- Can't correct!
PAGE DATA:
OOB:
Too many bit errors @ 0xb2000 -- Can't correct!
PAGE DATA:
OOB:
Too many bit errors @ 0xb2800 -- Can't correct!
PAGE DATA:
OOB:
Too many bit errors @ 0xb3000 -- Can't correct!
PAGE DATA:
OOB:
Too many bit errors @ 0xb3800 -- Can't correct!
PAGE DATA:
OOB:
Too many bit errors @ 0xb4000 -- Can't correct!
PAGE DATA:
OOB:
Too many bit errors @ 0xb4800 -- Can't correct!
PAGE DATA:
OOB:
Too many bit errors @ 0xb5000 -- Can't correct!
PAGE DATA:
OOB:
Too many bit errors @ 0xb5800 -- Can't correct!
PAGE DATA:
OOB:
Too many bit errors @ 0xb6000 -- Can't correct!
PAGE DATA:
OOB:
Too many bit errors @ 0xb6800 -- Can't correct!
PAGE DATA:
OOB:
Too many bit errors @ 0xb7000 -- Can't correct!
PAGE DATA:
OOB:
Too many bit errors @ 0xb7800 -- Can't correct!
PAGE DATA:
OOB:
Too many bit errors @ 0xb8000 -- Can't correct!
PAGE DATA:
OOB:
Too many bit errors @ 0xb8800 -- Can't correct!
PAGE DATA:
OOB:
Too many bit errors @ 0xb9000 -- Can't correct!
PAGE DATA:
OOB:
Too many bit errors @ 0xb9800 -- Can't correct!
PAGE DATA:
OOB:
Too many bit errors @ 0xba000 -- Can't correct!
PAGE DATA:
OOB:
Too many bit errors @ 0xba800 -- Can't correct!
PAGE DATA:
OOB:
Too many bit errors @ 0xbb000 -- Can't correct!
PAGE DATA:
OOB:
Too many bit errors @ 0xbb800 -- Can't correct!
PAGE DATA:
OOB:
Too many bit errors @ 0xbc000 -- Can't correct!
PAGE DATA:
OOB:
Too many bit errors @ 0xbc800 -- Can't correct!
PAGE DATA:
OOB:
Too many bit errors @ 0xbd000 -- Can't correct!
PAGE DATA:
OOB:
Too many bit errors @ 0xbd800 -- Can't correct!
PAGE DATA:
OOB:
Too many bit errors @ 0xbe000 -- Can't correct!
PAGE DATA:
OOB:
Too many bit errors @ 0xbe800 -- Can't correct!
PAGE DATA:
OOB:
Too many bit errors @ 0xbf000 -- Can't correct!
PAGE DATA:
OOB:
Too many bit errors @ 0xbf800 -- Can't correct!
PAGE DATA:
OOB:
   -- Invalid CRC32 on parameters: 0x6e206369 != 0x27033e1f
/etc/init.d/rcS: /tmp/ethaddr: line 1: 00000380:: not found
/etc/init.d/rcS: /tmp/ethaddr: line 3: syntax error: EOF in backquote substitution
/ #


-hachigo



Edited 2 time(s). Last edit at 03/05/2016 04:05PM by hachigo.
Re: Rescue System Pogo V3 - Using Stock Pogo V3 OS
March 05, 2016 04:40PM
hachigo,

> Serial console output with no drives attached:

So you are not booting SATA at all! you are booting the new u-boot from NAND. And it successfully "failed" and booted back to stock.

At this point, you can prepare a USB or a HDD rootfs without any special stuff. And boot into that disk.

Please interrupt serial console and get the listing of envs:
printenv

Booting the 3.17 Debian rootfs with the new u-boot is easy, no adjustment needed (if you've flashed the default envs). Booting Arch will need adjustment to u-boot envs. So let me know which rootfs you want to use. And that will determine whether you need to change u-boot envs.

-bodhi
===========================
Forum Wiki
bodhi's corner (buy bodhi a beer)



Edited 1 time(s). Last edit at 03/05/2016 04:41PM by bodhi.
Re: Rescue System Pogo V3 - Using Stock Pogo V3 OS
March 05, 2016 04:54PM
Hi bodhi,

Thanks for the help. I wasn't sure if you wanted the boot messages with the sata attached. It all looks like the matrix to me so I wasn't sure what's important.

As a side note, I bought a second pogoplug hoping to get an e02 but got a pro instead. Arch has stopped support for pro model, so that is why I want to use debian.

I want to use Debian rootfs. Since I'm able to still use debian repositories to install packages.

Here is the output from printenv:
bootcmd=run dt_bootcmd_usb; run bootcmd_stock; reset
bootcmd_exec=run load_uimage; if run load_initrd; then if run load_dtb; then bootm 0x60500000 0x60e00000 0x62c00000; else bootm 0x60500000 0x60e00000; fi; else if run load_dtb; then bootm 0x60500000 - 0x62c00000; else bootm 0x60500000; fi; fi
bootcmd_stock=setenv autoload n; setenv bootargs_stock "root=ubi0:rootfs ubi.mtd=2,512 rootfstype=ubifs console=ttyS0,115200 elevator=cfq mac_adr=0x00,0x30,0xe0,0x00,0x00,0x01 mem=128M"; setenv poweroutage yes; setenv boot "bootm 60500000"; setenv bootcmd_stock_fw "run set_bootargs_stock; run boot_nand"; setenv boot bootm 60500000; setenv boot_nand "run load_nand boot || run load_nand2 boot"; setenv kernflmode s; setenv load_nand2 "nboot 60500000 0 800000"; setenv load_nand "nboot 60500000 0 200000"; setenv set_bootargs_stock "setenv bootargs $bootargs_stock"; setenv mainlinelinux no; run bootcmd_stock_fw
bootcmd_uenv=run uenv_load; if test $uenv_loaded -eq 1; then run uenv_import; fi
bootdelay=10
bootdev=usb
device=0:1
devices=usb ide
disks=0 1 2 3
dtb_file=/boot/dts/ox820-pogoplug-pro.dtb
ethact=dwmac.40400000
ethaddr=52:3b:20:9c:11:51
if_netconsole=ping $serverip
ipaddr=192.168.0.122
load_dtb=echo loading DTB $dtb_file ...; ext2load $bootdev $device 0x62c00000 $dtb_file
load_initrd=echo loading uInitrd ...; ext2load $bootdev $device 0x60e00000 /boot/uInitrd
load_uimage=echo loading uImage ...; ext2load $bootdev $device 0x60500000 /boot/uImage
mainlineLinux=yes
mtdids=nand0=41000000.nand
mtdparts=mtdparts=41000000.nand:14m(boot),-(data)
preboot=run preboot_nc
preboot_nc=setenv nc_ready 0; for pingstat in 1 2 3 4 5; do; sleep 1; if run if_netconsole; then setenv nc_ready 1; fi; done; if test $nc_ready -eq 1; then run start_netconsole; fi
scan_disk=echo running scan_disk ...; scan_done=0; setenv scan_usb "usb start";  setenv scan_ide "ide reset";  setenv scan_mmc "mmc rescan"; for dev in $devices; do if test $scan_done -eq 0; then echo Scan device $dev; run scan_$dev; for disknum in $disks; do if test $scan_done -eq 0; then echo device $dev $disknum:1; if ext2load $dev $disknum:1 0x60500000 /boot/uImage 1; then scan_done=1; echo Found bootable drive on $dev $disknum; setenv device $disknum:1; setenv bootdev $dev; fi; fi; done; fi; done
serverip=192.168.0.238
set_bootargs=setenv bootargs console=ttyS0,115200 root=LABEL=rootfs rootdelay=10 $mtdparts $custom_params
start_netconsole=setenv ncip $serverip; setenv bootdelay 10; setenv stdin nc; setenv stdout nc; setenv stderr nc; version;
stderr=serial
stdin=serial
stdout=serial
uenv_import=echo importing envs ...; env import -t 0x60500000
uenv_init_devices=setenv init_usb "usb start";  setenv init_ide "ide reset";  setenv init_mmc "mmc rescan"; for devtype in $devices; do run init_$devtype; done;
uenv_load=run uenv_init_devices; setenv uenv_loaded 0; for devtype in $devices;  do for disknum in 0; do run uenv_read_disk; done; done;
uenv_read=echo loading envs from $devtype $disknum ...; if load $devtype $disknum:1 0x60500000 /boot/uEnv.txt; then setenv uenv_loaded 1; fi
uenv_read_disk=if test $devtype -eq mmc; then if $devtype part; then run uenv_read;  fi; else if $devtype part $disknum; then run uenv_read; fi;  fi
usb_custom_params=zswap.enabled=1
usb_ready_retry=15

Environment size: 3335/131068 bytes



Edited 1 time(s). Last edit at 03/05/2016 05:00PM by hachigo.
Author:

Your Email:


Subject:


Spam prevention:
Please, enter the code that you see below in the input field. This is for blocking bots that try to post this form automatically. If the code is hard to read, then just try to guess it right. If you enter the wrong code, a new image is created and you get another chance to enter it right.
Message: