Linux on custom Xilinx board with PPC405 hangs on boot

Peter N. Andreasen peterarbejde at
Tue Oct 17 19:06:20 EST 2006

On 9/21/06, Peter N. Andreasen <peterarbejde at> wrote:
> Liu, Linas, list
> Thanks a lot for the answers. It helped me to review the hardware configuration again.
> The problem was the definition of the Flash size.
> It turns out that the Xilinx generated header files define the size of the Flash. But the kernel also has a configuration option: Memory Technology Devices / Mapping Drivers for Chip Access / Physical Length of Chip Mapping
> My arch/ppc/platforms/xilinx_ocp/xparameters_ml300.h defines this as 4Mbyte, but the option in the kernel was set to 64 Mbyte (an extra 0 which I had not seen)

Hello list,
I have successfully booted the kernel, but the uartlite device seems
to give me a lot of headache. I am using Busybox v. 1.0 and made some
changes to the libb.h:
# define CURRENT_VC "/dev/ttl0"
# define VC_1 "/dev/ttl1"
# define VC_2 "/dev/ttl2"
# define VC_3 "/dev/ttl3"
# define VC_4 "/dev/ttl4"
# define VC_5 "/dev/ttl5"

#  define SC_0 "/dev/ttl0"
#  define SC_1 "/dev/ttl1"
#  define SC_FORMAT "/dev/ttl%d"
# define VC_FORMAT "/dev/ttl%d"

To make sure I get the correct device node I also changed this in
#define UARTLITE_TTY_NAME	"ttl"
#define UARTLITE_TTY_DEVFS_NAME	"ttl/%d"
#define UARTLITE_CU_NAME	"cul"
#define UARTLITE_CU_DEVFS_NAME	"cul/%d"
#define XULITE_MAJOR            204
#define XULITE_AUX_MAJOR        205

The system stops when init launches the busybox init process. This is
the message I get just after "Freeing unused kernel memory: 44k init"

First I got an assert() from the Xilinx Uartlite driver:
init started:  Bu
<2>Xilinx OS Independent Code XAssert:  xuartlite.c:194
Code may crash due to unhandled errors.
and the system stops.
The check made in the driver is for a 0 length string. If I change it
to ignore that, the console show this instead:
init started:  Bu
init started:  B
trying to run init_process
(the "trying to run init process" is a message I put in
run_init_process in init.c in the kernel, and the message it tries to
output is "init started: Busybox version 1.0 .....")

Now my question is:
What exactly are the device nodes I have to make in /dev/ on the
ramdisk on target? I made a ttl, ttl0, and tty  which have major
204/minor 187, and ttl1, ttl2 minor 188 and 189. I also
Hope someone can help me on this


More information about the Linuxppc-dev mailing list