저는 이전 커널 2.6.32를 사용하고 있으며 TFTP를 통해 커널을 부팅하고 NFS를 통해 파일 시스템을 마운트하고 싶습니다. TFTP를 통해 커널을 마운트하는 것이 장점이지만 NFS를 통해 파일 시스템을 마운트해야 합니다.
보드의 이더넷 연결을 버리고 강제로 USB를 사용하고 싶습니다.
이 코어(있는 경우)에 어떤 USB-이더넷 어댑터가 적합한지 어떻게 알 수 있나요?
감사해요.
답변1
일반적으로 Linux는 네트워크 장치를 잘 지원합니다. 해당 장치를 Linux 버전에서 사용할 수 있는 경우 적절한 initrd를 사용하여 nfs 루트를 설정할 수 있습니다. 따라서 nfs에 대한 루트의 문제점은 루트를 보유하기 위해 initrd를 생성해야 한다는 것입니다. initrd가 없는 NFS 루트는 여전히 작동할 수 있지만 USB 이더넷 어댑터는 모두 핫 플러그 가능하므로 작동하지 않습니다. initrd 수정은 마음이 약한 사람을 위한 것이 아닙니다.
네트워크 링크를 통해 커널과 initrd를 로드하는 것은 또 다른 어려움입니다. 첫째, 커널이 인계받을 때까지 Linux가 장치를 지원하는지 여부는 중요하지 않으며, 이 시점에서는 부트로더 지원만 중요합니다. grub과 ipxe는 어느 시점에서 원하는 작업을 수행할 수 있는 두 가지 부트로더입니다. (다른 네트워크 부트로더가 있지만 내가 아는 한 USB를 지원하는 것은 없습니다.) ipxe USB 지원은 아직 주요 개발 지점에 포함되지 않았습니다. grub은 최근 USB 키보드와 디스크 드라이브에 대한 지원을 출시했습니다. USB 네트워킹의 가능성은 공개적으로 논의되지 않았습니다. 남은 유일한 옵션은 kexec이지만 이는 Linux를 실행하는 경우 수행됩니다. 이 모든 경우에 USB 네트워크 어댑터에서 부팅할 수 있는 시스템 ROM을 찾지 못했기 때문에 어떤 장치에서 부트로더를 로드할지에 대한 질문이 여전히 남아 있습니다.