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++
Announcements
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.
12409 Discussions

ucLinux on Arria II GX board, with Quartus 11.1

Altera_Forum
Honored Contributor II
787 Views

Hi, 

 

I am trying to get uClinux running on an Arria II GX board. I have followed most of the tutorials and info that I have found on this site and in this forum, starting with the alterawiki "Install Nios II Linux" page and the UCLinuxDist page that links from this. Sorry, I can't post links as my post count isn't yet high enough. 

 

I have built Nios2 Linux Tarball correctly from this site, first switching to the test-nios2 branch as I don't want MMU, and I have run "make menuconfig" to select Altera and NIOS2, with linux-2.6.x kernel.  

 

The next step is to generate a header file for my board. Most of the instructions that I have found (eg. in these forums and in the LinuxHwselect page say that you do this using hwselect with a .ptf file. Since I am using Quartus 11.1, I don't have a PTF file for my board (I don't think these are used anymore). I do have a sopcinfo file and have created a header file using sopc-create-header-files. However, I don't know where to put this header file. The uClinuxDist page says to put this into linux-2.6.x/arch/nios2/boards/<my_nios>/include/asm, but there is no "boards" directory, under nios2.  

One of the other threads on this forum (thread ID 18573 - can't post a link!) said to put it in arch/nios2/include/asm, but there is no include directory. The total contents of the arch/nios2 directory is as follows: 

boot drivers hardware.mk kernel lib mm 

Have I missed a step? 

 

If I skip this step and just do "make" in the uClinux directory, it compiles but gives messages saying "no emulation specific options." I guess because it can't find an appropriate board-specific header file. It does generate an image file (images/zImage), and I can download this image using nios2-download, but unsurprisingly the next step (nios2-terminal) just hangs. 

 

Can anyone please help with the previous step? What have I missed? 

 

Thanks for reading, 

Giles
0 Kudos
1 Reply
Altera_Forum
Honored Contributor II
81 Views

Switch to kernel 3.1: 

 

cd linux-2.6 

git checkout v3.1-nios2 

# additional useful steps: 

cd ../uClinux-dist 

git checkout trunk 

git merge origin/trunk 

 

Then generate devicetree from your .sopcinfo and use it for the kernel compilation. 

 

Note that the 3.x kernel wanted libuuid, if you are on debian/ubuntu, then: 

apt-get install uuid-dev 

 

Note that I did these steps for my MMU system on ep4ce10. Non-mmu could be different. 

 

-m
Reply