Welcome! Log In Create A New Profile

Advanced

2017.07- 2024.10 U-Boot Kirkwood

Posted by bodhi 
Hi bodhi,
Any comment on the instructions I have posted above?
vaidyasr,

You're confused 2 different instructions (the 1st were written long ago for a different purpose).

1. Using new kernel with stock u-boot (blparam is needed)
Quote

I believe the link above you have shared should be http://forum.doozan.com/read.php?3,11538,11706

2. Installing new-uboot (this thread) (blparam does not come in to play at all).

Ignore every thread that you have read about the Pogo V4/Mobile. The only reason I pointed to a different thread was to show an example (I might have been contributing to the confusion by doing that :).

Please follow the instruction in the first post of this thread only. The ony thing you need to worry, while using this procedure, is to download NAND tools so you can use nand erase, nand write, fw_set_env, fw_printenv.

Hope it's cleared up the issue. I will add more info in the instruction to avoid this confusion.

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



Edited 2 time(s). Last edit at 07/23/2014 02:57PM by bodhi.
Thanks bodhi. But when I use the instructions on page 1 on step 2, I can't use fw_printenv. It says error, which I have already posted.
Hi vaidyasr,

> Thanks bodhi. But when I use the instructions on
> page 1 on step 2, I can't use fw_printenv. It says
> error, which I have already posted.

I'm quoting what I wrote in the 1st post:
Quote

Also, if you are running stock kernel, which usually does not provide NAND tools, you can download it here in this thread.

Because Arch rootfs (like stock kernel) does not have NAND tools. You need to download NAND tools and put them in /tmp.

And execute fw_setenv from there as

/tmp/fw_setenv …
/tmp/fw_printenv …
/tmp/nand erase …
/tmp/nand write ….

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



Edited 1 time(s). Last edit at 07/23/2014 07:18PM by bodhi.
Tried to do step 2. Got the below.
Quote

[root@alarm tmp]# ls -l
total 844
-rwxr-xr-x 1 root root 12819 Jul 22 17:23 flash_erase
-rwxr-xr-x 1 root root 329 Jul 22 17:23 fw_env.config
-rwxr-xr-x 1 root root 668497 Jul 22 17:23 fw_printenv
-rwxr-xr-x 1 root root 21286 Jul 22 17:23 nanddump
-rwxr-xr-x 1 root root 11500 Jul 22 17:23 nandwrite
-rw-r--r-- 1 root root 3130 Jan 28 2012 ppv4-install.sh
-rwxr-xr-x 1 root root 131072 Jul 22 17:23 uboot.environment

[root@alarm tmp]# ./fw_printenv
Warning: Bad CRC, using default environment
bootcmd=bootp; setenv bootargs root=/dev/nfs nfsroot=${serverip}:${rootpath} ip=${ipaddr}:${serverip}:${gatewayip}:${netmask}:${hostname}::off; bootm
bootdelay=5
baudrate=115200



Edited 1 time(s). Last edit at 07/23/2014 05:30PM by vaidyasr.
vaidyasr,

Quote

[root@alarm tmp]# ls -l
> total 844
> -rwxr-xr-x 1 root root 12819 Jul 22 17:23
> flash_erase
> -rwxr-xr-x 1 root root 329 Jul 22 17:23
> fw_env.config
> -rwxr-xr-x 1 root root 668497 Jul 22 17:23
> fw_printenv
> -rwxr-xr-x 1 root root 21286 Jul 22 17:23
> nanddump
> -rwxr-xr-x 1 root root 11500 Jul 22 17:23
> nandwrite
> -rw-r--r-- 1 root root 3130 Jan 28 2012
> ppv4-install.sh
> -rwxr-xr-x 1 root root 131072 Jul 22 17:23
> uboot.environment
>
> [root@alarm tmp]# ./fw_printenv
> Warning: Bad CRC, using default environment
> bootcmd=bootp; setenv bootargs root=/dev/nfs
> nfsroot=${serverip}:${rootpath}
> ip=${ipaddr}:${serverip}:${gatewayip}:${netmask}:$
> {hostname}::off; bootm
> bootdelay=5
> baudrate=115200
>

For step 2 and 3:

blparam > current_envs.txt

Because you are still using stock u-boot and envs.

Step 8 flashes a correct env image to NAND so it can be used with new U-Boot. After that there should be no CRC errors using fw_printenv or fw_setenv.

-bodhi
===========================
Forum Wiki
bodhi's corner (buy bodhi a beer)
Hi bodhi,
Any idea how to mount the pogoplug partitions inside arch?. Otherwise I have to revert back to stock using a pen drive.
vaidyasr Wrote:
-------------------------------------------------------
> Hi bodhi,
> Any idea how to mount the pogoplug partitions
> inside arch?. Otherwise I have to revert back to
> stock using a pen drive.

