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++

Init not found

Honored Contributor II



I'm using the BeMicro SDK board from arrow. I have been able to successfully load the sample ucLinux w/MMU image from the wiki with no problems. I am now attempting to replicate the sample with the latest git sources(trunk/unstable-nios2mmu). I previously had an issue building the uClinux distro, but I have gotten beyond that and I am now able to build the zImage.initrd.gz and other images. I found that I had to change the CONFIG_KERNEL_REGION_BASE parameter to 0xD0000000 for the board to properly program with nios2-download. I also had to add a full-featured timer at irq 0 in the hardware design for the kernel to boot this far. 


I am able to boot the kernel (see below), but there is a problem when executing the romfs. I suspect there is an initrd configuration issue, but I have been unsuccessful in finding the problem thus far. 


Linux version 3.1.0-rc4-01158-gfb162a3 (thomasw@Daedalus) (gcc version 4.1.2)# 106 Thu Sep 1 10:56:18 EDT 2011 bootconsole enabled early_console initialized at 0xe8805000 On node 0 totalpages: 8192 free_area_init_node: node 0, pgdat d05b6f8c, node_mem_map d05cd980 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 on. Total pages: 8128 Kernel command line: init=/bin/init 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: 26508k/5928k RAM (2181k kernel code, 3747k data) NR_IRQS:32 Calibrating delay loop... 48.12 BogoMIPS (lpj=96256) pid_max: default: 32768 minimum: 301 Mount-cache hash table entries: 512 NET: Registered protocol family 16 bio: create slab <bio-0> at 0 Switching to clocksource timer NET: Registered protocol family 2 IP route cache hash table entries: 1024 (order: 0, 4096 bytes) TCP established hash table entries: 1024 (order: 1, 8192 bytes) TCP bind hash table entries: 1024 (order: 0, 4096 bytes) TCP: Hash tables configured (established 1024 bind 1024) TCP reno registered UDP hash table entries: 256 (order: 0, 4096 bytes) UDP-Lite hash table entries: 256 (order: 0, 4096 bytes) NET: Registered protocol family 1 RPC: Registered named UNIX socket transport module. RPC: Registered udp transport module. RPC: Registered tcp transport module. RPC: Registered tcp NFSv4.1 backchannel transport module. JFFS2 version 2.2. (NAND) © 2001-2006 Red Hat, Inc. msgmni has been set to 51 Block layer SCSI generic (bsg) driver version 0.4 loaded (major 254) io scheduler noop registered io scheduler deadline registered (default) io scheduler cfq registered ttyJ0 at MMIO 0x8805000 (irq = 5) is a Altera JTAG UART console enabled, bootconsole disabled console enabled, bootconsole disabled mousedev: PS/2 mouse device common for all mice TCP cubic registered NET: Registered protocol family 17 Freeing unused kernel memory: 3160k freed (0xd0223000 - 0xd0539000) Failed to execute /init Failed to execute /bin/init. Attempting defaults... Kernel panic - not syncing: No init found. Try passing init= option to kernel. See Linux Documentation/init.txt for guidance.The bootconsole disabled message also concerns me, as Documetation/init.txt lists broken console device as one of the possible reasons for an init failure. I'm not sure it's an error though, it may just be a notification. 


I've tried reseting the configuration to default several times, but it has made no difference so far. I've attached my uclinux/kernel configurations and dts file for review. 


I'm at a loss at how to proceed debugging the issue right now, so any help would be very greatly appreciated.
0 Kudos
1 Reply
Honored Contributor II

Nevermind. I misunderstood the purpose of the CONFIG_KERNEL_REGION_BASE parameter. 


I should have changed DDR2_TOP_BASE in linux-2.6/arch/nios2/include/asm/nios.h instead. Setting this value to 0x10000000 fixed my problem. 



Welcome to ____ _ _ / __| ||_| _ _| | | | _ ____ _ _ _ _ | | | | | | || | _ \| | | |\ \/ / | |_| | |__| || | | | | |_| |/ | ___\____|_||_|_| |_|\____|\_/\_/ | | |_| BusyBox v1.18.4 (2011-09-01 14:50:32 EDT) hush - the humble shell Enter 'help' for a list of built-in commands. root:/> *much excitement*
0 Kudos