Nios® II Embedded Design Suite (EDS)
Support for Embedded Development Tools, Processors (SoCs and Nios® II processor), Embedded Development Suites (EDSs), Boot and Configuration, Operating Systems, C and C++
Intel Support hours are Monday-Fridays, 8am-5pm PST, except Holidays. Thanks to our community members who provide support during our down time or before we get to your questions. We appreciate you!

Need Forum Guidance? Click here
Search our FPGA Knowledge Articles here.
12454 Discussions

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

Honored Contributor II



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



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, Linux kernel from (HEAD (origin/nios2)), and GNU toolchain from


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. 

0 Kudos
1 Reply
Honored Contributor II

I switched to a different setup following the instructions here: and I am able to bring up Linux on the DE0-Nano now.