지난 시간 리눅스 환경에서 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 구조에 대해 포스팅하고자 합니다.
'프로그래밍 > Raspberry' 카테고리의 다른 글
raspberry pi 무선랜 설정 (0) | 2015.12.28 |
---|---|
라즈베리파이 3.18.11 커널 소스 받기 (0) | 2015.12.22 |
라즈베리파이 sd카드 문제 (2) | 2015.09.08 |
라즈베리파이 File system check failed 문제 (0) | 2015.09.04 |
Raspberry pi2 (커널 이미지에 module built-in) (0) | 2015.08.19 |