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++
12618 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. 


0 Kudos