Skip to main content.

14.2.21. Linux hangs after uncompressing the kernel

Question:
I am using U-Boot with a Linux kernel version Y (Y < 2.4.5-pre5), but the last message I see is
Uncompressing Kernel Image ... OK
Then the system hangs.

Answer:
Most probably you pass bad parameters to the Linux kernel.
There are several possible reasons:
  • Bad definition of the bd_info structure
    You must make sure that your machine specific header file (for instance include/asm-ppc/tqm8xx.h) includes the same definition of the Board Information structure as we define in include/ppcboot.h, and make sure that your definition of IMAP_ADDR uses the same value as your U-Boot configuration in CFG_IMMR.
  • Bad clock information
    Before kernel version 2.4.5-pre5 (BitKeeper Patch 1.1.1.6, 22MAY2001) the kernel expected the clock information in MHz, but recent kernels expect it in Hz instead. U-Boot passes the clock information in Hz by default. To switch to the old behaviour, you can set the environment variable "clocks_in_mhz" in U-Boot:
                                                                         
=> setenv clocks_in_mhz 1
=> saveenv
       
For recent kernel the "clocks_in_mhz" variable must not be set. If it is present in your environment, you can delete it as follows:
                                                                         
=> setenv clocks_in_mhz
=> saveenv
       
ALERT! A common error is to try "setenv clocks_in_mhz 0" or to some other value - this will not work, as the value of the variable is not important at all. It is the existence of the variable that will be checked.
14.2.20. My standalone program does not work 1. Abstract 14.2.22. How can I implement automatic software updates?
Prev Home Next