Tôi nhận ra rằng câu hỏi này đã cũ nhưng tôi đã gặp phải vấn đề này và không có giải pháp nào được đề xuất cho đến nay trên trang này đã giải quyết được vấn đề của tôi. Đối với tôi, thủ thuật thư mục Rules.d dường như không làm gì cả.
Giải pháp của tôi là chỉ cần viết một tập lệnh đi vào thư mục init.d để gán DHCP cho cổng ethernet có dây bất kể tên là gì. Điều này rất quan trọng vì tôi có một số đơn vị Raspberry Pi và tất cả chúng đều gặp vấn đề tương tự. (rất bực bội)
Vấn đề của tôi là phức tạp vì tôi có một thư mục lưu trữ mạng cần được gắn trong quá trình khởi động. Bởi vì giao diện không xuất hiện, việc gắn kết này thất bại và mọi thứ trở nên tồi tệ hơn với tôi.
Đây là giải pháp của tôi. Tôi hy vọng điều này sẽ giúp bất kỳ ai khác không thể tìm thấy tham gia bằng cách sử dụng các câu trả lời ở trên.
Tạo tệp /etc/init.d/raspi-init-network bằng trình soạn thảo văn bản yêu thích của bạn. Tôi thích sử dụng vi.
cd /etc/init.d
sudo vi raspi-init-network
Đây là mã thuộc về tập tin
#!/bin/sh
### BEGIN INIT INFO
# Provides: boot-identify-myself
# Required-Start: $local_fs $network
# Required-Stop: $local_fs
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: identify-myself
# Description: identify this computer to the main server upon
### END INIT INFO
#
# when using predictible network names for the interfaces,
# the pi doesn't seem to activate the interface correctly so
# this script will force the issue.
#
# it works by getting the interface name of the wired network
# device and using that to initialize dhcp
start()
{
interface=`ifconfig -a | grep "encap:Ethernet" | grep -oh -E "^[^ ]+"`
dhclient $interface
mount -a
}
stop()
{
: # do nothing
}
uninstall()
{
: # do nothing
}
case "$1" in
start)
start
;;
stop)
stop
;;
uninstall)
uninstall
;;
retart)
stop
start
;;
*)
echo "Usage: $0 {start|stop|restart|uninstall}"
esac
Hãy chắc chắn rằng tập lệnh có thể thực thi được
sudo chmod 755 raspi-init-network
Kích hoạt mã để nó sẽ thực thi trong quá trình khởi động bằng cách thực hiện lệnh update-rc.d.
sudo update-rc.d raspi-init-network defaults 90
Sau này, tôi không gặp vấn đề gì và tôi có thể sao chép mã vào tất cả các đơn vị Pi của mình với cùng kết quả ổn định.
GHI CHÚ: Nếu bạn không lắp ổ đĩa, bạn có thể bỏ dòng "mount -a".
TWEAKS: Nếu bạn đang sử dụng wifi, bạn có thể thay đổi dòng bắt đầu "interface =" và chỉnh sửa phân đoạn "grep" đầu tiên. Grep đầu tiên này lấy toàn bộ dòng giao diện bạn muốn sử dụng. Grep thứ hai lấy dòng đó và chỉ trả về tên giao diện.