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++
12603 Discussions

newbie to uClinux, having install problem

Altera_Forum
Honored Contributor II
2,412 Views

Hello,  

This is my first attempt with installing uClinux1.3. I am using Quartus 4.1 SP2 and nios II 1.01 currently. I am trying to run this on a stratix2s60 altera dev kit. When installing the uClinux1.3 it says it had some problem installing the cygwin extension and that i need to read some readme file to manually install it. I cannot find this readme file that talks about this yet. When I try to execute the install_cyg_ext.sh located in the supplemental directory of the uClinux install folders, it says it cannot find the install_setting.cache file. Since the cyg_extensions were not installed correctly, I was not able to follow the tutorials to getting a kernel configured nor compiled. How can I get the install to completely finish the install process? 

 

thanx, 

-Quan
0 Kudos
12 Replies
Altera_Forum
Honored Contributor II
649 Views

Hi, the readme file can be accessed through the Start -> Programs -> Microtronix -> Nios II Linux Distribution -> Documentation. 

 

Sorry for the late reply, we've been in the middle of a move and I'm just now starting to catch up with the Nios Forum... are you still experiencing difficulty? If you are still having problems with the cygwin extensions, pass me the following information and I can tell you how to manually install it. 

 

(1) Location of the Altera Nios II Distribution (defaults to c:\altera\kits\nios2) 

(2) Location of Quartus II (defaults to c:\altera\quartus42) 

(3) value of QUARTUS_ROOTDIR environment variable 

 

I think that's all I'll need to help you out.
0 Kudos
Altera_Forum
Honored Contributor II
649 Views

Hi Ken, 

I've just received the Nios2 v1.1 upgrade and installed that and then re-installed the uClinux v1.3 along with Quartus II v4.2. I do not experience the problem any more but still is related is that I cannot configure the kernel. A message pops up and goes away pretty quick, but I can make out some of the message. It was complaining about a missing file, first it was user.bashrc. I copied over an older user.bashrc file. Then at some other point, it was complaining about not haing a cr0t.0 file or something like that when it tried to perform an ld command. Below are the answers to your previous question, just incase it will help me out. 

 

(1) Location of the Altera Nios II Distribution (defaults to c:\altera\kits\nios2) 

C:\altera\kits\nios2 

 

(2) Location of Quartus II (defaults to c:\altera\quartus42) 

C:\altera\quartus42 

 

(3) value of QUARTUS_ROOTDIR environment variable 

C:\altera\quartus42 

 

 

-Quan
0 Kudos
Altera_Forum
Honored Contributor II
649 Views

I also have a similar problem. I started a new project this week, so I removed QuartusII 4.1, NiosII 1.01, and uClinux 1.2 off of my machine. Started off clean with QuartusII 4.2 SP1, NiosII 1.1, and uClinux 1.3. The Quartus and Nios IDE environments seem to be working correctly; however, when I installed uClinux 1.3 I received 2 errors at the end of the installation. Both were looking for cygwin.dll, and were unable to do so. 

 

After several attempts, I tried to go back to uClinux 1.2. No luck here, it is specifically looking for NiosII 1.01.  

 

I tried the installation again, this time using add/remove programs instead of using "Run" from the start button. Perhaps this is the way you're supposed to do it anyway, please excuse my ignorance of windows. Anyway, the installtion went fine this time, no reported errors.  

 

When I try to "configure kernel." I also get an error that is too fast to catch.  

 

My user.bashrc reflects Version 1.3, Built December 30th, 2004.
0 Kudos
Altera_Forum
Honored Contributor II
649 Views

I should have known better!!!! 

 

Shut it all down and reboot. 

 

Open it all back up and off you go!!
0 Kudos
Altera_Forum
Honored Contributor II
649 Views

Hello dcurry, 

I've tried your suggestions with the re-install and rebooting. I've even gone as far as using regedit to find any instance of the linux distribution keys and removed them, rebooted, re-installed uclinux v1.3 and then rebooting. Still no good. Below is a capture of the output of the configure.bat file that is supposed to bring up the kernel config menu. The only thing left I can see that I have not tried is to totally un-install ALL of nios kits and quartus on my computer and then re-installing from scratch. That measure is quite extreme for me and will only perform if there is no choice left.  

 

-Quan 

 

 

 

<div class='quotetop'>QUOTE </div> 

--- Quote Start ---  

C:\altera\kits\nios2\examples\verilog\niosII_stratixII_2s60_ES\full_featured_qh 

software\kernel>C:/altera/quartus42/bin/cygwin/bin/bash.exe -c "source $QUARTUS_ 

ROOTDIR/sopc_builder/bin/nios_sh; source $SOPC_KIT_NIOS2/user.bashrc; KERNEL_PRO 

JECT=C:/altera/kits/nios2/examples/verilog/niosII_stratixII_2s60_ES/full_feature 

