This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

Kernel booting hangs

Other Parts Discussed in Thread: DM3730, DM388

I am using a DM3730 to boot into Linux, and after u-boot loads successfully, the kernel hangs.

My output is the following:

mmc1 is available
reading boot.scr

** Unable to read "boot.scr" from mmc 0:1 **
reading uImage

2701164 bytes read
Booting from mmc ...
## Booting kernel from Legacy Image at 82000000 ...
Image Name:
Image Type: ARM Linux Kernel Image (uncompressed)
Data Size: 2701100 Bytes = 2.6 MiB
Load Address: 80008000
Entry Point: 80008000
Verifying Checksum ... OK
Loading Kernel Image ... OK
OK

Starting kernel ...

Uncompressing Linux....................................................................................................................................................................... done, booting the kernel.

I get a heartbeat that goes faster and faster on GPIO150, but no further output.

Any help would be greatly appreciated.

  • There are quite a few threads about such a situation. The TI Wiki has a nice summary here:

    http://processors.wiki.ti.com/index.php/Kernel_-_Common_Problems_Booting_Linux

    Odds are it is mach ID mismatch or wrong tty for console in the bootargs. The tty could be the wrong uart or wrong name. Depending on which version, TI's Linux distros used the tty prefix of "ttyS" or "ttyO" (as in OMAP).

  • Thanks for the response.

    I am using a BeagleBoard u-boot with a BeagleBoard 2.6.32 kernel, and I have tried both ttyS and ttyO, and low level debugging on, but I still do not make it past "done, booting kernel". As far as I can tell, the machine IDs are the same, and the tty selection is correct. The board that I am trying to boot on is my own board that is fairly close to a BeagleBoard XM, but is there a way that I can try booting the kernel without a check for a machine ID, or have it boot with a custom, device agnostic, u-boot and kernel?

    Thanks,

        Alex Busman

  • The machid access in u-boot seems to vary. The bdinfo command might print an arch_number value. Some seem to support an environment variable called machid. You could try changing that variable to match you what your kernel expects. Problem is finding what your kernel expects. Usually the low level print will dump out a message of supported IDs. Or sift though the kernel config to see what the ID should be. Just noticed the TI wiki pages doesn't mention earlyprintk. Some kernels require earlyprintk enable in the kernel config and passed on the bootargs.

    I don't believe that there is any runtime switch that removes the machid check. You'd have to modify the kernel source.

    This is probably more of a Linux problem than strictly Beagleboard. Maybe try posting the Linux sub-forum. Notably experts like Renjith Thomas know much more than me. I'm surprised he hasn't posted yet.

  • hai norman

    I am also working on the same processor and getting the same error...then the kernel hangs out.

     Verifying Checksum ... OK
       Loading Kernel Image ... OK
    OK

    Starting kernel ...

    Uncompressing Linux... done, booting the kernel.

    I do all the stuff that were noted in your link...

    http://processors.wiki.ti.com/index.php/Kernel_-_Common_Problems_Booting_Linux.......

    But doesn't happens

    1)Enable earlyprintk - done

    2) Set the bootargs - ttyS0 to ttyO2

    but nothings happens..i stuck on that same place.

    help me Norman & Renjith...Thanks in advance


  • Alex,

    I was not active in the forum for few days as I was quite busy. I believe Sekra has solved the same issue. I have given my response to Sekra in the below thread.

    http://e2e.ti.com/support/embedded/linux/f/354/t/224083.aspx?pi239031349=1

  • Hai

    In this issue you have to waste the machine cycles of the processor,when you are booting the kernel

    I had the same issue few days back.First of all,u have to get one stable kernel source from the kernel sites.I'm using 3.2.xx.In that kernel,

    1) you have to cross-compile both the uboot & kernel on same machine.

    2)If you are ready to boot the linux, before that check the RAMDISK for CPU starts with 0 ( ZERO ). may be your location starts from 0x82000000.It's also the reason to boot at the particular location.

    My opinion is to get the exact stable kernel for uboot is to solve the problem easily.

  • Hi Sekra,

                       I am facing same issue. I am able to boot 2.7MB kernel. Large size kernel(20MB) is not coming up.
    Need help in this

    Thanks in advance

    Bhargav

  • Hi Bhargav,

    Could you give more details about the issue?
    1. What is the size of boot partition?
    2. Could you post the boot args?
    3. Could you attach in file the console booting log?

    BR
    Tsvetolin Shulev
  • Hi Tsvetolin,

    Thanks for your response. I fixed this issue. There is no problem in boot partition, bootargs.

    ## Booting kernel from Legacy Image at 81000800 ...
    Image Name: Linux-2.6.37_DM388_IPNC_3.80.00
    Image Type: ARM Linux Kernel Image (uncompressed)
    Data Size: 23672556 Bytes = 22.6 MiB
    Load Address: 80008000
    Entry Point: 80008000
    Verifying Checksum ... OK
    Loading Kernel Image ... OK
    OK

    Starting kernel ...

    Uncompressing Linux... done, booting the kernel.


    hanging here.


    Problem here is, Linker script placing this initramfs in the init section of kernel. i moved initramfs out of init section. Now its working fine.

    Thanks
    Bhargav