시스템 콜 추가 관련 질문

안녕하세요.

ubunuto 12.04 LTS 버전 사용하고 있는데요,

과제로 시스템 콜을 구현하여야 하는데 질문 드립니다.

시스템 콜을 추가하면 다시 커널 컴파일 하고 설치해야 하잖아요.

제가 처음 커널 업그레이드 하려고 컴파일 후 설치 할 때는

이것을 debian package 파일 만든 후 이거 설치하는 방식으로 했는데요.

오래 걸리더라구요… 1~2시간 걸렸던 것 같은데,

시스템콜만 추가해서 쓰는 건데, 이 부분만 컴파일 해서 적용 못하나요??

답변 부탁드립니다^^

혹시 vmware 환경이신가요?

커널 빌드 1~2시간이면 15년전 펜티엄보다 느리네요…

현재 커널에선(3.x) 시스템 콜을 커널 모듈에서 추가하는건 안될겁니다.

대신 몇개 더미로 추가해 놓고 혹은 이미 추가된 시스템 콜을

다른 함수로 연결하는건 가능하다고 합니다(최근 버전에선 테스트 안해봤습니다)

테스트해보니 -j 옵션을 안주면 정말 오래 걸리네요.

특히 모듈 빌드할 때 오래 걸리네요.

모듈을 빌드 안하시면 시간이 단축될 것 같습니다.

빌드 완료되면 빌드 시간을 올려드리겠습니다.

[code:1wbhbf91]$ uname -r
3.8.0-37-generic

$ apt-get source linux-image-3.8.0-37-generic

$ sudo apt-get build-dep linux-image-3.8.0-37-generic

$ cd 3.8.0-37
$ cp /boot/config-3.8.0-37-generic .config

$ make prepare
$ time make bzImage
16m59.320s

$ time make modules
89m24.591s

$ make distclean
$ cp /boot/config-3.8.0-37-generic .config
$ make prepare
$ time make -j8 bzImage
2m19.122s

$ time make -j8 modules
10m27.442s[/code:1wbhbf91]

친절한 답변 감사합니다 :)

원래 커널 컴파일/빌드가 오래걸린다고 들었는데, 아니었군요.

15년전 펜티엄 보다 느리다니ㅜㅜ

노트북이지만 i7에 ssd까지 쓰는데… vmware를 사용하는 게 크게 overhead가 되나 보군요!

덕분에 많이 알아갑니다 감사합니다!!!