@servercat,
Without seeing your current uBoot envs, it's hard to tell exactly what the problem is. However, I'm guessing:
- Since you can only boot from the rescue roofts on a USB stick, it means the rescue is setup to load from the stick, not from NAND.
- The problem with a lot bad blocks shown in dmesg, and then fw_printenv responds with "Too few good blocks within range": Some user (sorry forgot exactly who) on this forum has discovered that it's not a real problem with bad blocks. A patch to the kernel is needed to fix it. This fix is applicable to all Kirwood plugs:
It seems the rescue roofts does not have timing patch for this problem.
So you have catch-22, you can't print out envs to see why it is not booting other rootfs, until you can boot with that rootfs to be able to print envs !!!
My suggestion: boot into the rescue system on the stick, and rerun the Debian squeeze installation. If the installation detects that the uBoot is already the latest, then it's good, proceed with installation. When encounter with question about restoring uBoot envs to known good values, say yes. And continue to install Debian squeeze on USB. Once you are booting Debian squeeze, you can use my wheezy rootfs to boot with kernel 3.8.11. Or use Davy's NSA320 roofts.
If you have any question or not sure what to do during the installation, don't try to guess just leave it on at that point and post the questions here.
Good luck!
Without seeing your current uBoot envs, it's hard to tell exactly what the problem is. However, I'm guessing:
- Since you can only boot from the rescue roofts on a USB stick, it means the rescue is setup to load from the stick, not from NAND.
- The problem with a lot bad blocks shown in dmesg, and then fw_printenv responds with "Too few good blocks within range": Some user (sorry forgot exactly who) on this forum has discovered that it's not a real problem with bad blocks. A patch to the kernel is needed to fix it. This fix is applicable to all Kirwood plugs:
- kirkwood_nand_init(ARRAY_AND_SIZE(dockstar_nand_parts), 25); + kirkwood_nand_init(ARRAY_AND_SIZE(dockstar_nand_parts), 40);
It seems the rescue roofts does not have timing patch for this problem.
So you have catch-22, you can't print out envs to see why it is not booting other rootfs, until you can boot with that rootfs to be able to print envs !!!
My suggestion: boot into the rescue system on the stick, and rerun the Debian squeeze installation. If the installation detects that the uBoot is already the latest, then it's good, proceed with installation. When encounter with question about restoring uBoot envs to known good values, say yes. And continue to install Debian squeeze on USB. Once you are booting Debian squeeze, you can use my wheezy rootfs to boot with kernel 3.8.11. Or use Davy's NSA320 roofts.
If you have any question or not sure what to do during the installation, don't try to guess just leave it on at that point and post the questions here.
Good luck!