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++
Announcements
FPGA community forums and blogs on community.intel.com are migrating to the new Altera Community and are read-only. For urgent support needs during this transition, please visit the FPGA Design Resources page or contact an Altera Authorized Distributor.

uClinux unable to mount

Altera_Forum
Honored Contributor II
1,731 Views

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?
0 Kudos
9 Replies
Altera_Forum
Honored Contributor II
837 Views

The initramfs might be disabled. 

Please compare or restore your vendors/Altera/nios2/config.linux-2.6.x. 

 

- Hippo
0 Kudos
Altera_Forum
Honored Contributor II
837 Views

I went back to the original distribution without ./update and used my group = 500 and user id = 500 user for the entire process. Then it worked. It's still not clear what settings were changed with ./update and whether or not I had to use my 500 user. 

 

Thanks!
0 Kudos
Altera_Forum
Honored Contributor II
837 Views

diff on vendors/Altera/nios2/config.linux-2.6.x shows they are identical

0 Kudos
Altera_Forum
Honored Contributor II
837 Views

For nios2mmu, we use the "trunk" branch of uClinux-dist. It doesn't need uid and gid setting. And initramfs path is empty. The initramfs is included with a special rule in, 

 

nios2-linux/uClinux-dist/vendors/AnalogDevices/vendor.mak 

 

- Hippo
0 Kudos
Altera_Forum
Honored Contributor II
837 Views

Hello: 

hippo,I was trying to bulid uClinux in Altera DE2,and my linux envirment is Ubuntu.I follow the http://www.cnblogs.com/maqingbiao/archive/2010/07/23/1784069.html step by step.when I make,there is the problem. 

 

make[1]: &#27491;&#22312;&#36827;&#20837;&#30446;&#24405; `/usr/local/src/uClinux-dist/linux-2.6.x' 

CHK include/nios2_system.h 

perl -I/usr/local/src/uClinux-dist/linux-2.6.x/arch/nios2nommu/scripts /usr/local/src/uClinux-dist/linux-2.6.x/arch/nios2nommu/scripts/gen_nios2_system.h.pl cpu_0 sdram_0 cfi_flash_0 < /usr/local/src/system_0.ptf > include/nios2_system.h.tmp; if [ -r include/nios2_system.h ] && cmp -s include/nios2_system.h include/nios2_system.h.tmp; then rm -f include/nios2_system.h.tmp; else echo ' UPD include/nios2_system.h'; mv -f include/nios2_system.h.tmp include/nios2_system.h; fi 

CHK include/linux/version.h 

CHK include/linux/utsrelease.h 

CHK include/linux/compile.h 

/usr/local/src/uClinux-dist/linux-2.6.x/scripts/gen_initramfs_list.sh: Cannot open '../romfs ../vendors/Altera/nios2nommu/romfs_list' 

make[2]: *** [usr/initramfs_data.cpio.gz] &#38169;&#35823; 1 

make[1]: *** [usr] &#38169;&#35823; 2 

make[1]:&#27491;&#22312;&#31163;&#24320;&#30446;&#24405; `/usr/local/src/uClinux-dist/linux-2.6.x' 

make: *** [linux] &#38169;&#35823; 1 

 

Before that,I make successfull,but when I nios2-download and nios2-terminal,it says "No filesystem could mount root",so,and redownload the uClinux-dist-20070130.tar.bz2,and make it again,the above problem came,I found a lot of wet page,and I think I can resolve it by myself,but now,I can't,so please tell me how to do.I think the problem is the mistake happen at romfs,but I don't know how to resolve it?
0 Kudos
Altera_Forum
Honored Contributor II
837 Views

hi yingfang18, 

 

different nios2-linux versions have different command to make the kernel
0 Kudos
Altera_Forum
Honored Contributor II
837 Views

hello,wangyipin 

Thank you for reply me.And I have resloved the problem,as you said the version is very important!Thank you all the same!
0 Kudos
Altera_Forum
Honored Contributor II
837 Views

yingfang18, 

glad to help you,and have you succeed to run uclinux on de2? 

i wanna to ask you some questions about that, i guess you from china, 

and do you mind tell me your qq or msn?
0 Kudos
Altera_Forum
Honored Contributor II
837 Views

ok,my qq is 356655810,and I have run uClinux on de2,we can study together!

0 Kudos
Reply