Altera_Forum
Honored Contributor
15 years agouClinux unable to mount
I'm having difficulty getting uClinux to boot on the DE3 board. I've put the DDR2 at 0x00000000 - 0x10000000 (256Mb only) and added the MMU as shown in the wiki.
I've partitioned the space in config.c as (for now): .name = "romfs/jffs2" .offset = 0x01000000 .size = 0x01000000 .name = "loader/kernel" .offset = 0x00000000 .size = 0x01000000 .name = "application" .offset = 0x02000000 .size = 0x01000000 which should give plenty of room to make this work. I've put the link address offset for booting at 0x0A000000. I set up openSUSE 11.2 following the wiki and started with the uClinux distribution from here http://www.nioswiki.com/linux/downloading_linux_distribution. I was able to follow the NEEK build instructions successfully and ran ./update and ./checkout I understand there were a few old threads related to this topic, but none seemed to solve my problem. one suggested make make romfs make that didn't work. here's what I get from the core.. nios2-download -g vmlinux;nios2-terminal Using cable "USB-Blaster [USB-0]", device 1, instance 0x00 Pausing target processor: OK Initializing CPU cache (if present) OK Downloaded 1044KB in 18.6s (56.1KB/s) Verified OK Starting processor at address 0xC0000000 nios2-terminal: connected to hardware target using JTAG UART on cable nios2-terminal: "USB-Blaster [USB-0]", device 1, instance 0 nios2-terminal: (Use the IDE stop button or Ctrl-C to terminate) Linux version 2.6.30 (root@linux-nurl) (gcc version 4.1.2)# 32 Thu Jun 10 16:11 59 PDT 2010 Linux/Nios II-MMU init_bootmem_node(?,0x115, 0x0, 0x10000) free_bootmem(0x115000, 0xfeeb000) reserve_bootmem(0x115000, 0x2000) Built 1 zonelists in Zone order, mobility grouping on. Total pages: 65024 Kernel command line: NR_IRQS:32 PID hash table entries: 1024 (order: 10, 4096 bytes) Dentry cache hash table entries: 32768 (order: 5, 131072 bytes) Inode-cache hash table entries: 16384 (order: 4, 65536 bytes) We have 65536 pages of RAM Memory available: 258560k/1105k RAM, 0k/0k ROM (848k kernel code, 257k data) Calibrating delay loop... 49.35 BogoMIPS (lpj=246784) Mount-cache hash table entries: 512 init_BSP(): registering device resources bio: create slab <bio-0> at 0 io scheduler noop registered io scheduler deadline registered (default) ttyJ0 at MMIO 0x11203960 (irq = 3) is a Altera JTAG UART console [ttyJ0] enabled brd: module loaded List of all partitions: No filesystem could mount root, tried: Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(0,0) one thing I notice is that I'm not making a zImage anymore as is discussed in the wiki. perhaps I clobbered some settings with ./update? Also as shown here http://www.nioswiki.com/index.php?title=operatingsystems/uclinux/uclinuxdist/initramfsupdate&highlight=initramfs, the user is required to be user id = 500 and group id = 500. I compiled as root, so does this matter? I wasn't able to find this option in menuconfig. Any thoughts?