지난 시간 리눅스 환경에서 dkms mkdeb을 통한 리눅스 커널 파일을 deb파일로 생성해보았다.

(http://kkn1220.tistory.com/51 참고)

이번에는 라즈베리파이용으로 커널모듈을 deb패키지로 하고자 한다.

(라즈베리파이2 크로스컴파일에 대한 내용은 http://kkn1220.tistory.com/14 를 참고하면됩니다.)


실습환경: vmware11 ubuntu-mate 14.04

타겟단말: 라즈베리파이2

타겟단말 커널버전: 4.0.9-v7+


지난 시간 /usr/src/hello-0.1 에는 리눅스 버전으로 사용하였기 때문에

이번에는 /usr/src/hello-0.2 로 생성한다.


c소스


Makefile 소스 (아래의 내용이 이해가 안가시면 http://kkn1220.tistory.com/14를 참고하시면 됩니다.)


dkms.conf 소스



준비는 끝났다.


이전 강좌와 방식이 똑같다.


1. dkms add

$sudo dkms add -m hello -v 0.2



2. dkms build

$sudo dkms build -m hello -v 0.2



3. dkms install

$sudo dkms install -m hello -v 0.2

(이미 설치하여서 그런건데 할 때 이상없음)


modinfo를 통한 모듈 확인



4. dkms mkdeb

$sudo dkms mkdeb -m hello -v 0.2


deb파일 생성 확인


scp를 통한 타겟 단말에 deb파일 전달

$scp <deb 파일> pi@192.168.0.xx:<path>


raspberry2 단말에서 전송 확인


원래는 repository에 등록하여 apt-get update 및 install을 통해 확인하려고 했으나 

시간 제약 상 dpkg를 이용하여 설치


$sudo dpkg -i hello-dkms_0.2_all.deb


raspberrypi2 단말에서 lsmod를 통하여 모듈이 올라온것을 확인.

만약 안올라올 경우 init에서 모듈이 부팅될 때 자동으로 올라오도록 설정하면됨.



지난시간과 이번시간에는 dkms mkdeb를 통하여 모듈을 deb파일로 패키징하는 것을 해보았습니다.

리눅스 host에서와 타겟 단말의 크로스 컴파일까지 같이 해보았습니다.

다음 번에는 repository 구조에 대해 포스팅하고자 합니다.


+ Recent posts