Nios® V/II Embedded Design Suite (EDS)
Support for Embedded Development Tools, Processors (SoCs and Nios® V/II processor), Embedded Development Suites (EDSs), Boot and Configuration, Operating Systems, C and C++
12604 Discussions

Kernel panic during boot [Nios II on DE0-Nano]

Altera_Forum
Honored Contributor II
1,018 Views

Hi, 

 

I am trying to boot Linux on the DE0-Nano and I have a Nios II system configured with Qsys as follows: 

 

sdram 

Base address is 0x10..00 and is 32Mbytes 

 

Nios II/f (no MMU, no MPU) 

Reset Vector (offset 0x00..00) and Exception Vector (0x00..20) assigned to sdram.s1 

4 Kbytes of instruction and data cache, data cache line size is 32 bytes. 

 

All clock inputs are driven from sdram_clk which is from Altera University Program - Clock Signals for DE-series Boards, fed from the 50MHz on board clock. Plus jtag_uart, timer, and pio devices for the leds, switches, and push buttons. 

 

I am using uClinux-dist from ftp://ftp.altera.com/outgoing/nios2-linux/20120802/nios2-linux-uclinux-dist-20120802.tgz, Linux kernel from http://sopc.et.ntust.edu.tw/git/linux-2.6.git/ (HEAD (origin/nios2)), and GNU toolchain from ftp://ftp.altera.com/outgoing/nios2-linux/toolchain/sourceryg++-2012.09-110-nios2-linux-gnu-i686-pc-linux-gnu.tar.bz2

 

It seems as though I can build the kernel, busybox, etc. and end up with a zImage[.initramfs.gz] file which I download to the FPGA using nios2-download zImage and then start the nios2-terminal. The kernel starts to boot/load but encounters a panic as you can see in the following text. 

 

Using cable "USB-Blaster ", device 1, instance 0x00 Pausing target processor: OK Initializing CPU cache (if present) OK Downloaded 714KB in 3.6s (198.3KB/s) Verified OK Starting processor at address 0x10500000 nios2-terminal: connected to hardware target using JTAG UART on cable nios2-terminal: "USB-Blaster ", device 1, instance 0 nios2-terminal: (Use the IDE stop button or Ctrl-C to terminate) Linux version 3.7.0-01377-g1061bd7-dirty (rlake@snowy) (gcc version 4.7.2 (Sourcery CodeBench Lite 2012.09-110) )# 149 Wed Mar 5 00:15:28 NST 2014 bootconsole enabled early_console initialized at 0x84001050 On node 0 totalpages: 8192 free_area_init_node: node 0, pgdat 10175ca4, node_mem_map 10181a80 DMA zone: 64 pages used for memmap DMA zone: 0 pages reserved DMA zone: 8128 pages, LIFO batch:0 pcpu-alloc: s0 r0 d32768 u32768 alloc=1*32768 pcpu-alloc: 0 Built 1 zonelists in Zone order, mobility grouping off. Total pages: 8128 Kernel command line: debug console=ttyAL0,115200 PID hash table entries: 128 (order: -3, 512 bytes) Dentry cache hash table entries: 4096 (order: 2, 16384 bytes) Inode-cache hash table entries: 2048 (order: 1, 8192 bytes) Memory available: 30908k/2048k RAM (1106k kernel code, 427k data) NR_IRQS:64 Calibrating delay loop... 24.16 BogoMIPS (lpj=120832) pid_max: default: 32768 minimum: 301 Mount-cache hash table entries: 512 BUG: failure at .../nios2-linux/linux/mm/slab.c:3171/cache_alloc_refill()! Kernel panic - not syncing: BUG!  

 

I'm looking for some advice/recommendations on how to fix this problem. I will provide more details about my setup if necessary. 

 

Thank you. 

Rob
0 Kudos
1 Reply
Altera_Forum
Honored Contributor II
314 Views

I switched to a different setup following the instructions here: http://www.rocketboards.org/foswiki/documentation/niosiilinuxusermanual and I am able to bring up Linux on the DE0-Nano now.

0 Kudos
Reply