Hello Marcus, my problem with uboot is solved, so I can continue.
For your question (sorry I have to improve my english) :
# Your used the recover environment variables with a rootfs on USB stick to install Squeeze to NAND.
Yes, I used the sheevaplug installer, and I replace the rootfs with a squeeze rootfs. I changed Uboot like that :
setenv bootargs_console 'console=ttyS0,115200n8'
setenv mtdpartitions 'mtdparts=orion_nand:0x400000@0x100000(uImage),0x1fb00000@0x500000(rootfs)'
setenv bootroot_nand 'ubi.mtd=1 root=ubi0:rootfs rootfstype=ubifs'
setenv bootload_nand 'nand read.e 0x00800000 0x00100000 0x00400000'
setenv nand_boot 'setenv bootargs $(bootargs_console) $(mtdpartitions) $(bootroot_nand); run bootload_nand; bootm 0x00800000'
setenv recover_ramdisk 'root=/dev/ram0 rw ramdisk=0x01100000,8M install_type=nand'
setenv recover1 'setenv mainlineLinux yes; setenv arcNumber 2097; setenv bootcmd run recover2; saveenv; reset'
setenv recover2 'run recover3; setenv bootcmd run nand_boot; saveenv; run recover5'
setenv recover3 'run recover4; nand erase clean 0x00100000 0x00400000; nand write.e 0x00800000 0x00100000 0x00400000'
setenv recover4 'usb start; fatload usb 0:1 0x00800000 uImage; fatload usb 0:1 0x01100000 initrd'
setenv recover5 'setenv bootargs $(bootargs_console) $(mtdpartitions) $(recover_ramdisk); bootm 0x00800000 0x01100000'
setenv bootcmd 'run recover1'
# At this point, your system booted from NAND
Yes, it booted without problem, all was ok.
# Your system was stable here, this is where you should have saved your environment variables
Yes, I saved my environment, no problem to boot after.
# You changed some environment variables, maybe you changed U-Boot too.
Exactly, I made a resetenv, and changed Uboot to boot on a usb disk drive :
setenv mainlineLinux yes
setenv arcNumber 2097
setenv bootargs 'console=ttyS0,115200 root=/dev/sda3 rootdelay=10 rootfstype=ext4'setenv mainlineLinux yes
setenv charge_image 'usb start; ext2load usb 0:1 0x01100000 /uInitrd; ext2load usb 0:1 0x00800000 /uImage'
setenv bootcmd 'run charge_image; bootm 0x00800000 0x01100000'
saveenv
So with that I can boot on my usb disk drive.
# You tried changing the environment variables again, and it's no longer booting from NAND
Yes, I would like to boot again on my nand. I made a resetenv and after :
setenv mainlineLinux yes
setenv arcNumber 2097
setenv bootcmd 'nand read.e 0x800000 0x100000 0x400000; bootm 0x800000’
setenv bootargs 'console=ttyS0,115200 mtdparts=nand_mtd:0x100000@0x00000(u-boot),0x400000@0x100000(uImage)ro,0x1fb00000@0x500000(rootfs)rw root=/dev/mtdblock2'
saveenv
reset
The beginning of the boot started well :
Uncompressing Linux... done, booting the kernel.
Linux version 2.6.37.6 (kelly@speedy) (gcc version 4.5.2 (PlugComputer G++ 20110117) ) #1 PREEMPT Mon Mar 28 19:13:36 MDT 2011
CPU: Feroceon 88FR131 [56251311] revision 1 (ARMv5TE), cr=00053977
CPU: VIVT data cache, VIVT instruction cache
Machine: Marvell SheevaPlug Reference Board
Memory policy: ECC disabled, Data cache writeback
Built 1 zonelists in Zone order, mobility grouping on. Total pages: 130048
Kernel command line: console=ttyS0,115200 mtdparts=nand_mtd:0x100000@0x00000(u-boot),0x400000@0x100000(uImage)ro,0x1fb00000@0x500000(rootfs)rw root=/dev/mtdblock2
PID hash table entries: 2048 (order: 1, 8192 bytes)
Dentry cache hash table entries: 65536 (order: 6, 262144 bytes)
Inode-cache hash table entries: 32768 (order: 5, 131072 bytes)
Memory: 512MB = 512MB total
But just after :
List of all partitions:
1f00 1024 mtdblock0 (driver?)
1f01 4096 mtdblock1 (driver?)
1f02 519168 mtdblock2 (driver?)
No filesystem could mount root, tried: ext3 ext2 ext4 cramfs vfat msdos jfs
Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(31,2)
[<c00355d4>] (unwind_backtrace+0x0/0xe0) from [<c0409378>] (panic+0x58/0x17c)
[<c0409378>] (panic+0x58/0x17c) from [<c0008d98>] (mount_block_root+0x1bc/0x1fc)
[<c0008d98>] (mount_block_root+0x1bc/0x1fc) from [<c0008f70>] (mount_root+0xa0/0xc0)
[<c0008f70>] (mount_root+0xa0/0xc0) from [<c00090f4>] (prepare_namespace+0x164/0x1b8)
[<c00090f4>] (prepare_namespace+0x164/0x1b8) from [<c00089f0>] (kernel_init+0x10c/0x14c)
[<c00089f0>] (kernel_init+0x10c/0x14c) from [<c0031494>] (kernel_thread_exit+0x0/0x8)
I hope I made a good sum up. Thank you for your help, and for your patience.