XPost: uk.comp.os.linux   
   From: theom+news@chiark.greenend.org.uk   
      
   In uk.comp.os.linux Andy Burns wrote:   
   > Java Jive wrote:   
   >   
   > > from the sound, I was suspicious that the drives are only powered up   
   > > when the kernel loads the driver, and then the driver almost immediately   
   > > expects them to be present, which would mean that this ploy wouldn't   
   > > work. However, I was game to try it, as I didn't think it could do any   
   > > harm, but, as I feared, it didn't work. The delay comes long after this   
   > > point, and too late to affect things.   
   >   
   > A wild thought (which I can't test as I no longer run openWRT so no   
   > u-boot device) add the normal kernel as a crash kernel, let the first   
   > kernel boot and spin the drives up too late ... then find a way to crash   
   > it, so the crash kernel starts up affer the drives are spinning?   
      
   I'm not sure that's an intrinsic feature of uboot - the idea of booting into   
   something different second time around is a feature of OpenWRT I think. I   
   don't know how they do it. None of the other systems I've worked on with   
   u-boot do that.   
      
   However uboot does have its own boot delay. You:   
      
   setenv bootdelay 120   
      
   to delay 120 seconds. In the Zyxel case it appears that would be:   
      
   ~ # /zyxel/sbin/fw_setenv bootdelay 120   
      
   The difference is that this is prior to the kernel booting so the SATA   
   driver does not fire up. However, if spinup only happens when the driver   
   begins talking to the drive then this won't help.   
      
   I suppose another option if that happens is to try to talk to the SATA drive   
   in uboot, which might commence spinup. Docs:   
   https://github.com/u-boot/u-boot/blob/master/doc/README.sata   
      
   maybe the 'sata info' command is enough to wake the HDD, and even if it   
   fails you can then 'sleep 30' or something while the drive spins up, and   
   then boot Linux.   
      
   (I'm assuming the Zyxel firmware will let you edit the u-boot command   
   script, not just the u-boot environment variables)   
      
   Theo   
      
   --- SoupGate-DOS v1.05   
    * Origin: you cannot sedate... all the things you hate (1:229/2)   
|