Forum Discussion

Altera_Forum's avatar
Altera_Forum
Icon for Honored Contributor rankHonored Contributor
15 years ago

uClinux 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?

9 Replies

  • Altera_Forum's avatar
    Altera_Forum
    Icon for Honored Contributor rankHonored Contributor

    The initramfs might be disabled.

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

    - Hippo
  • Altera_Forum's avatar
    Altera_Forum
    Icon for Honored Contributor rankHonored Contributor

    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!
  • Altera_Forum's avatar
    Altera_Forum
    Icon for Honored Contributor rankHonored Contributor

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

  • Altera_Forum's avatar
    Altera_Forum
    Icon for Honored Contributor rankHonored Contributor

    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
  • Altera_Forum's avatar
    Altera_Forum
    Icon for Honored Contributor rankHonored Contributor

    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?
  • Altera_Forum's avatar
    Altera_Forum
    Icon for Honored Contributor rankHonored Contributor

    hi yingfang18,

    different nios2-linux versions have different command to make the kernel
  • Altera_Forum's avatar
    Altera_Forum
    Icon for Honored Contributor rankHonored Contributor

    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!
  • Altera_Forum's avatar
    Altera_Forum
    Icon for Honored Contributor rankHonored Contributor

    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?
  • Altera_Forum's avatar
    Altera_Forum
    Icon for Honored Contributor rankHonored Contributor

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