2011-06-12 3 views
2

저는 리눅스 용 모듈을 개발 중이며 .iso 파일을 마운트해야합니다.'sys_mount'를 호출하는 컴파일 모듈

필자는 sys_mount라는 함수가있어 리눅스의 mount 프로그램을 호출하고 모든 것을 수행한다는 것을 읽고 알았다.

문제는 내가 컴파일하려고 할 때 'sys_mount "[/home/.../example.ko]가 정의되지 않았다는 경고를 보여줍니다.' 그리고 나서 "insmod example.ko"를 시도 할 때 "insmod : 'example.ko'삽입 오류 : 모듈에 -1 'Unkown symbol'이 있습니다.

누구나 컴파일해야합니까? 누락 된 내용을 포함해야합니까?

감사합니다.

답변

3

sys_mount은 사용자 프로그램이 mount 시스템 호출을 통해 호출하는 것입니다. 대량 작업을 수행하는 do_mount을 호출하기 전에 인수 유효성 검사와 복사를 수행합니다. 커널 안에서 직접 do_mount으로 전화하십시오. 이 sys_foo/do_foo 분리는 Linux syscall 구현의 공통된 규칙입니다.

+0

답변 주셔서 감사합니다. 그러나 문제가 해결되지 않습니다. 내가 알고 싶은 것은 sys_mount()를 호출하는 모듈을 컴파일하는 방법이나 Linux 디바이스 드라이버에서 mount를 수행하는 방법이 무엇인가하는 것입니다. – lgomezm

+0

당신은'do_mount'를 호출합니다. 무언가가 작동하지 않으면 적어도'Kbuild'를 게시하고 전체 오류 메시지를 복사하여 붙여 넣으십시오. – Gilles

관련 문제