I never done this, so not sure how.

-bodhi
===========================
Forum Wiki
bodhi's corner (buy bodhi a beer)
Thanks bodhi. I have reverted using revert folder and I am in stock OS. I was able to perform the below steps and good.
#/usr/local/cloudengines/bin/blparam > current_envs.txt
# cd /tmp
# tar -xf uboot.2014.07.tld-1.goflexnet.bodhi.tar
# flash_erase /dev/mtd0 0 4
# nandwrite /dev/mtd0 uboot.2014.07.tld-1.goflexnet.mtd0.kwb
# cd /tmp; tar -xf uboot.2014.07-tld-1.environment.img.bodhi.tar
# /usr/sbin/flash_erase /dev/mtd0 0xc0000 1
# /usr/sbin/nandwrite -s 786432 /dev/mtd0 uboot.2014.07-tld-1.environment.img
# fw_setenv arcNumber 3960
# fw_setenv machid f78
# fw_setenv ethaddr 'xxxxx'

but I am not able to find the below variables in my existing current_envs.txt
fw_setenv mtdparts 'xxxxxxxxx'
fw_setenv rootfstype 'xxxx'

How to proceed?

my current env
Quote

ipaddr=192.168.0.231
serverip=192.168.0.220
mtdparts=mtdparts=orion_nand:1M(u-boot),4M(uImage),32M(rootfs),-(data)
baudrate=115200
bootcmd=run bootcmd_usb; run bootcmd_mmc; run bootcmd_sata; reset
bootcmd_mmc=run mmc_init; run set_bootargs_mmc; run mmc_boot
bootcmd_sata=run sata_init; run set_bootargs_sata; run sata_boot;
bootcmd_usb=run usb_init; run set_bootargs_usb; run usb_boot;
bootdelay=10
console=ttyS0,115200
device=0:1
ethact=egiga0
if_netconsole=ping $serverip
led_error=orange blinking
led_exit=green off
led_init=green blinking
mainlineLinux=yes
mmc_boot=mw 0x800000 0 1; run mmc_load_uimage; if run mmc_load_uinitrd; then bootm 0x800000 0x1100000; else bootm 0x800000; fi
mmc_init=mmc rescan
mmc_load_uimage=ext2load mmc $device 0x800000 /boot/uImage
mmc_load_uinitrd=ext2load mmc $device 0x1100000 /boot/uInitrd
mmc_root=/dev/mmcblk0p1
mtdids=nand0=orion_nand
partition=nand0,2
preboot_nc=run if_netconsole start_netconsole
rootdelay=10
rootfstype=ext3
sata_boot=mw 0x800000 0 1; run sata_load_uimage; if run sata_load_uinitrd; then bootm 0x800000 0x1100000; else bootm 0x800000; fi
sata_init=ide reset
sata_load_uimage=ext2load ide $device 0x800000 /boot/uImage
sata_load_uinitrd=ext2load ide $device 0x1100000 /boot/uInitrd
sata_root=/dev/sda1
set_bootargs_mmc=setenv bootargs console=$console root=$mmc_root rootdelay=$rootdelay rootfstype=$rootfstype $mtdparts
set_bootargs_sata=setenv bootargs console=$console root=$sata_root rootdelay=$rootdelay rootfstype=$rootfstype $mtdparts
set_bootargs_usb=setenv bootargs console=$console root=$usb_root rootdelay=$rootdelay rootfstype=$rootfstype $mtdparts
start_netconsole=setenv ncip $serverip; setenv bootdelay 10; setenv stdin nc; setenv stdout nc; setenv stderr nc; version;
stderr=serial
stdin=serial
stdout=serial
usb_boot=mw 0x800000 0 1; run usb_load_uimage; if run usb_load_uinitrd; then bootm 0x800000 0x1100000; else bootm 0x800000; fi
usb_init=usb start
usb_load_uimage=ext2load usb $device 0x800000 /boot/uImage
usb_load_uinitrd=ext2load usb $device 0x1100000 /boot/uInitrd
usb_root=/dev/sda1
arcNumber=3960
machid=f78
ethaddr=XX:XX:XX:XX:XX:XX

Why mtdparts have 2 = symbols?



Edited 2 time(s). Last edit at 07/23/2014 08:36PM by vaidyasr.
My debian sd card was ext2. So I set
# ./fw_setenv rootfstype 'ext2'

and mtdparts as
# ./fw_setenv mtdparts 'mtdparts=orion_nand:2M(u-boot),3M(uImage),3M(uImage2),8M(failsafe),112M(root)'

Can I reboot with the Debian SDcard?



Edited 1 time(s). Last edit at 07/23/2014 08:51PM by vaidyasr.
vaidyasr,