d_qh/software/kernel; make -C `cygpath -u C:/altera/kits/nios2/bin/eclipse/plugi 

ns/com.microtronix.nios2linux.kernel_0.1.5/linux-2.6.x` O=`cygpath -u C:/altera/ 

kits/nios2/examples/verilog/niosII_stratixII_2s60_ES/full_featured_qh/software/k 

ernel/build` menuconfig; " 

 

------------------------------------------------ 

Microtronix Linux Extensions 

Version 1.3, Built December 30th, 2004 

------------------------------------------------ 

make: Entering directory `/cygdrive/c/altera/kits/nios2/bin/eclipse/plugins/com. 

microtronix.nios2linux.kernel_0.1.5/linux-2.6.x&#39; 

  HOSTCC  scripts/basic/fixdep 

/usr/local/bin/ld: cannot open crt0.o: No such file or directory 

collect2: ld returned 1 exit status 

make[2]: *** [scripts/basic/fixdep] Error 1 

make[1]: *** [scripts_basic] Error 2 

make: *** [menuconfig] Error 2 

make: Leaving directory `/cygdrive/c/altera/kits/nios2/bin/eclipse/plugins/com.m 

icrotronix.nios2linux.kernel_0.1.5/linux-2.6.x&#39; 

C:\altera\kits\nios2\examples\verilog\niosII_stratixII_2s60_ES\full_featured_qh 

software\kernel>[/b] 

--- Quote End ---  

0 Kudos
Altera_Forum
Honored Contributor II
649 Views

Hi all, 

I also have the same problem. 

I tried to flow "NIOS II Linux Quickstart Guide" instructions but I am unable to pass Kernel configuration step. 

I got a console terminal opening for about 5 seconds and then closing. It goes to fast and I cant read messages, but Linux menuconfig utility dont start. I suppose that the compilation script for this tool have a little problem but I am too unexperimented for solve this alone http://forum.niosforum.com/work2/style_emoticons/<#EMO_DIR#>/sad.gif  

 

Can someone give me help to solve this ? 

 

I use :  

- NIOS II Linux v1.3 

- Quartus II v4.2 (location c:\altera\quartus42) 

- NIOS II v1.1 (location c:\altera\kits\nios2) 

 

And environnement variable QUARTUS_ROOTDIR = c:/altera/quartus42 

 

Regards 

 

Fabrice
0 Kudos
Altera_Forum
Honored Contributor II
649 Views

We have the same problem here: not able to find crt0.o 

 

There are various crt0.o files on our system, but it seems that ld doesn&#39;t know what to do with them ("incorrect format") when copying either one of them to the /usr/local/lib dir.
0 Kudos
Altera_Forum
Honored Contributor II
649 Views

Hey guys, 

I think jmastron was onto something. I&#39;m not very profiecient with linux but it looks like that process is looking in the wrong directory. If you go to /usr/lib and copy over the files crt0.o and libcygwin.a over into the /usr/local/lib folder, then you should be able to get onto the next stage of error, something about the curse.h file. And i believe that someone on this site has already figured that one out, gonna do a search.  

My guess is I have one or more of my settings incorrect somewhere... 

 

OOPS... had to remove stupid comment..... 

 

I&#39;m off to find this curses.h file thing now. 

 

-Quan
0 Kudos
Altera_Forum
Honored Contributor II
649 Views

I got the exact same problem too ... 

 

Anyone at Microtronix ti figure that out ? 

 

Thomas
0 Kudos
Altera_Forum
Honored Contributor II
649 Views

Hello, 

 

for all who are experiencing the "cannot open crt0.o: No such file or directory" problem, open up a Nios II SDK shell window and run "mount" 

 

This will display your Cygwin&#39;s mount table. 

 

When you initially install Quartus II (and its included Cygwin), one of the mount entries is: 

 

C:\altera\quartus42\bin\cygwin\lib on /usr/lib type system (textmode) 

 

The Nios II Linux install process should remove this entry. If for some reason this mount entry still exists, you will experience the crt0.o problem. 

 

To remove this entry, simply unmount /usr/lib by running this command in a Nios II SDK shell window: 

 

umount /usr/lib 

 

I hope this helps.
0 Kudos
Altera_Forum
Honored Contributor II
649 Views

Okay sorry to bring this back up again, but I finally have a resolution. 

I re-installed from scratch the entire group of apps starting with Quartus v4.2 with everything default, then the service pack 1. Then I installed Nios v1.1 and finally the uClinux v1.3. There is no problem anymore with the installation. I did not want to do this earlier because things were already working except for uClinux kernel development. So hopefully for those with similar problems, i would recommend a total clean install of everything and leave the Quartus to install most of the defaults... i think my mistake the first time was i was selective of certain components to install. I did re-install Nios dev kit over and over again several times but it was Quartus re-install that did the trick. 

 

-Quan
0 Kudos
Altera_Forum
Honored Contributor II
649 Views

Hi all, 

 

