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++
The Intel sign-in experience has changed to support enhanced security controls. If you sign in, click here for more information.
12517 Discussions

ucLinux on Arria II GX board, with Quartus 11.1

Honored Contributor II



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

0 Kudos
1 Reply
Honored Contributor II

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.