![커널을 구축하지 않고 이더넷 드라이버를 작성하시나요?](https://linux55.com/image/91241/%EC%BB%A4%EB%84%90%EC%9D%84%20%EA%B5%AC%EC%B6%95%ED%95%98%EC%A7%80%20%EC%95%8A%EA%B3%A0%20%EC%9D%B4%EB%8D%94%EB%84%B7%20%EB%93%9C%EB%9D%BC%EC%9D%B4%EB%B2%84%EB%A5%BC%20%EC%9E%91%EC%84%B1%ED%95%98%EC%8B%9C%EB%82%98%EC%9A%94%3F.png)
나는 이더넷 드라이버를 쓴다. 하지만 드라이버를 테스트하려면 커널이 프로브 콜백 루틴을 호출하도록 해야 합니다.
프로브를 호출하려면 적절한 보드 파일(이 버전에는 장치 트리가 없음)에 등록해야 하는 것 같습니다. 문제는 보드 파일을 변경하면 전체 커널을 빌드해야 하는데 가상 머신에서 2시간(!)이 걸린다는 것입니다. 나는 이전에 훨씬 더 작은 커널/파일 시스템으로 작업한 적이 있으며 커널을 구축하는 데 이렇게 오랜 시간이 걸리지 않았습니다.
이 작업을 더 효율적으로 만들 수 있는 방법이 있나요? 예를 들어, 보드에 있는 장치의 내부 드라이버를 에뮬레이트할 수 있습니까? 가상 머신에서 커널을 구축하는 데 약 2시간이 소요됩니다. 말이 됩니까?
커널을 업그레이드하거나 호스트 컴퓨터를 변경하는 등 어떤 아이디어라도 도움이 될 것입니다.
고마워요, 란
답변1
드라이버를 모듈로 빌드하고 모듈이 강제로 언로드될 수 있도록 커널을 구성해야 합니다.
따라서 드라이버를 변경하면 커널은 드라이버만 다시 컴파일합니다(그리고 새 커널을 설치할 필요가 없으며 커널 소스에서 모듈을 로드하기만 하면 됩니다.