Welcome! Log In Create A New Profile

Advanced

Debian install on pogoplug series 4-need help

Posted by t3ch42 
t3ch42
Debian install on pogoplug series 4-need help
April 01, 2013 05:54PM
Hello.
After searching the forums and other sites on the Internet, I still haven't found a direct way to install a debian fs on my ppv4.
I have a freshly reverted pp after trying out archlinux. I'm looking for stability, and the general feeling from archlinux is more "cutting edge".
I am more comfortable with debian, as I have been using Ubuntu systems for years.

I found http://forum.doozan.com/read.php?3,7477,page=2
which seems to be a somewhat direct install, but I can't tell if it is doable from a pogo os.

Is there a howto or some direction that one could give me for a uboot and debian install? I'd like to get the rescue working also, but wanted to concentrate on the main debian install first.

Thanks for reading.
Re: Debian install on pogoplug series 4-need help
April 02, 2013 12:02AM
See the thread linked below for instruction. The starting point can be Pogo OS. But you will need to install NAND tools and fw_env tools first. I meant to update this post to indicate that, but did not get around to do it. If you're not sure how to install them, please ask and we'll help.
http://forum.doozan.com/read.php?2,11663
Re: Debian install on pogoplug series 4-need help
April 02, 2013 03:50PM
@t3ch42.
I went through the same process just a couple of weeks ago on my Pogoplug Mobile. I think it should be the same as the series 4. With the help from Bodhi and others, I eventually succeeded. You can read the thread that Bodhi mentioned and should have all the information that you need. The only issue I had was that I still need a rootfs to start with but cannot do direct installation, at least from my understanding. I used my dockstar to install a fresh copy of Wheezy on USB and used it on the Pogo Mobile without problem. There are some rootfs images floating around as Budhi mentioned but I had some problem with these. You might be able to use them, though. Good luck.
Thanks for the encouragement.
I had gleaned a little bit so far and had made an assumption that the mobile and series 4 were similar maybe compatible.

I went through with the install, and have no lights. I thought that might happen so I'm not too concerned. The machine id I think?
My network light works but no dhcp or network access exists. I've tried the netcat but hadn't had too much luck with that. I'm going to wait before I crack the top of this one.

