2010-12-14 5 views
1

우리는 PCIe 2.0을 사용하는 사용자 정의 하드웨어를 만들었습니다. 이 하드웨어는 CentOS Linux 5.4가 설치된 HP DL360 G7 서버에서 작동합니다. 그래서 HP 서버에서 Linux는 깔끔하게 부팅하고, 카드를 인식하고, 드라이버와 인터페이스 할 수 있습니다. 그러나 카드를 일반 Dell T3500 PC에 연결하면 Linux를 부팅 할 수 없습니다. initrd 다음에 크래시, 디버그 또는 오류 메시지없이 중단됩니다. 그래서 내 질문은 어떤 도구 또는 설정이 문제를 디버그하는 데 사용할 수 있습니다 무엇입니까? 우리는 부트 프로세스가 initrd를 지나칠 수없는 이유를 알고 싶습니다.PC에서 initrd를 실행 한 후 Linux 부팅이 중단되는 사용자 지정 하드웨어

답변

0

Knoppix와 같은 라이브 CD에서 부팅하고 거기에서 사용 가능한 유틸리티를 사용하여 문제를 진단하십시오 (dmesg, dconf, lspci 등). Dell에있는 드라이버와 하드웨어 사이에 충돌이있을 수 있습니다.

0

initrd를 마운트하는 동안 부트가 멈춰 있는지 또는 initrd (init 스크립트 등)의 내용을 실행하는 동안 매달려 있는지에 대한 설명이 명확하지 않습니다. 후자의 경우 initrd를 열어 init 스크립트를 변경하여 bash 프롬프트로 즉시 빠져 나와 비슷한 문제를 진단했습니다. 그런 다음 initrd를 다시 아카이브하면 프롬프트에서 바로 부팅해야합니다. 거기에서 범인을 찾을 때까지 initrd init 스크립트에서 각 명령을 수동으로 실행할 수 있습니다.

0

KGDB 커널 디버거를 사용하면 실패한 시스템을 직렬 포트를 통해 다른 시스템에 연결할 수 있으며 두 번째 시스템에서는 gdb을 사용하여 첫 번째 시스템에서 커널을 디버깅 할 수 있습니다.