Postby obconseil » Tue Aug 24, 2010 4:57 am
The problem come from the fact that devices in linux are named in order of their detection.
First is sda, then sdb, ...
On the previous version, the kernel included only the SATA and the USB drivers.
In 2.6.35.2, the "sdcard" driver has been added within the kernel.
As a consequence, and since the SDCard driver is detected before the USB key, the USB Key became
"sdc" in your configuration.
A quick solution is to replace in your 'x_bootargs_root' the keyword "sdb1" by "sdc1".
saveenv, and then reboot.
But the problem is that, it depends in fact on the kind of storage plugged at boot time:
If you remove the sd-card , or add a SATA disk, thing changes.
Since the current u-boot can only boot from a USB key or a NAND flash, I propose to rebuild a kernel with the E-SATA & SD-card driver as modules:
By doing so, the boot-time detection will no take them into account, thus the root device will stay "sdb1".
Only after boot the E-SATA & SD will be detected as usual.
If's that's ok with you I can do that quickly.
(It turns out that other solution I tried , like using uuid or "by-path" devices would not work")
obinou