11-18-2014 07:56 PM
I have a problem when booting linux on my board. Yes, I have read the related post as 'Linux boot stucks at ...', but found no clues.
I have a board from http://www.zingsoc.com/. It is a custom board with little differences with ZedBoard.
I have tried to build a Linux following the "Zynq Base TRD 14.3" guide. For my board uses UART0, so I checked "EARLY_UART1" option off.
While booting, Linux hangs at
smp_twd: clock not found -2
sched_clock: 32 bits at 100 Hz, resolution 10000000ns, wraps every 21474836480000000ns
Console: colour dummy device 80x30
console [tty0] enabled
Calibrating local timer...
The code in twd_calibrate_rate() is
/* Wait for a tick to start */
waitjiffies = get_jiffies_64() + 1;
while (get_jiffies_64() < waitjiffies)
/* OK, now the tick has started, let's get the timer going */
waitjiffies += 5;
I debugged it by printk, and found the waitjiffies is 0 and the while loop is a dead loop, indicating the jiffies not running as expected.
I have a bootable uImage ( version 3.5.0-14.3-build2-25242-gb6ca1be-dirty) without source codes. I use its boot.bin, devicetree.dtb etc. It seems the DTB is good.
So what is wrong? If the jiffies not running, what can I do?
Thank you in advance!
11-20-2014 05:42 AM
11-20-2014 10:13 AM
Are you really sure that your device tree is good as "smp_twd: clock not found -2" makes me believe it's not.
You can always add "lpj=X" on the kernel command line (in u-boot by setting bootargs) where X is some large number to see if it gets thru this but that's not fixing the root of the problem. This command line option causes it not to calibrate the clock for faster boot time.