> My debian sd card was ext2. So I set
> # ./fw_setenv rootfstype 'ext2'
> 
> and mtdparts as 
> # ./fw_setenv mtdparts
> 'mtdparts=orion_nand:2M(u-boot),3M(uImage),3M(uIma
> ge2),8M(failsafe),112M(root)'
> 
> Can I reboot with the Debian SDcard?

Cool! you're almost there.

- Did you set ethaddr to your box value?
- Did you set these IPs to the real values? ipaddr is the address of the Pogoplug, serverip is the IP address of the other Linux box that you intend to run netconsole (i.e. nc).
ipaddr=192.168.0.231
serverip=192.168.0.220
- Since you don't have serial console, also set this so that u-boot will run netconsole upon boot:
./fw_setenv preboot 'run preboot_nc'

When you're done, pls list the envs again and post the list here for sanity check!

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



Edited 1 time(s). Last edit at 07/24/2014 02:41PM by bodhi.
The trick to getting around the Windows 7/8 compatibility is to use another pogoplug (as documented in the blog) to recover your bad pogoplug.

Very convenient because I mainly work from my couch using a (windows 8) laptop which doesn't need to be tethered to the broken pogoplug. I ssh into my good pogoplug and then start a screen session to connect to the bad pogoplug via serial.

jeepster Wrote:
-------------------------------------------------------
> That serial should work, same one listed in this
> blog
> http://blog.qnology.com/2013/10/pogoplug-e02-v2-se
> rial-connection.html
> I don't think it works with windows OS greater
> than 7
Hi bodhi,
here are my output.
Quote

baudrate=115200
bootcmd=run bootcmd_usb; run bootcmd_mmc; run bootcmd_sata; reset
bootcmd_mmc=run mmc_init; run set_bootargs_mmc; run mmc_boot
bootcmd_sata=run sata_init; run set_bootargs_sata; run sata_boot;
bootcmd_usb=run usb_init; run set_bootargs_usb; run usb_boot;
bootdelay=10
console=ttyS0,115200
device=0:1
ethact=egiga0
if_netconsole=ping $serverip
led_error=orange blinking
led_exit=green off
led_init=green blinking
mainlineLinux=yes
mmc_boot=mw 0x800000 0 1; run mmc_load_uimage; if run mmc_load_uinitrd; then bootm 0x800000 0x1100000; else bootm 0x800000; fi
mmc_init=mmc rescan
mmc_load_uimage=ext2load mmc $device 0x800000 /boot/uImage
mmc_load_uinitrd=ext2load mmc $device 0x1100000 /boot/uInitrd
mmc_root=/dev/mmcblk0p1
mtdids=nand0=orion_nand
partition=nand0,2
preboot_nc=run if_netconsole start_netconsole
rootdelay=10
sata_boot=mw 0x800000 0 1; run sata_load_uimage; if run sata_load_uinitrd; then bootm 0x800000 0x1100000; else bootm 0x800000; fi
sata_init=ide reset
sata_load_uimage=ext2load ide $device 0x800000 /boot/uImage
sata_load_uinitrd=ext2load ide $device 0x1100000 /boot/uInitrd
sata_root=/dev/sda1
set_bootargs_mmc=setenv bootargs console=$console root=$mmc_root rootdelay=$rootdelay rootfstype=$rootfstype $mtdparts
set_bootargs_sata=setenv bootargs console=$console root=$sata_root rootdelay=$rootdelay rootfstype=$rootfstype $mtdparts
set_bootargs_usb=setenv bootargs console=$console root=$usb_root rootdelay=$rootdelay rootfstype=$rootfstype $mtdparts
start_netconsole=setenv ncip $serverip; setenv bootdelay 10; setenv stdin nc; setenv stdout nc; setenv stderr nc; version;
stderr=serial
stdin=serial
stdout=serial
usb_boot=mw 0x800000 0 1; run usb_load_uimage; if run usb_load_uinitrd; then bootm 0x800000 0x1100000; else bootm 0x800000; fi
usb_init=usb start
usb_load_uimage=ext2load usb $device 0x800000 /boot/uImage
usb_load_uinitrd=ext2load usb $device 0x1100000 /boot/uInitrd
usb_root=/dev/sda1
arcNumber=3960
machid=f78
ethaddr=XX
ipaddr=10.0.0.9
serverip=10.0.0.6
rootfstype=ext2
mtdparts=mtdparts=orion_nand:2M(u-boot),3M(uImage),3M(uImage2),8M(failsafe),112M(root)
I was masking my ethaddr. The serverip is my linux box and ipaddr is my pogoplug.
What is Debian FDT?. Do I need to do that too?
vaidyasr,

- You are not running (Flatten Device Tree) FDT kernel, so don't worry about it.
- Your u-boot envs look good! except that you don't have netconsole running at boot. If you want to run it so you can observe boot progress:
./fw_setenv preboot 'run preboot_nc'

