커널을 구축하지 않고 이더넷 드라이버를 작성하시나요?

커널을 구축하지 않고 이더넷 드라이버를 작성하시나요?

나는 이더넷 드라이버를 쓴다. 하지만 드라이버를 테스트하려면 커널이 프로브 콜백 루틴을 호출하도록 해야 합니다.

프로브를 호출하려면 적절한 보드 파일(이 버전에는 장치 트리가 없음)에 등록해야 하는 것 같습니다. 문제는 보드 파일을 변경하면 전체 커널을 빌드해야 하는데 가상 머신에서 2시간(!)이 걸린다는 것입니다. 나는 이전에 훨씬 더 작은 커널/파일 시스템으로 작업한 적이 있으며 커널을 구축하는 데 이렇게 오랜 시간이 걸리지 않았습니다.

이 작업을 더 효율적으로 만들 수 있는 방법이 있나요? 예를 들어, 보드에 있는 장치의 내부 드라이버를 에뮬레이트할 수 있습니까? 가상 머신에서 커널을 구축하는 데 약 2시간이 소요됩니다. 말이 됩니까?

커널을 업그레이드하거나 호스트 컴퓨터를 변경하는 등 어떤 아이디어라도 도움이 될 것입니다.

고마워요, 란

답변1

드라이버를 모듈로 빌드하고 모듈이 강제로 언로드될 수 있도록 커널을 구성해야 합니다.

따라서 드라이버를 변경하면 커널은 드라이버만 다시 컴파일합니다(그리고 새 커널을 설치할 필요가 없으며 커널 소스에서 모듈을 로드하기만 하면 됩니다.

관련 정보