2017-10-24 26 views
0

NFS를 통해 호스트 컴퓨터에 커널이있는 Beaglebone Black을 부팅하려고합니다. 필자는 호스트 컴퓨터가 DHCP 서버 일 필요는 없으며 수동 IPv4 고정 IP만으로 충분하다고 생각합니다.NFS를 통해 루트 파일 시스템으로 Linux 부팅 : "DHCP 및 RARP 요청 보내기 중 ..."의 루프 "

[ 357.280386] IP-Config: Retrying forever (NFS root)... 
[ 357.285865] net eth0: initializing cpsw version 1.12 (0) 
[ 357.393659] SMSC LAN8710/LAN8720 4a101000.mdio:00: attached PHY driver 
[SMSC LAN8710/LAN8720] (mii_bus:phy_addr=4a101000.mdio:00, irq=-1) 
[ 357.412716] IPv6: ADDRCONF(NETDEV_UP): eth0: link is not ready 
[ 360.563747] cpsw 4a100000.ethernet eth0: Link is Up - 100Mbps/Full - flow control rx/tx 
[ 360.572294] IPv6: ADDRCONF(NETDEV_CHANGE): eth0: link becomes ready 
[ 360.593014] Sending DHCP and RARP requests ..... 

관련 bootargs/bootcmd :

U-Boot# echo $nfs_bootcmd              
tftp 0x81000000 zImage; tftp 0x82000000 am335x-boneblack.dtb; bootz 0x81000000 - 0x82000000 

U-Boot# echo $bootargs 
root=/dev/nfs rw ip=192.168.0.100:192.168.0.1:::eth0:off console=ttyO0 nfsroot=192.168.0.1:/nfsroot nfsrootdebug 

U-Boot# echo $ipaddr  
192.168.0.100 

U-Boot# echo $serverip 
192.168.0.1 

내/등/수출 : 여기

/nfsroot *(rw,no_root_squash,no_subtree_check) 

부팅시 시리얼 출력 부트 프로세스는 다음 루핑 끝 : Linux boot via NFS.

HW/SW 설치 :

  • Beaglebone 블랙
  • 작업 (중간에 라우터/스위치/허브) 미세
  • rootfs를
  • TFTP를 보드를 대상으로하지 직접 호스트에서 연결 이더넷에 보인다 NFS를 통해 정상적으로 마운트하십시오.
  • 호스트 컴퓨터가 dhcp 서버로 설정되지 않았습니다.
  • u-boot/Linux

내 호스트 컴퓨터를 DHCP 서버로 만들어야합니까? 이 문제를 어떻게 해결할 수 있습니까?

미리 감사드립니다.

+0

그래서 프로그래밍 관련 질문 용이며 Linux 사용 또는 구성에 관한 질문이 아닙니다. SuperUser.com 또는 unix.stackexchange.com은 이와 같은 질문에 더 좋은 곳입니다. – Barmar

답변

0

호스트 컴퓨터에 DHCP 서버를 설치하여이 문제를 해결했습니다. (우분투) ISC-DHCP 서버를 설치 한 후, 정말처럼 보이도록 /etc/dhcp/dhcpd.conf 수정 :

# /etc/dhcp/dhcpd.conf 

subnet 192.168.0.0 netmask 255.255.255.0 { 
    range 192.168.0.0 192.168.0.254; 
} 

# the host name doesn't need to match anything. 
host beaglebone { 
    # MAC address from U-boot's ethaddr env var 
    hardware ethernet 04:a3:16:f5:1a:56; 

    # The static IP to be allocated to the beaglebone device 
    fixed-address 192.168.0.100; 
} 

이 문제 올바르게 장치 부팅을 해결했다.

0

DHCP를 사용하지 않고 정적 네트워크 구성을 유지하면서 NFS를 사용하여 장치를 부팅 할 수 있습니다.

위에서 제공 한 것을 사용하면 다음과 비슷할 것입니다.

U-Boot# echo $nfs_bootcmd              
tftp 0x81000000 zImage; tftp 0x82000000 am335x-boneblack.dtb; bootz 0x81000000 - 0x82000000 

U-Boot# echo $bootargs 
root=/dev/nfs nfsroot=192.168.0.1:/nfsroot,nolock,nfsvers=3 nfsrootdebug nfsaddrs=192.168.0.100:192.168.0.1::255.255.255.0:::none rw console=ttyO0 

U-Boot# echo $ipaddr  
192.168.0.100 

U-Boot# echo $serverip 
192.168.0.1