헤드리스 Linux 시스템에서 USB를 통해 tty 구성

헤드리스 Linux 시스템에서 USB를 통해 tty 구성

나는 IMX8MM(tx8m-1610) 기반의 Linux 시스템을 가지고 있습니다. USB 연결을 사용하여 새 소프트웨어를 플래시한 다음 직렬 디버그 포트나 SSH로 전환하여 시스템 작업을 계속합니다.

새 rootfs 또는 커널을 플래시한 후 간단히 "USB에서 부팅" 점퍼를 제거하고 재부팅하면 콘솔에 들어갈 수 있는 USB 장치로 표시되도록 시스템을 설정하고 싶습니다.

나는 가지고있다

CONFIG_USB_SERIAL=y

CONFIG_USB_SERIAL_CONSOLE=y

CONFIG_USB_SERIAL_GENERIC=y

커널 구성에서 활성화되고 내 dtb에서 USB 장치는 주변 장치로 정의됩니다.

usbg1: usbg1 {
    compatible = "fsl,imx27-usb-gadget";
    chipidea,usb = <&usbotg1>;
    dr_mode = "peripheral";
    status = "okay";
};

&usbotg1 {
    dr_mode = "peripheral";
    status = "okay";
};

&usbotg2 {
    dr_mode = "peripheral";
    status = "okay";
};

getty@ttyUSB0을 활성화하고 시작합니다.

하지만 여전히 USB 장치로 표시되지 않습니다.

온라인에서 다른 많은 정보 소스를 찾을 수 없었습니다.

리눅스 커널 5.15.32 데비안 11 불스아이

편집하다:

좋아, 한 단계 더 나아가서 작동하게 만들었습니다. 안타깝게도 제 방법을 사용하려면 depmod를 실행해야 했고, 이는 작동하려면 먼저 터미널에 액세스해야 한다는 의미였습니다.

목표는 다른 수단을 통해 터미널에 들어갈 필요 없이 USB를 통해 새 소프트웨어를 플래싱하는 것에서 tty로 전환하는 것입니다.

답변1

알았어 해결책을 찾았어

CONFIG_USB_G_SERIAL=y는 커널 구성에서 y 대신 m으로 설정됩니다.

그 후 내 rootfs에서 systemctl 활성화 getty@ttyGS0을 사용할 수 있습니다.

플래싱 후 호스트는 이를 직렬 장치로 감지하고 이를 Screen과 함께 사용할 수 있습니다.

관련 정보