[U-Boot-Users] problem to load uImage but not zImage (on virtex-4 board)

hi,
I'm trying to port Linux 2.6 on Avnet FX12 MM board with U-Boot and the help of xilinx ML403 config.
I have generate my costum xparameters.h file with EDK 8.2i. I use ELDK 4.1 and Linux 2.6.20.x. I have modified ml403.h u-boot's config file to adapt it for my board and I have no problem to boot u-boot. I use the right board_info structure from <asm/ppcboot.h> and not the one in xilinx_ml403.h.
When I load the zImage directly with xilinx xmd debugger, the kernel start without problem (if I don't have KGDB or SERIAL_TEXT_DEBUG option in my kernel config). But when I try to load the uImage with u-boot, the kernel start but crach befor I can see something on output. The kernel start because I debug it and the platform_init is ok, setup_arch too and it crach after ppc4xx_setup_arch at printk(KERN_INFO "Xilinx ML403 Reference System (Virtex-4 FX)\n") line when the kernel access in printk.c.
I use the opb_uart16550 IP in my Xilinx design and the associat drivers in u-boot and linux.
I'm new in linux embedded and I'm in internship...I have any idea where and what is the problem, certanly in the serial int I guest but I'm not sure.
Thanks and sorry for my english I'm fench. Guillaume Berthelom

I take it you are running PPC405 core, right (since it's possible use Microblaze there)? Try to uncomment "#define DEBUG" in lib_ppc/board.c.
You'll see u-boot output regarding board info, see whether it's consistent.
Regarding debug - do you use BDI2000? In any rate, are you sure kernel crashes on that printk() operation or you just don't see any output on console? Where exactly it crashes?
Leonid.
-----Original Message----- From: u-boot-users-bounces@lists.sourceforge.net [mailto:u-boot-users-bounces@lists.sourceforge.net] On Behalf Of Guillaume Berthelom Sent: Wednesday, May 02, 2007 9:20 AM To: u-boot-users@lists.sourceforge.net Subject: [U-Boot-Users] problem to load uImage but not zImage (on virtex-4board)
hi,
I'm trying to port Linux 2.6 on Avnet FX12 MM board with U-Boot and the help of xilinx ML403 config.
I have generate my costum xparameters.h file with EDK 8.2i. I use ELDK 4.1 and Linux 2.6.20.x. I have modified ml403.h u-boot's config file to adapt it for my board and I have no problem to boot u-boot. I use the right board_info structure from <asm/ppcboot.h> and not the one in xilinx_ml403.h.
When I load the zImage directly with xilinx xmd debugger, the kernel start without problem (if I don't have KGDB or SERIAL_TEXT_DEBUG option in my kernel config). But when I try to load the uImage with u-boot, the kernel start but crach befor I can see something on output. The kernel start because I debug it and the platform_init is ok, setup_arch too and it crach after ppc4xx_setup_arch at printk(KERN_INFO "Xilinx ML403 Reference System (Virtex-4 FX)\n") line when the kernel access in printk.c.
I use the opb_uart16550 IP in my Xilinx design and the associat drivers in u-boot and linux.
I'm new in linux embedded and I'm in internship...I have any idea where and what is the problem, certanly in the serial int I guest but I'm not sure.
Thanks and sorry for my english I'm fench. Guillaume Berthelom

On 5/2/07, Guillaume Berthelom guillaume.berthelom@cleode.fr wrote:
When I load the zImage directly with xilinx xmd debugger, the kernel start without problem (if I don't have KGDB or SERIAL_TEXT_DEBUG option in my kernel config). But when I try to load the uImage with u-boot, the kernel start but crach befor I can see something on output. The kernel start because I debug it and the platform_init is ok, setup_arch too and it crach after ppc4xx_setup_arch at printk(KERN_INFO "Xilinx ML403 Reference System (Virtex-4 FX)\n") line when the kernel access in printk.c.
I use the opb_uart16550 IP in my Xilinx design and the associat drivers in u-boot and linux.
What are you passing for the kernel command line? Can you post your .config?
Cheers, g.

Grant is right - kernel command line (defined by u-boot variable "bootargs") is also very important, though it's difficult to see how wrong command line can crash printk(). It definitely can prevent serial output from showing up on console though.
Leonid.
-----Original Message----- From: u-boot-users-bounces@lists.sourceforge.net [mailto:u-boot-users-bounces@lists.sourceforge.net] On Behalf Of Grant Likely Sent: Wednesday, May 02, 2007 10:19 AM To: Guillaume Berthelom Cc: u-boot-users@lists.sourceforge.net Subject: Re: [U-Boot-Users] problem to load uImage but not zImage (onvirtex-4 board)
On 5/2/07, Guillaume Berthelom guillaume.berthelom@cleode.fr wrote:
When I load the zImage directly with xilinx xmd debugger, the kernel
start
without problem (if I don't have KGDB or SERIAL_TEXT_DEBUG option in
my
kernel config). But when I try to load the uImage with u-boot, the
kernel
start but crach befor I can see something on output. The kernel start because I debug it and the platform_init is ok,
setup_arch
too and it crach after ppc4xx_setup_arch at printk(KERN_INFO "Xilinx
ML403
Reference System (Virtex-4 FX)\n") line when the kernel access in
printk.c.
I use the opb_uart16550 IP in my Xilinx design and the associat
drivers in
u-boot and linux.
What are you passing for the kernel command line? Can you post your .config?
Cheers, g.

First Thanks from your reply...
In my ml403.h u-boot config's file I've got that: ... #define CONFIG_EXTRA_ENV_SETTINGS \ "netdev=eth0\0" \ "addip=setenv bootargs $(bootargs) " \ "ip=$(ipaddr):$(serverip):$(gatewayip):$(netmask)" \ ":$(hostname):$(netdev):off panic=1\0" \ "rootpath=/opt/eldk4.1/ppc_4xx\0" \ "bootfile=/tftpboot/fx12/boot/uImage\0" \ "nfsargs=setenv bootargs nfsroot=$(serverip):$(rootpath)\0" \ "net_nfs8=dhcp 800000 $(bootfile);run nfsargs addip;bootm\0" \ "net_nfs4=dhcp 400000 $(bootfile);run nfsargs addip;bootm\0" \ "net_nfs2=dhcp 200000 $(bootfile);run nfsargs addip;bootm\0"
#define CONFIG_BOOTCOMMAND "run net_nfs8" /* autoboot command */ #define CONFIG_BOOTARGS "console=ttyS0,9600"
#define CONFIG_LOADS_ECHO 1 /* echo on for serial download */ #define CFG_LOADS_BAUD_CHANGE 1 /* allow baudrate change */ ...
My Linux config is very simple for now, I give you my .config in attached file but my commande line is same as u-boot: CONFIG_CMDLINE_BOOL=y CONFIG_CMDLINE="console=ttyS0,9600" I try to turn off this option to be sure u-boot passed the BOOTARGS commande to the kernel but no result.
The output of u-boot is:
U-Boot 1.2.0 (May 3 2007 - 09:57:13)
### No HW ID - assuming ML403 DRAM: 64 MB Top of RAM usable for U-Boot at: 04000000 Reserving 159k for U-Boot at: 03fd8000 Reserving 384k for malloc() at: 03f78000 Reserving 120 Bytes for Board Info at: 03f77f88 Reserving 48 Bytes for Global Data at: 03f77f58 Stack Pointer at: 03f77f38 New Stack Pointer is: 03f77f38 Now running in RAM - U-Boot at: 03fd8000 FLASH: flash detect cfi ... 4 MB *** Warning - bad CRC, using default environment
In: serial Out: serial Err: serial U-Boot relocated to 03fd8000 ### main_loop entered: bootdelay=3
### main_loop: bootcmd="run net_nfs8" Hit any key to stop autoboot: 0 ... Bootfile: fx12/boot/uImage DHCP client bound to address 192.168.85.154 TFTP from server 192.168.85.11; our IP address is 192.168.85.154 Filename 'fx12/boot/uImage'. Load address: 0x800000 Loading: ################################################################# #################################### done Bytes transferred = 517028 (7e3a4 hex) ## Booting image at 00800000 ... Image Name: Linux-2.6.20.7 Image Type: PowerPC Linux Kernel Image (gzip compressed) Data Size: 516964 Bytes = 504.8 kB Load Address: 00000000 Entry Point: 00000000 Verifying Checksum ... OK Uncompressing Kernel Image ... OK ## Current stack ends at 0x03F77308 => set upper limit to 0x00800000 ## cmdline at 0x007FFF00 ... 0x007FFF71 bd address = 0x03F77F88 memstart = 0x00000000 memsize = 0x04000000 flashstart = 0xFF800000 flashsize = 0x00400000 flashoffset = 0x00000000 sramstart = 0x00000000 sramsize = 0x00000000 bootflags = 0xEEC2E568 procfreq = 300 MHz plb_busfreq = 100 MHz pci_busfreq = 0 MHz ethaddr = 00:0A:35:00:22:01 IP addr = 192.168.85.154 baudrate = 9600 bps No initrd ## Transferring control to Linux (at address 00000000) ...
To debug the kernel I use the xilinx xmd debugger with the JTAG cable and GDB but I don't have the BDI2000 debugger. I make a breakpoint at ppc4xx_setup_arch and then I continue with stepi commande. As you could see the printk() is not finish when the kernel crash:
(gdb) target remote 192.168.85.39:1234 Remote debugging using 192.168.85.39:1234 0x00010100 in ?? () (gdb) symbol-file vmlinux Reading symbols from /export/home/geb/linux-2.6.20.7/vmlinux...done. (gdb) add-symbol-file vmlinux 0xC0000000 add symbol table from file "vmlinux" at .text_addr = 0xc0000000 (y or n) y Reading symbols from /export/home/geb/linux-2.6.20.7/vmlinux...done. (gdb) hbreak ppc4xx_setup_arch Hardware assisted breakpoint 1 at 0xc0104e38: file arch/ppc/syslib/ppc4xx_setup.c, line 60. (gdb) c Continuing.
Breakpoint 1, ppc4xx_setup_arch () at arch/ppc/syslib/ppc4xx_setup.c:60 60 mtspr(SPRN_DBCR0, (DBCR0_IDM)); (gdb) stepi 0xc0104e3c 60 mtspr(SPRN_DBCR0, (DBCR0_IDM)); (gdb) stepi 61 mtspr(SPRN_DBSR, 0xffffffff); (gdb) 0xc0104e44 61 mtspr(SPRN_DBSR, 0xffffffff); (gdb) 68 } (gdb) ml403_setup_arch () at arch/ppc/platforms/4xx/xilinx_ml403.c:92 92 printk(KERN_INFO "Xilinx ML403 Reference System (Virtex-4 FX)\n"); (gdb) stepi 0xc0105048 92 printk(KERN_INFO "Xilinx ML403 Reference System (Virtex-4 FX)\n"); (gdb) stepi 0xc010504c 92 printk(KERN_INFO "Xilinx ML403 Reference System (Virtex-4 FX)\n"); (gdb) printk (fmt=0xc00e3c0c "<6>Xilinx ML403 Reference System (Virtex-4 FX)\n") at kernel/printk.c:503 503 { (gdb) 0xc0014768 503 { (gdb) 0xc001476c 503 { (gdb) 507 va_start(args, fmt); (gdb) 0xc0014774 507 va_start(args, fmt); (gdb) 0xc0014778 507 va_start(args, fmt); (gdb) 0xc001477c 507 va_start(args, fmt); (gdb) 0xc0014780 507 va_start(args, fmt); (gdb) 503 { (gdb) 507 va_start(args, fmt); (gdb) 508 r = vprintk(fmt, args); (gdb) 507 va_start(args, fmt); (gdb) 0xc0014794 507 va_start(args, fmt); (gdb) 503 { (gdb) 0xc001479c 503 { (gdb) 0xc00147a0 503 { (gdb) 0xc00147a4 503 { (gdb) 0xc00147a8 503 { (gdb) 0xc00147ac 503 { (gdb) 508 r = vprintk(fmt, args); (gdb)
vprintk (fmt=0xc00e3c0c "<6>Xilinx ML403 Reference System (Virtex-4 FX)\n", args=0xc00fff80) at kernel/printk.c:518 518 { (gdb) 0xc0014494 518 { (gdb) 0xc0014498 518 { (gdb) 0xc001449c 518 { (gdb) 526 if (unlikely(oops_in_progress) && printk_cpu == smp_processor_id()) (gdb) 0xc00144a4 526 if (unlikely(oops_in_progress) && printk_cpu == smp_processor_id()) (gdb) 518 { (gdb) 526 if (unlikely(oops_in_progress) && printk_cpu == smp_processor_id()) (gdb) 518 { (gdb) 526 if (unlikely(oops_in_progress) && printk_cpu == smp_processor_id()) (gdb) 91 msr = mfmsr(); (gdb) 96 SET_MSR_EE(msr & ~MSR_EE); (gdb) 0xc0014518 96 SET_MSR_EE(msr & ~MSR_EE); (gdb) 538 printed_len = vscnprintf(printk_buf, sizeof(printk_buf), fmt, args); (gdb) 0xc0014520 538 printed_len = vscnprintf(printk_buf, sizeof(printk_buf), fmt, args); (gdb) 535 printk_cpu = smp_processor_id(); (gdb) 0xc0014528 535 printk_cpu = smp_processor_id(); (gdb) 538 printed_len = vscnprintf(printk_buf, sizeof(printk_buf), fmt, args); (gdb) 0xc0014530 538 printed_len = vscnprintf(printk_buf, sizeof(printk_buf), fmt, args); (gdb) 0xc0014534 538 printed_len = vscnprintf(printk_buf, sizeof(printk_buf), fmt, args); (gdb) 0xc0014538 538 printed_len = vscnprintf(printk_buf, sizeof(printk_buf), fmt, args); (gdb) 535 printk_cpu = smp_processor_id(); (gdb) 538 printed_len = vscnprintf(printk_buf, sizeof(printk_buf), fmt, args); (gdb)
vscnprintf ( buf=0xc0114b24 "Linux version 2.6.20.7 (geb@bouleau) (gcc version 4.0.0 (DENX ELDK 4.1 4.0.0)) #1 Thu May 3 09:42:17 CEST 2007\n", size=1024, fmt=0xc00e3c0c "<6>Xilinx ML403 Reference System (Virtex-4 FX)\n", args=0xc00fff80) at lib/vsprintf.c:515 515 { (gdb) 0xc00a00c8 515 { (gdb) 0xc00a00cc 515 { (gdb) 0xc00a00d0 515 { (gdb) 0xc00a00d4 515 { (gdb) 518 i=vsnprintf(buf,size,fmt,args); (gdb) vsnprintf ( buf=0xc0114b24 "Linux version 2.6.20.7 (geb@bouleau) (gcc version 4.0.0 (DENX ELDK 4.1 4.0.0)) #1 Thu May 3 09:42:17 CEST 2007\n", size=1024, fmt=0xc00e3c0c "<6>Xilinx ML403 Reference System (Virtex-4 FX)\n", args=0xc00fff80) at lib/vsprintf.c:258 258 { (gdb) 0xc009f8d0 258 { (gdb) 277 if (unlikely((int) size < 0)) { (gdb) 258 { (gdb) 0xc009f8dc 258 { (gdb) 0xc009f8e0 258 { (gdb) 258 { (gdb) 0xc009f8e8 258 { (gdb) 277 if (unlikely((int) size < 0)) { (gdb) 286 end = buf + size; (gdb) 289 if (end < buf) { (gdb) 0xc009f918 289 if (end < buf) { (gdb) 0xc009f91c 289 if (end < buf) { (gdb) 0xc009f920 289 if (end < buf) { (gdb) 0xc00a0080 294 for (; *fmt ; ++fmt) { (gdb) 0xc00a0084 294 for (; *fmt ; ++fmt) { (gdb) 0xc00a0088 294 for (; *fmt ; ++fmt) { (gdb) 0xc00a008c 294 for (; *fmt ; ++fmt) { (gdb) 295 if (*fmt != '%') { (gdb) 0xc009f934 295 if (*fmt != '%') { (gdb) 0xc009f938 295 if (*fmt != '%') { (gdb) 431 if (str < end) (gdb) 0xc009fe48 431 if (str < end) (gdb) 432 *str = '%'; (gdb) 433 ++str; (gdb) 0xc009fe54 433 ++str; (gdb) 294 for (; *fmt ; ++fmt) { (gdb) 0xc00a0078 294 for (; *fmt ; ++fmt) { (gdb) 0xc00a007c 294 for (; *fmt ; ++fmt) { (gdb) 0xc00a0080 294 for (; *fmt ; ++fmt) { (gdb) 0xc00a0084 294 for (; *fmt ; ++fmt) { (gdb) 0xc00a0088 294 for (; *fmt ; ++fmt) { (gdb)
/*************. repeat loop x times ************/
(gdb) 488 if (size > 0) { (gdb) 0xc00a0094 488 if (size > 0) { (gdb) 489 if (str < end) (gdb) 0xc00a009c 489 if (str < end) (gdb) 490 *str = '\0'; (gdb) 0xc00a00a4 490 *str = '\0'; (gdb) 495 return str-buf; (gdb) 496 } (gdb) 0xc00a00b4 496 } (gdb) 0xc00a00b8 496 } (gdb) 0xc00a00bc 496 } (gdb) 0xc00a00c0 in vsnprintf (buf=Variable "buf" is not available. ) at lib/vsprintf.c:496 496 } (gdb) 0x00001100 in ?? () (gdb) bt #0 0x00001100 in ?? () #1 0xc00a00dc in vscnprintf (buf=Variable "buf" is not available. ) at lib/vsprintf.c:518 #2 0x480022b5 in ?? () #3 0x480022b5 in ?? () Previous frame inner to this frame (corrupt stack?) (gdb)
I also try to use the command line specified in 8250_early.c like console=uart,mmio,0x40401003,9600n8 (0x40401003 is my XPAR_UARTNS550_0_BASEADDR + 3) but no result too.
So if you have any ideas or suggestion...
Thanks, Guillaume Berthelom
Leonid a écrit :
Grant is right - kernel command line (defined by u-boot variable "bootargs") is also very important, though it's difficult to see how wrong command line can crash printk(). It definitely can prevent serial output from showing up on console though.
Leonid.
-----Original Message----- From: u-boot-users-bounces@lists.sourceforge.net [mailto:u-boot-users-bounces@lists.sourceforge.net] On Behalf Of Grant Likely Sent: Wednesday, May 02, 2007 10:19 AM To: Guillaume Berthelom Cc: u-boot-users@lists.sourceforge.net Subject: Re: [U-Boot-Users] problem to load uImage but not zImage (onvirtex-4 board)
On 5/2/07, Guillaume Berthelom guillaume.berthelom@cleode.fr wrote:
When I load the zImage directly with xilinx xmd debugger, the kernel
start
without problem (if I don't have KGDB or SERIAL_TEXT_DEBUG option in
my
kernel config). But when I try to load the uImage with u-boot, the
kernel
start but crach befor I can see something on output. The kernel start because I debug it and the platform_init is ok,
setup_arch
too and it crach after ppc4xx_setup_arch at printk(KERN_INFO "Xilinx
ML403
Reference System (Virtex-4 FX)\n") line when the kernel access in
printk.c.
I use the opb_uart16550 IP in my Xilinx design and the associat
drivers in
u-boot and linux.
What are you passing for the kernel command line? Can you post your .config?
Cheers, g.
# # Automatically generated make config: don't edit # Linux kernel version: 2.6.20.7 # Thu May 3 11:46:19 2007 # CONFIG_MMU=y CONFIG_GENERIC_HARDIRQS=y CONFIG_RWSEM_XCHGADD_ALGORITHM=y CONFIG_ARCH_HAS_ILOG2_U32=y # CONFIG_ARCH_HAS_ILOG2_U64 is not set CONFIG_GENERIC_HWEIGHT=y CONFIG_GENERIC_CALIBRATE_DELAY=y CONFIG_PPC=y CONFIG_PPC32=y CONFIG_GENERIC_NVRAM=y CONFIG_GENERIC_FIND_NEXT_BIT=y CONFIG_SCHED_NO_NO_OMIT_FRAME_POINTER=y CONFIG_ARCH_MAY_HAVE_PC_FDC=y CONFIG_GENERIC_BUG=y CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"
# # Code maturity level options # CONFIG_EXPERIMENTAL=y CONFIG_BROKEN_ON_SMP=y CONFIG_INIT_ENV_ARG_LIMIT=32
# # General setup # CONFIG_LOCALVERSION="" CONFIG_LOCALVERSION_AUTO=y # CONFIG_SWAP is not set CONFIG_SYSVIPC=y # CONFIG_IPC_NS is not set CONFIG_BSD_PROCESS_ACCT=y CONFIG_BSD_PROCESS_ACCT_V3=y # CONFIG_UTS_NS is not set # CONFIG_IKCONFIG is not set CONFIG_SYSFS_DEPRECATED=y # CONFIG_RELAY is not set CONFIG_INITRAMFS_SOURCE="" CONFIG_CC_OPTIMIZE_FOR_SIZE=y CONFIG_SYSCTL=y # CONFIG_EMBEDDED is not set CONFIG_SYSCTL_SYSCALL=y CONFIG_KALLSYMS=y # CONFIG_KALLSYMS_ALL is not set # CONFIG_KALLSYMS_EXTRA_PASS is not set CONFIG_HOTPLUG=y CONFIG_PRINTK=y CONFIG_BUG=y CONFIG_ELF_CORE=y CONFIG_BASE_FULL=y CONFIG_FUTEX=y CONFIG_EPOLL=y CONFIG_SHMEM=y CONFIG_SLAB=y CONFIG_VM_EVENT_COUNTERS=y CONFIG_RT_MUTEXES=y # CONFIG_TINY_SHMEM is not set CONFIG_BASE_SMALL=0 # CONFIG_SLOB is not set
# # Loadable module support # # CONFIG_MODULES is not set
# # Block layer # CONFIG_BLOCK=y # CONFIG_LBD is not set # CONFIG_BLK_DEV_IO_TRACE is not set # CONFIG_LSF is not set
# # IO Schedulers # CONFIG_IOSCHED_NOOP=y CONFIG_IOSCHED_AS=y CONFIG_IOSCHED_DEADLINE=y CONFIG_IOSCHED_CFQ=y CONFIG_DEFAULT_AS=y # CONFIG_DEFAULT_DEADLINE is not set # CONFIG_DEFAULT_CFQ is not set # CONFIG_DEFAULT_NOOP is not set CONFIG_DEFAULT_IOSCHED="anticipatory"
# # Processor # # CONFIG_6xx is not set CONFIG_40x=y # CONFIG_44x is not set # CONFIG_8xx is not set # CONFIG_E200 is not set # CONFIG_E500 is not set CONFIG_PPC_DCR_NATIVE=y CONFIG_PPC_DCR=y # CONFIG_MATH_EMULATION is not set # CONFIG_KEXEC is not set # CONFIG_CPU_FREQ is not set CONFIG_4xx=y # CONFIG_WANT_EARLY_SERIAL is not set
# # IBM 4xx options # # CONFIG_BUBINGA is not set # CONFIG_CPCI405 is not set # CONFIG_EP405 is not set # CONFIG_REDWOOD_5 is not set # CONFIG_REDWOOD_6 is not set # CONFIG_SYCAMORE is not set # CONFIG_WALNUT is not set # CONFIG_XILINX_ML300 is not set CONFIG_XILINX_ML403=y CONFIG_IBM405_ERR77=y CONFIG_IBM405_ERR51=y CONFIG_XILINX_VIRTEX_4_FX=y CONFIG_XILINX_VIRTEX=y CONFIG_EMBEDDEDBOOT=y # CONFIG_PPC4xx_DMA is not set CONFIG_PPC_GEN550=y CONFIG_UART0_TTYS0=y # CONFIG_UART0_TTYS1 is not set CONFIG_NOT_COHERENT_CACHE=y
# # Platform options # # CONFIG_PC_KEYBOARD is not set # CONFIG_HIGHMEM is not set CONFIG_ARCH_POPULATES_NODE_MAP=y # CONFIG_HZ_100 is not set CONFIG_HZ_250=y # CONFIG_HZ_300 is not set # CONFIG_HZ_1000 is not set CONFIG_HZ=250 CONFIG_PREEMPT_NONE=y # CONFIG_PREEMPT_VOLUNTARY is not set # CONFIG_PREEMPT is not set CONFIG_SELECT_MEMORY_MODEL=y CONFIG_FLATMEM_MANUAL=y # CONFIG_DISCONTIGMEM_MANUAL is not set # CONFIG_SPARSEMEM_MANUAL is not set CONFIG_FLATMEM=y CONFIG_FLAT_NODE_MEM_MAP=y # CONFIG_SPARSEMEM_STATIC is not set CONFIG_SPLIT_PTLOCK_CPUS=4 # CONFIG_RESOURCES_64BIT is not set CONFIG_BINFMT_ELF=y # CONFIG_BINFMT_MISC is not set CONFIG_CMDLINE_BOOL=y CONFIG_CMDLINE="console=ttyS0,9600" # CONFIG_PM is not set CONFIG_SECCOMP=y CONFIG_ISA_DMA_API=y
# # Bus options # # CONFIG_PPC_I8259 is not set # CONFIG_PCI is not set # CONFIG_PCI_DOMAINS is not set
# # PCCARD (PCMCIA/CardBus) support # # CONFIG_PCCARD is not set
# # Advanced setup # # CONFIG_ADVANCED_OPTIONS is not set
# # Default settings for advanced configuration options are used # CONFIG_HIGHMEM_START=0xfe000000 CONFIG_LOWMEM_SIZE=0x30000000 CONFIG_KERNEL_START=0xc0000000 CONFIG_TASK_SIZE=0x80000000 CONFIG_CONSISTENT_START=0xff100000 CONFIG_CONSISTENT_SIZE=0x00200000 CONFIG_BOOT_LOAD=0x00400000
# # Networking # # CONFIG_NET is not set
# # Device Drivers #
# # Generic Driver Options # CONFIG_STANDALONE=y CONFIG_PREVENT_FIRMWARE_BUILD=y # CONFIG_FW_LOADER is not set # CONFIG_DEBUG_DRIVER is not set # CONFIG_SYS_HYPERVISOR is not set
# # Connector - unified userspace <-> kernelspace linker #
# # Memory Technology Devices (MTD) # # CONFIG_MTD is not set
# # Parallel port support # # CONFIG_PARPORT is not set
# # Plug and Play support #
# # Block devices # # CONFIG_BLK_DEV_FD is not set # CONFIG_BLK_DEV_COW_COMMON is not set # CONFIG_BLK_DEV_LOOP is not set # CONFIG_BLK_DEV_RAM is not set # CONFIG_BLK_DEV_INITRD is not set # CONFIG_CDROM_PKTCDVD is not set
# # Misc devices # # CONFIG_TIFM_CORE is not set
# # ATA/ATAPI/MFM/RLL support # # CONFIG_IDE is not set
# # SCSI device support # # CONFIG_RAID_ATTRS is not set # CONFIG_SCSI is not set # CONFIG_SCSI_NETLINK is not set
# # Serial ATA (prod) and Parallel ATA (experimental) drivers # # CONFIG_ATA is not set
# # Multi-device support (RAID and LVM) # # CONFIG_MD is not set
# # Fusion MPT device support # # CONFIG_FUSION is not set
# # IEEE 1394 (FireWire) support #
# # I2O device support #
# # Macintosh device drivers # # CONFIG_MAC_EMUMOUSEBTN is not set # CONFIG_WINDFARM is not set
# # ISDN subsystem #
# # Telephony Support # # CONFIG_PHONE is not set
# # Input device support # CONFIG_INPUT=y # CONFIG_INPUT_FF_MEMLESS is not set
# # Userland interfaces # CONFIG_INPUT_MOUSEDEV=y # CONFIG_INPUT_MOUSEDEV_PSAUX is not set CONFIG_INPUT_MOUSEDEV_SCREEN_X=1024 CONFIG_INPUT_MOUSEDEV_SCREEN_Y=768 # CONFIG_INPUT_JOYDEV is not set # CONFIG_INPUT_TSDEV is not set # CONFIG_INPUT_EVDEV is not set # CONFIG_INPUT_EVBUG is not set
# # Input Device Drivers # # CONFIG_INPUT_KEYBOARD is not set # CONFIG_INPUT_MOUSE is not set # CONFIG_INPUT_JOYSTICK is not set # CONFIG_INPUT_TOUCHSCREEN is not set # CONFIG_INPUT_MISC is not set
# # Hardware I/O ports # # CONFIG_SERIO is not set # CONFIG_GAMEPORT is not set
# # Character devices # CONFIG_VT=y CONFIG_VT_CONSOLE=y CONFIG_HW_CONSOLE=y # CONFIG_VT_HW_CONSOLE_BINDING is not set # CONFIG_SERIAL_NONSTANDARD is not set
# # Serial drivers # CONFIG_SERIAL_8250=y CONFIG_SERIAL_8250_CONSOLE=y CONFIG_SERIAL_8250_NR_UARTS=4 CONFIG_SERIAL_8250_RUNTIME_UARTS=4 # CONFIG_SERIAL_8250_EXTENDED is not set
# # Non-8250 serial port support # # CONFIG_SERIAL_UARTLITE is not set CONFIG_SERIAL_CORE=y CONFIG_SERIAL_CORE_CONSOLE=y CONFIG_UNIX98_PTYS=y # CONFIG_LEGACY_PTYS is not set
# # IPMI # # CONFIG_IPMI_HANDLER is not set
# # Watchdog Cards # # CONFIG_WATCHDOG is not set # CONFIG_HW_RANDOM is not set # CONFIG_NVRAM is not set # CONFIG_GEN_RTC is not set # CONFIG_DTLK is not set # CONFIG_R3964 is not set # CONFIG_RAW_DRIVER is not set
# # TPM devices # # CONFIG_TCG_TPM is not set
# # I2C support # # CONFIG_I2C is not set
# # SPI support # # CONFIG_SPI is not set # CONFIG_SPI_MASTER is not set
# # Dallas's 1-wire bus # # CONFIG_W1 is not set
# # Hardware Monitoring support # # CONFIG_HWMON is not set # CONFIG_HWMON_VID is not set
# # Multimedia devices # # CONFIG_VIDEO_DEV is not set
# # Digital Video Broadcasting Devices #
# # Graphics support # # CONFIG_FIRMWARE_EDID is not set # CONFIG_FB is not set # CONFIG_FB_IBM_GXT4500 is not set
# # Console display driver support # CONFIG_DUMMY_CONSOLE=y # CONFIG_BACKLIGHT_LCD_SUPPORT is not set
# # Sound # # CONFIG_SOUND is not set
# # HID Devices # # CONFIG_HID is not set
# # USB support # # CONFIG_USB_ARCH_HAS_HCD is not set # CONFIG_USB_ARCH_HAS_OHCI is not set # CONFIG_USB_ARCH_HAS_EHCI is not set
# # NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support' #
# # USB Gadget Support # # CONFIG_USB_GADGET is not set
# # MMC/SD Card support # # CONFIG_MMC is not set
# # LED devices # # CONFIG_NEW_LEDS is not set
# # LED drivers #
# # LED Triggers #
# # InfiniBand support #
# # EDAC - error detection and reporting (RAS) (EXPERIMENTAL) #
# # Real Time Clock # # CONFIG_RTC_CLASS is not set
# # DMA Engine support # # CONFIG_DMA_ENGINE is not set
# # DMA Clients #
# # DMA Devices #
# # Virtualization #
# # File systems # # CONFIG_EXT2_FS is not set # CONFIG_EXT3_FS is not set # CONFIG_EXT4DEV_FS is not set # CONFIG_REISERFS_FS is not set # CONFIG_JFS_FS is not set # CONFIG_FS_POSIX_ACL is not set # CONFIG_XFS_FS is not set # CONFIG_GFS2_FS is not set # CONFIG_MINIX_FS is not set # CONFIG_ROMFS_FS is not set # CONFIG_INOTIFY is not set # CONFIG_QUOTA is not set CONFIG_DNOTIFY=y # CONFIG_AUTOFS_FS is not set # CONFIG_AUTOFS4_FS is not set # CONFIG_FUSE_FS is not set
# # CD-ROM/DVD Filesystems # # CONFIG_ISO9660_FS is not set # CONFIG_UDF_FS is not set
# # DOS/FAT/NT Filesystems # # CONFIG_MSDOS_FS is not set # CONFIG_VFAT_FS is not set # CONFIG_NTFS_FS is not set
# # Pseudo filesystems # CONFIG_PROC_FS=y # CONFIG_PROC_KCORE is not set CONFIG_PROC_SYSCTL=y CONFIG_SYSFS=y # CONFIG_TMPFS is not set # CONFIG_HUGETLB_PAGE is not set CONFIG_RAMFS=y # CONFIG_CONFIGFS_FS is not set
# # Miscellaneous filesystems # # CONFIG_ADFS_FS is not set # CONFIG_AFFS_FS is not set # CONFIG_HFS_FS is not set # CONFIG_HFSPLUS_FS is not set # CONFIG_BEFS_FS is not set # CONFIG_BFS_FS is not set # CONFIG_EFS_FS is not set # CONFIG_CRAMFS is not set # CONFIG_VXFS_FS is not set # CONFIG_HPFS_FS is not set # CONFIG_QNX4FS_FS is not set # CONFIG_SYSV_FS is not set # CONFIG_UFS_FS is not set
# # Partition Types # # CONFIG_PARTITION_ADVANCED is not set CONFIG_MSDOS_PARTITION=y
# # Native Language Support # # CONFIG_NLS is not set
# # IBM 40x options #
# # Library routines # CONFIG_BITREVERSE=y # CONFIG_CRC_CCITT is not set # CONFIG_CRC16 is not set CONFIG_CRC32=y # CONFIG_LIBCRC32C is not set CONFIG_PLIST=y CONFIG_IOMAP_COPY=y # CONFIG_PROFILING is not set
# # Kernel hacking # # CONFIG_PRINTK_TIME is not set # CONFIG_ENABLE_MUST_CHECK is not set # CONFIG_MAGIC_SYSRQ is not set # CONFIG_UNUSED_SYMBOLS is not set # CONFIG_DEBUG_FS is not set # CONFIG_HEADERS_CHECK is not set CONFIG_DEBUG_KERNEL=y CONFIG_LOG_BUF_SHIFT=12 CONFIG_DETECT_SOFTLOCKUP=y # CONFIG_SCHEDSTATS is not set # CONFIG_DEBUG_SLAB is not set # CONFIG_DEBUG_RT_MUTEXES is not set # CONFIG_RT_MUTEX_TESTER is not set # CONFIG_DEBUG_SPINLOCK is not set # CONFIG_DEBUG_MUTEXES is not set # CONFIG_DEBUG_RWSEMS is not set # CONFIG_DEBUG_SPINLOCK_SLEEP is not set # CONFIG_DEBUG_LOCKING_API_SELFTESTS is not set # CONFIG_DEBUG_KOBJECT is not set CONFIG_DEBUG_BUGVERBOSE=y CONFIG_DEBUG_INFO=y # CONFIG_DEBUG_VM is not set CONFIG_DEBUG_LIST=y CONFIG_FORCED_INLINING=y # CONFIG_RCU_TORTURE_TEST is not set # CONFIG_KGDB is not set # CONFIG_XMON is not set # CONFIG_BDI_SWITCH is not set # CONFIG_SERIAL_TEXT_DEBUG is not set
# # Security options # # CONFIG_KEYS is not set # CONFIG_SECURITY is not set
# # Cryptographic options # # CONFIG_CRYPTO is not set

Hi,
I find my problem! it was like you said a problem with the command line in u-boot. I had defined CONFIG_EXTRA_ENV_SETTINGS before CONFIG_BOOTARGS, that's it! and you have to do the opposite.
Thanks for your help, Guillaume Berthelom
Leonid a écrit :
Grant is right - kernel command line (defined by u-boot variable "bootargs") is also very important, though it's difficult to see how wrong command line can crash printk(). It definitely can prevent serial output from showing up on console though.
Leonid.
-----Original Message----- From: u-boot-users-bounces@lists.sourceforge.net [mailto:u-boot-users-bounces@lists.sourceforge.net] On Behalf Of Grant Likely Sent: Wednesday, May 02, 2007 10:19 AM To: Guillaume Berthelom Cc: u-boot-users@lists.sourceforge.net Subject: Re: [U-Boot-Users] problem to load uImage but not zImage (onvirtex-4 board)
On 5/2/07, Guillaume Berthelom guillaume.berthelom@cleode.fr wrote:
When I load the zImage directly with xilinx xmd debugger, the kernel
start
without problem (if I don't have KGDB or SERIAL_TEXT_DEBUG option in
my
kernel config). But when I try to load the uImage with u-boot, the
kernel
start but crach befor I can see something on output. The kernel start because I debug it and the platform_init is ok,
setup_arch
too and it crach after ppc4xx_setup_arch at printk(KERN_INFO "Xilinx
ML403
Reference System (Virtex-4 FX)\n") line when the kernel access in
printk.c.
I use the opb_uart16550 IP in my Xilinx design and the associat
drivers in
u-boot and linux.
What are you passing for the kernel command line? Can you post your .config?
Cheers, g.
participants (3)
-
Grant Likely
-
Guillaume Berthelom
-
Leonid