udhcpc: 임대 없음, Buildroot로 생성된 Embedded Linux에서 부팅 실패

udhcpc: 임대 없음, Buildroot로 생성된 Embedded Linux에서 부팅 실패

Linux 서비스의 응답성 ( 서비스의 호출 및 기본 DHCP udhcpc관련 )은 프롬프트에 로그인하기 전과 후에 다릅니다./etc/init.d/S40networkip upudhcpc

/etc/init.d/rcS(부팅 순서)를 통해 호출되면 udhcpcIP 주소가 할당되지 않습니다.

udhcpc: no lease, failing

그러나 일단 루트 계정으로 로그인 S40network restart하면 udhcpc.

이는 /etc/inittab정상적이고 기본적인 사항입니다.

# /etc/inittab
#
# Copyright (C) 2001 Erik Andersen <[email protected]>
#
# Note: BusyBox init doesn't support runlevels.  The runlevels field is
# completely ignored by BusyBox init. If you want runlevels, use
# sysvinit.
#
# Format for each entry: <id>:<runlevels>:<action>:<process>
#
# id        == tty to run on, or empty for /dev/console
# runlevels == ignored
# action    == one of sysinit, respawn, askfirst, wait, and once
# process   == program to run

# Startup the system
::sysinit:/bin/mount -t proc proc /proc
::sysinit:/bin/mount -o remount,rw /
::sysinit:/bin/mkdir -p /dev/pts
::sysinit:/bin/mkdir -p /dev/shm
::sysinit:/bin/mount -a
::sysinit:/bin/hostname -F /etc/hostname
# now run any rc scripts
::sysinit:/etc/init.d/rcS

# Put a getty on the serial port
ttyPS0::respawn:/sbin/getty -L  ttyPS0 0 vt100 # GENERIC_SERIAL

# Stuff to do for the 3-finger salute
#::ctrlaltdel:/sbin/reboot

# Stuff to do before rebooting
::shutdown:/etc/init.d/rcK
::shutdown:/sbin/swapoff -a
::shutdown:/bin/umount -a -r

이것을 어떻게 설명할 수 있나요?

답변1

나는 당신과 같은 문제가 있었습니다. 시작하는 동안 실패했지만 나중에 수동으로 호출하면 제대로 작동할 것입니다. 다양한 로그를 확인하는 동안 인터페이스가 나타날 때 udhcpc가 초기화되는 것 같아서 처음 몇 가지 결과가 실제로 인터페이스를 통해 발행되지 않는다는 것을 깨달았습니다.

이상적으로는 인터페이스가 안정된 후에만 udhcpc가 시작되도록 하는 것이 좋지만, 이를 달성하는 방법을 모르기 때문에 udhcpc 시도 횟수를 늘렸습니다. 일반적으로 4~5회 시도 후에 IP를 얻지만, 극단적인 경우를 처리하기 위해 시도 횟수를 10회로 늘렸습니다.

아래 두 번째 줄을 추가하세요./etc/network/interfaces

iface eth0 inet dhcp
  udhcpc_opts -t 10 #sets max retries to 10
  #rest of config params

관련 정보