-bodhi
===========================
Forum Wiki
bodhi's corner (buy bodhi a beer)
done. can I reboot?
vaidyasr Wrote:
-------------------------------------------------------
> done. can I reboot?

Yes, but start netconsole on the other box first and cross fingers :) power up the Pogo.

-bodhi
===========================
Forum Wiki
bodhi's corner (buy bodhi a beer)
@gaogao, pbg4, and others NSA320 users,

I've built a test version for U-Boot-2013.10 NSA320 from WarheasSE's GitHub. Please test with UART first if you have serial console.

Download at Dropbox:
uboot.2013.10-tld-1.nsa320.bodhi.tar
md5
a828e4ccf905db76914f63b1cfc0807c

Instruction for flashing to NAND is the same as for the NSA325 and in the main u-boot thread.

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



Edited 3 time(s). Last edit at 12/22/2014 02:15AM by bodhi.
Hi bodhi,
I got the below in netconsole
Quote

U-Boot 2014.07-tld-1 (Jul 18 2014 - 00:59:45)
Pogoplug V4 0
(Re)start USB...
USB0: USB EHCI 1.00
scanning bus 0 for devices... 2 USB Device(s) found
scanning usb for storage devices... 1 Storage Device(s) found
Failed to mount ext2 filesystem...
** Unrecognized filesystem type **
Failed to mount ext2 filesystem...
** Unrecognized filesystem type **
Wrong Image Format for bootm command
ERROR: can't get kernel image!

MMC rescan: current device # 0 initialized OK
3965136 bytes read in 851 ms (4.4 MiB/s)
** File not found /boot/uInitrd **
## Booting kernel from Legacy Image at 00800000 ...
Image Name: Linux-3.14.4-1-ARCH
Created: 2014-05-16 1:38:34 UTC
Image Type: ARM Linux Kernel Image (uncompressed)
Data Size: 3965072 Bytes = 3.8 MiB
Load Address: 00008000
Entry Point: 00008000
Verifying Checksum ... OK


Starting kernel ...
Quote

The pogoplug light turns from blinking green to orange and stable green, but can't connect via ssh.
I was able to boot the pogoplug with my arch pen drive, but not with the debian sdcard. Per the error, I am not able to find /boot/uInitrd in the sdcard. Did I miss anything?. I have extracted the debian tar file in the sdcard.
Great. I think I have extracted arch in sd card by mistake. I have extracted and now it is working. Thanks bodhi.
Still I am not able to use my 3TB drives with latest uboot and debian.
Quote

[ 21.476657] NTFS-fs error (device sdb1): parse_ntfs_boot_sector(): Volume size (2TiB) is too large for this architecture. Maximum supported is 2TiB. Sorry.
[ 21.492579] NTFS-fs error (device sda1): parse_ntfs_boot_sector(): Volume size (2TiB) is too large for this architecture. Maximum supported is 2TiB. Sorry.
[ 21.506788] NTFS-fs error (device sdb1): ntfs_fill_super(): Unsupported NTFS filesystem.
[ 21.518219] NTFS-fs error (device sda1): ntfs_fill_super(): Unsupported NTFS filesystem.
What I am missing?
The new kernel does not recognize my hard drives via HUB at all.
Am again at Step 0 :(. Now the drives are not recognized in Debian too.
vaidyasr,

> Great. I think I have extracted arch in sd card by
> mistake. I have extracted and now it is working.
> Thanks bodhi.

Now that's great to hear you can boot both USb and SD card! Any other problem please post them in a new thread and I'll respond.

-bodhi
===========================
Forum Wiki
bodhi's corner (buy bodhi a beer)
@NSA320 users,

U-Boot testers wanted!
http://forum.doozan.com/read.php?3,12381,16787#msg-16787

-bodhi
===========================
Forum Wiki
bodhi's corner (buy bodhi a beer)
Hi bodhi,
Am configuring the samba, I can't make it as read/write. I read lot of forums and made the changes, still I can't write from windows.
bodhi; ETA 2 weeks... (TKS!)
Hi bodhi,
I figured out the samba issue.

One more question. When I reboot the PPV4, I see a blinking green turns to blinking red and blinking orange and after a while it turns static green. Is that normal?.
@vaidyasr,
why in the hell you need arch with that machinegun-like question fire rate?
I've always thought of arch-users as of doers not talkers.
I mean if you don't know how to use the tool, maybe you shouldn't? )

To all who have troubles with >2Tb drives, just try hybrid MBR, I've already described here.
The bootloader cares only about root partition (and /boot, if u separate them), and it should not be >2Tb.
The kernel will address the rest.
Sorry, you can't reply to this topic. It has been closed.