![시작 시 네트워크 장치가 연결되어 있지 않은 경우 systemd-networkd가 고정 IP를 할당하지 않는 문제](https://linux55.com/image/225175/%EC%8B%9C%EC%9E%91%20%EC%8B%9C%20%EB%84%A4%ED%8A%B8%EC%9B%8C%ED%81%AC%20%EC%9E%A5%EC%B9%98%EA%B0%80%20%EC%97%B0%EA%B2%B0%EB%90%98%EC%96%B4%20%EC%9E%88%EC%A7%80%20%EC%95%8A%EC%9D%80%20%EA%B2%BD%EC%9A%B0%20systemd-networkd%EA%B0%80%20%EA%B3%A0%EC%A0%95%20IP%EB%A5%BC%20%ED%95%A0%EB%8B%B9%ED%95%98%EC%A7%80%20%EC%95%8A%EB%8A%94%20%EB%AC%B8%EC%A0%9C.png)
Buildroot를 사용하여 구축된 Linux 임베디드 시스템이 있고 v250이 systemd되어 있습니다.
이전 버전의 buildroot에서는 systemd v232를 사용했습니다.
다음과 같은 네트워크 파일이 정의되어 있습니다.
/etc/systemd/network/20-wired.network
[Match]
Name=usb0
[Network]
Address=192.168.89.14/24
이 구성은 부팅 후 IP 주소를 확인할 때 이전 빌드 루트 이미지에서 제대로 작동합니다.
# ip a
3: usb0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc pfifo_fast state DOWN group default qlen 1000
link/ether 36:f9:b3:30:8f:b8 brd ff:ff:ff:ff:ff:ff
inet 192.168.90.14/24 brd 192.168.90.255 scope global usb0
valid_lft forever preferred_lft forever
하지만 이제 최신 빌드 루트에서는 부팅 시 IP 주소를 할당할 수 없습니다.
# ip a
3: usb0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc pfifo_fast state DOWN group default qlen 1000
link/ether 4a:1d:3c:df:39:ea brd ff:ff:ff:ff:ff:ff
무슨 일이 일어나고 있는지 확인하기 위해 networkctl을 사용하려고 하면 다음과 같은 결과가 나타납니다.
● 3: usb0
Link File: /usr/lib/systemd/network/99-default.link
Network File: /etc/systemd/network/20-wired.network
Type: gadget
State: no-carrier (configuring)
Online state: offline
Path: platform-ci_hdrc.0
Driver: g_ether
Hardware Address: 4a:1d:3c:df:39:ea
MTU: 1500
QDisc: pfifo_fast
Number of Queues (Tx/Rx): 1/1
Activation Policy: up
Required For Online: yes
Oct 04 16:48:16 rpi systemd-networkd[229]: usb0: Requesting static route (n/a): dst: n/a, src: n/a, gw: 192.168.89.1, prefsrc: n/a, scope: global, table: main(254), proto: static, type: unicast, nexthop: 0, prioa
Oct 04 16:48:16 rpi systemd-networkd[229]: usb0: Requesting routes
Oct 04 16:48:16 rpi systemd-networkd[229]: usb0: link_check_ready(): link layer is configuring.
Oct 04 16:48:16 rpi systemd-networkd[229]: usb0: Setting master interface
Oct 04 16:48:16 rpi systemd-networkd[229]: usb0: master interface set.
Oct 04 16:48:16 rpi systemd-networkd[229]: usb0: link_check_ready(): link is not activated.
Oct 04 16:48:16 rpi systemd-networkd[229]: usb0: Bringing link up
Oct 04 16:48:16 rpi systemd-networkd[229]: usb0: Flags change: +UP
Oct 04 16:48:16 rpi systemd-networkd[229]: usb0: Link UP
Oct 04 16:48:16 rpi systemd-networkd[229]: usb0: link_check_ready(): static addresses are not configured.
여기서 무엇이 잘못되었는지, 어떻게 해결해야 할지 잘 모르겠습니다. 누구든지 아이디어가 있습니까?
귀하의 도움에 미리 감사드립니다.
인사,
아즈드.