How to boot Kernel using NFS and eth1?

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

How to boot Kernel using NFS and eth1?

4,525 Views
leopoldogomez
Contributor II


We are using LTIB for a custom MPC8306 board that supports two eth ports (eth0 and eth1). We only can use eth1

Kernel NFS boot works properly using eth0.

U-Boot works properly using eth0 and eth1.

For changing from eth0 to eth1 what we have done has been the following:

1. We have defined two different networks, one for eth0 and the other one for eth1

2. We have changed the parameter netdev = eth1 for the kernel command line

The console mensages are:

IP-Config: Complete:

     device=eth1, addr=10.10.10.100, mask=255.255.0.0, gw=255.255.255.255,

     host=mpc8306etp, domain=, nis-domain=(none),

     bootserver=10.10.10.30, rootserver=10.10.10.30, rootpath=

Looking up port of RPC 100003/2 on 10.10.10.30

PHY: mdio@e0102120:03 - Link is Up - 100/Full

rpcbind: server 10.10.10.30 not responding, timed out

Root-NFS: Unable to get nfsd port number from server, using default

Looking up port of RPC 100005/1 on 10.10.10.30

NETDEV WATCHDOG: eth1 (ucc_geth): transmit queue 0 timed out

------------[ cut here ]------------

Any help would be appreciated.

Labels (1)
0 Kudos
6 Replies

2,097 Views
leopoldogomez
Contributor II


Hello Yiping

The problem remains. Eth1 does not work in Linux

Attached  you will find the linux boot file, the kernel configuration file and the dts file

Best regards,

Leopoldo

0 Kudos

2,097 Views
yipingwang
NXP TechSupport
NXP TechSupport

Hello Leopoldo,

I reviewed your dts file and found a problem, the interrupts number for enet1 should be 34.

ucc@2200 interrupt number is 34.

ucc@3000 interrupt number is 33.

Please refine your dts file and verify whether eth1 can work.


Have a great day,
Yiping

-----------------------------------------------------------------------------------------------------------------------
Note: If this post answers your question, please click the Correct Answer button. Thank you!
-----------------------------------------------------------------------------------------------------------------------

0 Kudos

2,097 Views
leopoldogomez
Contributor II

Hello Yiping

Following your advice, we refined the dts file. The problem was that UCC2 is ucc@3000 not ucc@2200

Now both eth0 and eth1 are working fine

Thank you for your help

Best regards,

Leopoldo

0 Kudos

2,097 Views
yipingwang
NXP TechSupport
NXP TechSupport

Hello Leopoldo Gomez,

You could use both eth0 and eth1 in u-boot, so there should be no hardware problem.

First please check NFS configuration on the server side, please check whether /etc/exports is configured correctly, for example "/nfsroot  10.192.208.18(rw,no_root_squash,async)", whether the IP is valid, it's better use "/nfsroot  *(rw,no_root_squash,async)", if edit this file, you need to restart NFS daemon.

On the target, please check the bootargs, please refer to the following.

=> setenv bootcmd 'setenv bootargs root=/dev/nfs rw nfsroot=<tftp_serverip>:<nfs_root_path> ip=<board_ipaddress>:<tftp_serverip>:<your_gatewayip>:<your_netmask>:<boardname>:eth1:off console=ttyS0,115200;tftp 1000000 $bootfile;tftp c00000 $fdtfile;bootm 1000000 - c00000'

If you problem remains, please boot up Linux System, and check whether eth1 can work in Linux.


Have a great day,
Yiping

-----------------------------------------------------------------------------------------------------------------------
Note: If this post answers your question, please click the Correct Answer button. Thank you!
-----------------------------------------------------------------------------------------------------------------------

0 Kudos

2,097 Views
leopoldogomez
Contributor II

Hello Yiping Wang

1) I have booted the Linux System from flash, using eth0 in the kernel command line and checked that eth1 do NOT works in Linux (using pings)

2) In the U-Boot command line eth1 works fine using ping

3) Attached you will find the Kernel configuration file

Best regards,

Leopoldo

0 Kudos

2,097 Views
yipingwang
NXP TechSupport
NXP TechSupport

Hello Leopoldo,

Please make sure that you have customized the dts file correctly, pay attention to "enet1: ethernet@3000" definition, just now I checked mpc8306som.dts file, eth1 Ethernet port is defined as phy-less port, you need to specify the correct phy-handle to it, please refer to eth0 definition.

enet1: ethernet@3000 {

333                        device_type = "network";

334                        compatible = "ucc_geth";

335                        cell-index = <2>;

336                        reg = <0x3000 0x200>;

337                        interrupts = <33>;

338                        interrupt-parent = <&qeic>;

339                        local-mac-address = [ 00 00 00 00 00 00 ];

340                        rx-clock-name = "none";

341                        tx-clock-name = "none";

342                        fixed-link = <1 1 100 0 0>;    #PHY-LESS

343                };

If you problem remains, you could send your dts file and Kernel boot log to me, I will do more investigation for you.


Have a great day,
Yiping

-----------------------------------------------------------------------------------------------------------------------
Note: If this post answers your question, please click the Correct Answer button. Thank you!
-----------------------------------------------------------------------------------------------------------------------

0 Kudos