I tried Quan&#39;s suggestion of reinstalling everything, but still got the message that "installing the Cygwin extensions" didn&#39;t work. The README doesn&#39;t say anything about how to install the extensions manually, so I poked around and ran install_cyg_ext.sh manually. It turns out that the installation script misbehaves if you&#39;re installing from a directory with a space in the path, as I was. I fixed the script: 

 

#!/bin/sh umount /usr/lib # save our current working directory so we can go back later CURDIR=`pwd` set -e # exit on failure # if no variables are specified, pull in info from the install_settings.cache file# that&#39;s created by the installer if then # $1 = source bashrc file# $2 = target user.bashrc file# $3 = path to eclipse# $4 = path to altera/kits/nios2 or equivalent (KIT_HOME in registry)# $5 = application plugin directory name# $6 = uClibc plugin directory name# $7 = kernel plugin directory name RC_FILE=$1 USER_RC_FILE=$2 ECLIPSE_BIN_HOME=$3 NIOS2_KIT_HOME=$4 APP_PLUGIN_NAME=$5 KERNEL_PLUGIN_NAME=$6 UCLIBC_PLUGIN_NAME=$7 else . ./install_settings.cache fi SOURCE_RC=`echo $RC_FILE | sed &#39;s/\\/\//g&#39; | sed &#39;s/ /\ /g&#39;` # replaces \ with / and escapes spaces for use in shell statements TARGET_RC=`echo $USER_RC_FILE | sed &#39;s/\\/\//g&#39; | sed &#39;s/ /\ /g&#39;` # replaces \ with / and escapes spaces for use in shell statements ECLIPSE_PATH=`echo $ECLIPSE_BIN_HOME | sed &#39;s/\\/\//g&#39;` KITS_PATH=`echo $NIOS2_KIT_HOME | sed &#39;s/\\/\//g&#39;` NE_ROOT_PATH=`cygpath $KITS_PATH/examples/software/linux` APP_PLUGIN_PATH=`cygpath $ECLIPSE_PATH/plugins/$APP_PLUGIN_NAME` UCLIBC_PLUGIN_PATH=`cygpath $ECLIPSE_PATH/plugins/$UCLIBC_PLUGIN_NAME` KERNEL_PLUGIN_PATH=`cygpath $ECLIPSE_PATH/plugins/$KERNEL_PLUGIN_NAME` ECLIPSE_WORKSPACE_PATH=`cygpath $ECLIPSE_PATH/workspace` if then   # if we cannot find the string in the existing file, it has not   # been previously modified.    if    then        cp -f "$TARGET_RC" "$TARGET_RC.mtx_nios2linux.bak"        echo "" >> "$TARGET_RC"        cat "$SOURCE_RC" >> "$TARGET_RC"   # otherwise, the user.bashrc already contains the necessary   # modifications, so only update the version number/date.    else        cp -f "$TARGET_RC" "$TARGET_RC.mtx_nios2linux.bak"        sed -e &#39;s/Version 1\., Built Fri May 7 11:44am/Version 1\.3, Built December 30th, 2004/g&#39; "$TARGET_RC" > tmp.grep.file        rm -f "$TARGET_RC"        cp -f tmp.grep.file "$TARGET_RC"        rm -f tmp.grep.file    fi# no previous user.bashrc found else    cp -f "$SOURCE_RC" "$TARGET_RC" fi # add the extra variables to the bashrc file echo export LINUX_NE_ROOT=\"$NE_ROOT_PATH\" >> "$TARGET_RC" echo export APP_PLUGIN=\"$APP_PLUGIN_PATH\" >> "$TARGET_RC" echo export UCLIBC_PLUGIN=\"$UCLIBC_PLUGIN_PATH\" >> "$TARGET_RC" echo export KERNEL_PLUGIN=\"$KERNEL_PLUGIN_PATH\" >> "$TARGET_RC" echo export ECLIPSE_WORKSPACE=\"$ECLIPSE_WORKSPACE_PATH\" >> "$TARGET_RC" cd /usr/include rm curses.h form.h menu.h panel.h unctrl.h ln -sf /usr/local/include/ncurses/curses.h ln -sf /usr/local/include/ncurses/form.h ln -sf /usr/local/include/ncurses/menu.h ln -sf /usr/local/include/ncurses/panel.h ln -sf /usr/local/include/ncurses/unctrl.h # create a temporary file to indicate that we have# completed running this script. cd "$CURDIR" touch install_cyg_ext.done 

 

I also changed run_sh.bat to prepend the Quartus Cygwin path to the PATH, since I have multiple installations of Cygwin on my machine and wanted the installer to use the right one: 

 

PATH=%QUARTUS_ROOTDIR%\bin\cygwin\bin;%PATH% sh %1 %2 %3 %4 %5 %6 %7 %8 %9 

 

I ran the installer manually with these new scripts and now I can configure my kernel!
0 Kudos
Reply