저는 Buildroot를 사용하여 Beaglebone Black용 사용자 정의 운영 체제를 구축하고 있습니다.
구성:
Linux 커널 버전 4.19.29
SSH용 Dropbear를 활성화했습니다.
시작 시 드라이버를 로드하는 스크립트는 다음과 같습니다.
#!/bin/sh
# set -e
GADGET_DIR=/config/usb_gadget/g1
OLDPWD=$(pwd)
printf "Starting USB gadget: "
modprobe cppi41
modprobe musb-am335x
modprobe musb-dsps
modprobe phy-am335x
modprobe libcomposite
mkdir /config
mount -t configfs none /config
mkdir ${GADGET_DIR}
cd ${GADGET_DIR}
echo "0x05e8" > idVendor
echo "0xa4a1" > idProduct
mkdir strings/0x409
echo "serialnumber" > strings/0x409/serialnumber
echo "manufacturer" > strings/0x409/manufacturer
echo "ECM Gadget" > strings/0x409/product
mkdir functions/ecm.usb0
mkdir configs/c.1
mkdir configs/c.1/strings/0x409
echo Conf 1 > configs/c.1/strings/0x409/configuration
echo 120 > configs/c.1/MaxPower
echo "06:32:9b:a9:9d:a5" > functions/ecm.usb0/host_addr
ln -s functions/ecm.usb0 configs/c.1
echo musb-hdrc.0 > UDC
cd ${OLDPWD}
echo "OK"
IP 주소를 할당하고 usb0 인터페이스에 대한 업링크를 활성화하기 위해 /etc/network/interfaces에 다음을 추가했습니다.
auto usb0
iface usb0 inet static
address *.*.*.*
netmask *.*.*.*
network *.*.*.*
gateway *.*.*.*
"*"는 IP 주소를 나타냅니다. (이것은 단지 데모 예일 뿐이며 구현 시 IP 주소를 추가했습니다.)
내 lsmod 출력:
Module Size Used by Not tainted
usb_f_ecm 16384 2
u_ether 24576 1 usb_f_ecm
libcomposite 61440 10 usb_f_ecm
phy_am335x 16384 2
phy_am335x_control 16384 1 phy_am335x
phy_generic 16384 1 phy_am335x
musb_dsps 20480 0
musb_hdrc 135168 1 musb_dsps
udc_core 53248 4 usb_f_ecm,u_ether,libcomposite,musb_hdrc
usbcore 217088 1 musb_hdrc
usb_common 16384 6 libcomposite,phy_am335x,musb_dsps,musb_hdrc,udc_core,usbcore
musb_am335x 16384 0 [permanent]
cppi41 20480 60
그래도 USB 인터페이스를 사용하여 SSH를 실행할 수는 없습니다.
질문:
SSH를 활성화하는 데 필요한 드라이버나 구성이 누락되었습니까?