씬 클라이언트 설정에서 저렴한 하드웨어를 사용하여 디스크 없는 PXE를 사용하여 작은 Linux 커널을 부팅했습니다. 현재 전체 시작에는 상당한 시간이 걸리며 몇 가지 최적화 작업을 진행 중입니다. 이제 가장 큰 어려움은 커널의 네트워크 링크 초기화입니다.
PXE 옵션 ROM 초기화 중에 PXELinux가 TFTP 작업을 수행하여 커널과 작은 initrd를 로드하는 데 사용하는 링크, IP 주소 및 옵션을 얻습니다. 커널(또는 더 구체적으로 이더넷 커널 모듈)이 로드되면 링크를 재활용하고 스위치와 재협상합니다. 기존 하드웨어에서는 이 시간을 최소 4초로 예약합니다. 기업 환경에서는 스위치가 나머지 네트워크(예: portfast가 없는 Cisco)와 통신하는 데 상당한 추가 시간이 걸릴 수 있습니다. 이 모든 것은 전원 버튼을 누르는 것부터 시작하여 두 번 경험해야 합니다. 두 번째로 이를 피하는 것은 여기서 큰 가치가 있을 것입니다.
요약: Linux 네트워크(이더넷) 드라이버가 PXE 부팅 하위 시스템에서 얻은 링크 상태를 건드리지 않도록 할 수 있습니까? 또한 이것이 특정 하드웨어에서만 작동하는지 알고 싶습니다.
편집하다:
이 모듈에는 jme
다음 세 가지 모듈 매개변수만 포함됩니다.
parm: force_pseudohp:Enable pseudo hot-plug feature manually by driver
instead of BIOS. (int)
parm: no_pseudohp:Disable pseudo hot-plug feature. (int)
parm: no_extplug:Do not use external plug signal for pseudo hot-plug. (int)
소스코드를 보면 하드웨어 초기화 시 링크 재설정 기능을 실행하는 조건은 없습니다. (구체적으로는 .ndo_open
-> jme_open
-> 무조건 jme_reset_link(jme);
)