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

why not linux auto start

Altera_Forum
Honored Contributor II
1,863 Views

I suddernly find that linux should be started only by nios2-terminal. Why?  

It is a big problem if it is to be a product. 

 

1. power on 

2. nothing happens about linux ( I find ethernet did not SOFT power up) 

3. start nios2-terminal 

4. linux coming.....( I find ethernet SOFT power up) 

 

why? how to let linux auto start up itself?
0 Kudos
6 Replies
Altera_Forum
Honored Contributor II
791 Views

>I suddernly find that linux should start only be nios2-terminal. Why?  

>It is a big problem if it is to be a product. 

Linux does boot automatically 

 

>1. power on 

>2. nothing happens about linux 

What do you mean by that? 

 

>3. start nios2-terminal 

>4. linux coming..... 

If you mean you get no console, that's correct. because you probably only use the nios2-terminal through jtag-uart as a console. If you have a UART in your design you could use that one as a console port by adding console=ttyS0 to the kernel parameters (during kernel config). Then you can use for example minicom (linux) or hyperterminal (windows) to connect to the board through your serial port. Advantage of this setup is that you have your JTAG free to use for SignalTap or other debugging options. 

 

>why? how to let linux auto start up itself? 

It does, you just don't see it. 

 

 

I hope this is an answer to your question... 

 

EDIT: 

I saw you added the ehternet soft-powerup comments. This is probably because the ethernet for some reason is not enabled untill you use it (dhcpcd) when you uncomment the dhcpcd line in your rc the ethernet will be enabled at boot time.
0 Kudos
Altera_Forum
Honored Contributor II
791 Views

I write ifconfig eth0 192.168.168.1 in rc file. 

 

And after linux run this command, the ethernet chip will power on accoding its leds and the link between my pc to it will also "connect" 

 

However, if I don't use nios2-terminate once , things described above won't happen again.
0 Kudos
Altera_Forum
Honored Contributor II
791 Views

Are you using U-boot (or some other bootloader which might be waiting for user-input) or have you just flashed your kernel in the flashrom? 

 

Could you post the boot-messages? 

 

Have you tried running from a serial console instead of the JTAG-uart? 

 

I'm afraid I need more information to solve this...
0 Kudos
Altera_Forum
Honored Contributor II
791 Views

If you're using the JTAG UART as your console, the kernel will not boot until nios2-terminal has been opened. This has something to do with the design of the JTAG UART and the FIFO it uses (I can't recall the exact problem off the top of my head). To get around this you can use the serial port as the console. Instructions can be found in the reference guide. With the serial port as the console, uClinux should boot immediately. 

 

Dennis Scott 

Microtronix
0 Kudos
Altera_Forum
Honored Contributor II
791 Views

Yes, That's what I have tesed yesteday, and the result is the same as you said. 

 

Thanks to wgoossens and Dennis.
0 Kudos
Altera_Forum
Honored Contributor II
791 Views

To automatically boot, you need to change the settings in the kernel: 

 

- In the NIOS II IDE, select Configure Kernel for the kernel project. 

- Select Device Drivers -> Character devices -> Serial drivers 

- Turn off the Altera JTAG UART Support 

 

If you want the console on the RS-232 port, you can select the NIOS serial port and Support for console on NIOS UART options. 

 

Exit and save the new kernel configuration, then rebuild and upload. 

 

You can leave the JTAG component in the SOPC builder, so that you don't need to recompile in Quartus when you need to re-enable JTAG. 

 

Tony
0 Kudos
Reply