(This was with a premade rootfs; not sure if there was success for others using that one. It was one of the listed downloads.

Anyhow, I'm going to try an archlinux rootfs tomorrow just to try to boot again. If anyone has a link to a premade fs that works well, I'd try it out.

Thanks again.
I copied over my log from terminal. There is a few copies of the listing of fw_printenv
The one at the bottom is it as it was complete. After rebooting, no lights of course, but cannot communicate with the pogoplug through netcat or bootup with a rootfs of either the Zyxel NSA320 rootfs or the normal archlinux rootfs which i had booted from before from a pogo os install.
[root@Pogoplug /tmp]# which flash_erase
/usr/sbin/flash_erase
[root@Pogoplug /tmp]# which nandwrite
/usr/sbin/nandwrite
[root@Pogoplug /tmp]# cat /etc/fw_env.config
# Configuration file for fw_(printenv/saveenv) utility.
# Up to two entries are valid, in this case the redundant
# environment sector is assumed present.
# Notice, that the "Number of sectors" is ignored on NOR.

# MTD device name       Device offset   Env. size       Flash sector size      N                                                                                        umber of sectors
/dev/mtd0               0xc0000         0x20000         0x20000
[root@Pogoplug /tmp]# cat /etc/fw_env.config
# Configuration file for fw_(printenv/saveenv) utility.
# Up to two entries are valid, in this case the redundant
# environment sector is assumed present.
# Notice, that the "Number of sectors" is ignored on NOR.

# MTD device name       Device offset   Env. size       Flash sector size       Number of sectors
/dev/mtd0               0xc0000         0x20000         0x20000
[root@Pogoplug /tmp]# flash_erase /dev/mtd0 0 4
Erase Total 4 Units
Performing Flash Erase of length 131072 at offset 0x60000 done
[root@Pogoplug /tmp]# nandwrite /dev/mtd0 uboot.nandpogoV4-MMC-mtdparts-noSATA.kwb
uboot.nandpogoV4-MMC-mtdparts-noSATA.kwb: No such file or directory
[root@Pogoplug /tmp]# ls
hbplug.log                                       uboot.environment                                var
resolv.conf                                      uboot.nandpogoV4-MMC-mtdparts-noSATA.kwb.tar.gz
[root@Pogoplug /tmp]# tar -zxvf uboot.nandpogoV4-MMC-mtdparts-noSATA.kwb.tar.gz
uboot.nandpogoV4-MMC-mtdparts-noSATA.kwb
[root@Pogoplug /tmp]# ls
hbplug.log                                       uboot.environment                                uboot.nandpogoV4-MMC-mtdparts-noSATA.kwb.tar.gz
resolv.conf                                      uboot.nandpogoV4-MMC-mtdparts-noSATA.kwb         var
[root@Pogoplug /tmp]# nandwrite /dev/mtd0 uboot.nandpogoV4-MMC-mtdparts-noSATA.kwb
Writing data to block 0 at offset 0x0
Writing data to block 1 at offset 0x20000
Writing data to block 2 at offset 0x40000
Writing data to block 3 at offset 0x60000
[root@Pogoplug /tmp]# /usr/sbin/flash_erase /dev/mtd0 0xc0000 1
Erase Total 1 Units
Performing Flash Erase of length 131072 at offset 0xc0000 done
[root@Pogoplug /tmp]# /usr/sbin/nandwrite -s 786432 /dev/mtd0 uboot.environment
Writing data to block 6 at offset 0xc0000
[root@Pogoplug /tmp]# fw_printenv
ethact=egiga0
bootdelay=3
baudrate=115200
arcNumber=2097
mainlineLinux=yes
console=ttyS0,115200
led_init=green blinking
led_exit=green off
led_error=orange blinking
mtdparts=mtdparts=orion_nand:1M(u-boot),4M(uImage),32M(rootfs),-(data)
mtdids=nand0=orion_nand
partition=nand0,2
stdin=serial
stdout=serial
stderr=serial
rescue_installed=0
rescue_set_bootargs=setenv bootargs console=$console ubi.mtd=2 root=ubi0:rootfs ro rootfstype=ubifs $mtdparts $rescue_custom_params
rescue_bootcmd=if test $rescue_installed -eq 1; then run rescue_set_bootargs; nand read.e 0x800000 0x100000 0x400000; bootm 0x800000; else run pogo_bootcmd; fi
pogo_bootcmd=if fsload uboot-original-mtd0.kwb; then go 0x800200; fi
force_rescue=0
force_rescue_bootcmd=if test $force_rescue -eq 1 || ext2load usb 0:1 0x1700000 /rescueme 1 || fatload usb 0:1 0x1700000 /rescueme.txt 1; then run rescue_bootcmd; fi
ubifs_mtd=3
ubifs_set_bootargs=setenv bootargs console=$console ubi.mtd=$ubifs_mtd root=ubi0:rootfs rootfstype=ubifs $mtdparts $ubifs_custom_params
ubifs_bootcmd=run ubifs_set_bootargs; if ubi part data && ubifsmount rootfs && ubifsload 0x800000 /boot/uImage && ubifsload 0x1100000 /boot/uInitrd; then bootm 0x800000 0x1100000; fi
usb_scan=usb_scan_done=0;for scan in $usb_scan_list; do run usb_scan_$scan; if test $usb_scan_done -eq 0 && ext2load usb $usb 0x800000 /boot/uImage 1; then usb_scan_done=1; echo "Found bootable drive on usb $usb"; setenv usb_device $usb; setenv usb_root /dev/$dev; fi; done
usb_scan_list=1 2 3 4
usb_scan_1=usb=0:1 dev=sda1
usb_scan_2=usb=1:1 dev=sdb1
usb_scan_3=usb=2:1 dev=sdc1
usb_scan_4=usb=3:1 dev=sdd1
usb_init=run usb_scan
usb_device=0:1
usb_root=/dev/sda1
usb_rootfstype=ext2
usb_rootdelay=10
usb_set_bootargs=setenv bootargs console=$console root=$usb_root rootdelay=$usb_rootdelay rootfstype=$usb_rootfstype $mtdparts $usb_custom_params
usb_bootcmd=run usb_init; run usb_set_bootargs; run usb_boot
usb_boot=mw 0x800000 0 1; ext2load usb $usb_device 0x800000 /boot/uImage; if ext2load usb $usb_device 0x1100000 /boot/uInitrd; then bootm 0x800000 0x1100000; else bootm 0x800000; fi
bootcmd=usb start; run force_rescue_bootcmd; run ubifs_bootcmd; run usb_bootcmd; usb stop; run rescue_bootcmd; run pogo_bootcmd; reset
[root@Pogoplug /tmp]# fw_setenv mtdparts 'mtdparts=orion_nand:2M(u-boot),3M(uImage),3M(uImage2),8M(failsafe),112M(root)'
[root@Pogoplug /tmp]# fw_printenv mtdparts
mtdparts=mtdparts=orion_nand:2M(u-boot),3M(uImage),3M(uImage2),8M(failsafe),112M(root)
[root@Pogoplug /tmp]# fw_setenv serverip 10.0.0.133
[root@Pogoplug /tmp]# fw_setenv ipaddr 10.0.0.134
[root@Pogoplug /tmp]# fw_setenv if_netconsole 'ping $serverip'
[root@Pogoplug /tmp]# fw_setenv start_netconsole 'setenv ncip $serverip; setenv bootdelay 10; setenv stdin nc; setenv stdout nc; setenv stderr nc; version;'
[root@Pogoplug /tmp]# fw_setenv preboot 'run if_netconsole start_netconsole'
[root@Pogoplug /tmp]# arcNumber
-sh: arcNumber: not found
[root@Pogoplug /tmp]#
[root@Pogoplug /tmp]# fw_setenv arcNumber
[root@Pogoplug /tmp]# fw_printenv
ethact=egiga0
bootdelay=3
baudrate=115200
mainlineLinux=yes
console=ttyS0,115200
led_init=green blinking
led_exit=green off
led_error=orange blinking
mtdids=nand0=orion_nand
partition=nand0,2
stdin=serial
stdout=serial
stderr=serial
rescue_installed=0
rescue_set_bootargs=setenv bootargs console=$console ubi.mtd=2 root=ubi0:rootfs ro rootfstype=ubifs $mtdparts $rescue_custom_params
rescue_bootcmd=if test $rescue_installed -eq 1; then run rescue_set_bootargs; nand read.e 0x800000 0x100000 0x400000; bootm 0x800000; else run pogo_bootcmd; fi
pogo_bootcmd=if fsload uboot-original-mtd0.kwb; then go 0x800200; fi
force_rescue=0
force_rescue_bootcmd=if test $force_rescue -eq 1 || ext2load usb 0:1 0x1700000 /rescueme 1 || fatload usb 0:1 0x1700000 /rescueme.txt 1; then run rescue_bootcmd; fi
ubifs_mtd=3
ubifs_set_bootargs=setenv bootargs console=$console ubi.mtd=$ubifs_mtd root=ubi0:rootfs rootfstype=ubifs $mtdparts $ubifs_custom_params
ubifs_bootcmd=run ubifs_set_bootargs; if ubi part data && ubifsmount rootfs && ubifsload 0x800000 /boot/uImage && ubifsload 0x1100000 /boot/uInitrd; then bootm 0x800000 0x1100000; fi
usb_scan=usb_scan_done=0;for scan in $usb_scan_list; do run usb_scan_$scan; if test $usb_scan_done -eq 0 && ext2load usb $usb 0x800000 /boot/uImage 1; then usb_scan_done=1; echo "Found bootable drive on usb $usb"; setenv usb_device $usb; setenv usb_root /dev/$dev; fi; done
usb_scan_list=1 2 3 4
usb_scan_1=usb=0:1 dev=sda1
usb_scan_2=usb=1:1 dev=sdb1
usb_scan_3=usb=2:1 dev=sdc1
usb_scan_4=usb=3:1 dev=sdd1
usb_init=run usb_scan
usb_device=0:1
usb_root=/dev/sda1
usb_rootfstype=ext2
usb_rootdelay=10
usb_set_bootargs=setenv bootargs console=$console root=$usb_root rootdelay=$usb_rootdelay rootfstype=$usb_rootfstype $mtdparts $usb_custom_params
usb_bootcmd=run usb_init; run usb_set_bootargs; run usb_boot
usb_boot=mw 0x800000 0 1; ext2load usb $usb_device 0x800000 /boot/uImage; if ext2load usb $usb_device 0x1100000 /boot/uInitrd; then bootm 0x800000 0x1100000; else bootm 0x800000; fi
bootcmd=usb start; run force_rescue_bootcmd; run ubifs_bootcmd; run usb_bootcmd; usb stop; run rescue_bootcmd; run pogo_bootcmd; reset
mtdparts=mtdparts=orion_nand:2M(u-boot),3M(uImage),3M(uImage2),8M(failsafe),112M(root)
serverip=10.0.0.133
ipaddr=10.0.0.134
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
[root@Pogoplug /tmp]# fw_setenv arcNumber 2097
[root@Pogoplug /tmp]# fw_printenv
ethact=egiga0
bootdelay=3
baudrate=115200
mainlineLinux=yes
console=ttyS0,115200
led_init=green blinking
led_exit=green off
led_error=orange blinking
mtdids=nand0=orion_nand
partition=nand0,2
stdin=serial
stdout=serial
stderr=serial
rescue_installed=0
rescue_set_bootargs=setenv bootargs console=$console ubi.mtd=2 root=ubi0:rootfs ro rootfstype=ubifs $mtdparts $rescue_custom_params
rescue_bootcmd=if test $rescue_installed -eq 1; then run rescue_set_bootargs; nand read.e 0x800000 0x100000 0x400000; bootm 0x800000; else run pogo_bootcmd; fi
pogo_bootcmd=if fsload uboot-original-mtd0.kwb; then go 0x800200; fi
force_rescue=0
force_rescue_bootcmd=if test $force_rescue -eq 1 || ext2load usb 0:1 0x1700000 /rescueme 1 || fatload usb 0:1 0x1700000 /rescueme.txt 1; then run rescue_bootcmd; fi
ubifs_mtd=3
ubifs_set_bootargs=setenv bootargs console=$console ubi.mtd=$ubifs_mtd root=ubi0:rootfs rootfstype=ubifs $mtdparts $ubifs_custom_params
ubifs_bootcmd=run ubifs_set_bootargs; if ubi part data && ubifsmount rootfs && ubifsload 0x800000 /boot/uImage && ubifsload 0x1100000 /boot/uInitrd; then bootm 0x800000 0x1100000; fi
usb_scan=usb_scan_done=0;for scan in $usb_scan_list; do run usb_scan_$scan; if test $usb_scan_done -eq 0 && ext2load usb $usb 0x800000 /boot/uImage 1; then usb_scan_done=1; echo "Found bootable drive on usb $usb"; setenv usb_device $usb; setenv usb_root /dev/$dev; fi; done
usb_scan_list=1 2 3 4
usb_scan_1=usb=0:1 dev=sda1
usb_scan_2=usb=1:1 dev=sdb1
usb_scan_3=usb=2:1 dev=sdc1
usb_scan_4=usb=3:1 dev=sdd1
usb_init=run usb_scan
usb_device=0:1
usb_root=/dev/sda1
usb_rootfstype=ext2
usb_rootdelay=10
usb_set_bootargs=setenv bootargs console=$console root=$usb_root rootdelay=$usb_rootdelay rootfstype=$usb_rootfstype $mtdparts $usb_custom_params
usb_bootcmd=run usb_init; run usb_set_bootargs; run usb_boot
usb_boot=mw 0x800000 0 1; ext2load usb $usb_device 0x800000 /boot/uImage; if ext2load usb $usb_device 0x1100000 /boot/uInitrd; then bootm 0x800000 0x1100000; else bootm 0x800000; fi
bootcmd=usb start; run force_rescue_bootcmd; run ubifs_bootcmd; run usb_bootcmd; usb stop; run rescue_bootcmd; run pogo_bootcmd; reset
mtdparts=mtdparts=orion_nand:2M(u-boot),3M(uImage),3M(uImage2),8M(failsafe),112M(root)
serverip=10.0.0.133
ipaddr=10.0.0.134
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
arcNumber=2097
[root@Pogoplug /tmp]# fw_printenv
ethact=egiga0
bootdelay=3
baudrate=115200
mainlineLinux=yes
console=ttyS0,115200
led_init=green blinking
led_exit=green off
led_error=orange blinking
mtdids=nand0=orion_nand
partition=nand0,2
stdin=serial
stdout=serial
stderr=serial
rescue_installed=0
rescue_set_bootargs=setenv bootargs console=$console ubi.mtd=2 root=ubi0:rootfs ro rootfstype=ubifs $mtdparts $rescue_custom_params
rescue_bootcmd=if test $rescue_installed -eq 1; then run rescue_set_bootargs; nand read.e 0x800000 0x100000 0x400000; bootm 0x800000; else run pogo_bootcmd; fi
pogo_bootcmd=if fsload uboot-original-mtd0.kwb; then go 0x800200; fi
force_rescue=0
force_rescue_bootcmd=if test $force_rescue -eq 1 || ext2load usb 0:1 0x1700000 /rescueme 1 || fatload usb 0:1 0x1700000 /rescueme.txt 1; then run rescue_bootcmd; fi
ubifs_mtd=3
ubifs_set_bootargs=setenv bootargs console=$console ubi.mtd=$ubifs_mtd root=ubi0:rootfs rootfstype=ubifs $mtdparts $ubifs_custom_params
ubifs_bootcmd=run ubifs_set_bootargs; if ubi part data && ubifsmount rootfs && ubifsload 0x800000 /boot/uImage && ubifsload 0x1100000 /boot/uInitrd; then bootm 0x800000 0x1100000; fi
usb_scan=usb_scan_done=0;for scan in $usb_scan_list; do run usb_scan_$scan; if test $usb_scan_done -eq 0 && ext2load usb $usb 0x800000 /boot/uImage 1; then usb_scan_done=1; echo "Found bootable drive on usb $usb"; setenv usb_device $usb; setenv usb_root /dev/$dev; fi; done
usb_scan_list=1 2 3 4
usb_scan_1=usb=0:1 dev=sda1
usb_scan_2=usb=1:1 dev=sdb1
usb_scan_3=usb=2:1 dev=sdc1
usb_scan_4=usb=3:1 dev=sdd1
usb_init=run usb_scan
usb_device=0:1
usb_root=/dev/sda1
usb_rootfstype=ext2
usb_rootdelay=10
usb_set_bootargs=setenv bootargs console=$console root=$usb_root rootdelay=$usb_rootdelay rootfstype=$usb_rootfstype $mtdparts $usb_custom_params
usb_bootcmd=run usb_init; run usb_set_bootargs; run usb_boot
usb_boot=mw 0x800000 0 1; ext2load usb $usb_device 0x800000 /boot/uImage; if ext2load usb $usb_device 0x1100000 /boot/uInitrd; then bootm 0x800000 0x1100000; else bootm 0x800000; fi
bootcmd=usb start; run force_rescue_bootcmd; run ubifs_bootcmd; run usb_bootcmd; usb stop; run rescue_bootcmd; run pogo_bootcmd; reset
mtdparts=mtdparts=orion_nand:2M(u-boot),3M(uImage),3M(uImage2),8M(failsafe),112M(root)
serverip=10.0.0.133
ipaddr=10.0.0.134
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
arcNumber=2097
[root@Pogoplug /tmp]# reboot

The last arcNumber line is where I cleared the arcNumber by accident. I put the default number back in, as I didn't know if I would be able to boot with it set to 3960.

I am not able to boot up, and not able to use netcat either. I may not know what I am doing with that though...

Thanks again for reading. I'd like to figure out what I may have done in order to simplify things next time.
Re: Debian install on pogoplug series 4-need help
April 03, 2013 07:36PM
As an update, I found I needed to use the right network interface. I was using a bridge in windows, with two connections coming off to a ubuntu netbook and the pogoplug.

After I isolated, I was able to use nc to talk to it. I was hesitant to change the machid and arcNumber in the uboot, as the command were different, but I think it probably would have worked had I used the save parameters command. Just a little wary, so I tried to wait.

Later, when I got home and replaced the rootfs with an uncorrupted fs it booted up. Once in the archlinux, I set the correct machid and arcNumber and my led was back.

I still want to get a rescue system installed in the nand, but this doesn't appear to be for the series 4???

I will try some other debian rootfs images and try to get my pogo rocking again.

Thanks for the warm welcome into the community.
Re: Debian install on pogoplug series 4-need help
April 04, 2013 12:57AM
t3ch42,

Awesome!

You could have set the machid and arcNumber in uBoot with setenv. As long as you dont do saveenv, it will be forgotten at the next boot. So that's why we usually set that in Linux command line, after booting successfully with the setenv's in uBoot.

Re Rescue system, that rescue system v2 is not for Pogoplug V4. I don't think we have a Rescue system appropriate for the Pogoplug Mobile/V4. Since you have netconsole, that is good for rescue if the problem is not a uBoot image problem (even if uBoot envs are messed up, you still can boot to the count down).
shv
Re: Debian install on pogoplug series 4-need help
April 04, 2013 02:37AM
I had analyzed the 3.3.2 kernel configurations from Davygravy. There was a difference between the rescue kernel and the full blown kernel. I think that the rescue kernel supports the ppv4 arcNumber but the full blown kernel does not support it. That is the reason why the NSA320 rootfs can't be used with ppv4 arcNumber. If somebody needs a 3.3.2 kernel from Davygravy with the adaption to support Pogoplug arcNumbers I could upload it.
Re: Debian install on pogoplug series 4-need help
April 04, 2013 12:31PM
@shv
Is that a rootfs download or a patch?

If you have a rootfs to try, I'll give it a shot.

I modified the uboot to allow mmc boot and was able to boot the archlinux os from that, but no luck with the debian squeeze or wheezy so far.
Re: Debian install on pogoplug series 4-need help
April 04, 2013 01:34PM
Yes. I agree. If it is a rootfs image that can be used in Pogo-4/Mobile, it will be useful for others. I can generate another one but if you already have it for uploading, please just do so.
shv
Re: Debian install on pogoplug series 4-need help
April 07, 2013 02:35PM
Debian rootfs with kernel 3.3.2 with support for Pogoplug arcNumber/machid:

Squeeze-rootfs
Wheezy-rootfs

The following kernel package is just for completeness because it is alrady contained in the provided rootfs.
linux-image-3.3.2-kirkwood-shv_1.0_armel.deb

shv
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: