Arm Linux Kernel Hacks

rousalome.egloos.com

포토로그 Kernel Crash


통계 위젯 (화이트)

11105
637
415734


[라즈베리파이] 라즈비안 버전과 커널 소스 버전 2. 라즈베리 파이 설정

이번 절에서는 라즈베리 파이에서 라즈비안 리눅스 커널 소스코드를 내려받고 빌드하는 방법을 알아보겠습니다. 참고로 필자는 불필요한 권한 설정을 피하기 위해 터미널에서 다음 명령어를 입력해 root 권한을 획득했습니다.

$ sudo su

실제 라즈베리 파이의 터미널에서 sudo su 명령어를 입력할 때의 모습은 다음과 같습니다.

 
그림 2.37  터미널에서 sudo su 명령어를 입력한 모습

라즈비안 버전과 커널 소스 버전

라즈비안 커널 이미지를 내려받는 방법을 설명하기에 앞서 라즈비안과 커널 버전에 대해 알아둘 필요가 있습니다. 

이 책에서 다루는 커널 디버깅과 관련된 내용은 2019년 7월 10일에 라즈베리 파이 커뮤니티에서 배포한 다음 이미지를 기준으로 테스트했습니다.

라즈비안 이미지 파일명: 2019-07-10-raspbian-buster-full.zip 
라즈비안 커널 브랜치: rpi-4.19.y
리눅스 커널 버전: 4.19.60

그런데 라즈비안 이미지는 1년에 2회 이상 업그레이드되며, 라즈비안 커널 버전도 함께 올라갑니다. 따라서 가급적 아래 URL을 방문하셔서 2019-07-10-raspbian-buster-full.zip 이미지를 내려받아 후 라즈비안을 설치하시길 바랍니다. 

https://downloads.raspberrypi.org/raspbian/images/

 
그림 2.38 기존 라즈비안 이미지 파일 내려받기

그림 2.38의 왼쪽 아래 부분에 있는 raspbian-2019-07-12/를 선택한 후 오른쪽 그림에 있는 2019-07-10-raspbian-buster.zip을 선택하면 이 책에서 테스트한 환경에 맞출 수 있습니다.

* 유튜브 강의 동영상도 있으니 같이 들으시면 더 많은 걸 배울 수 있습니다. 




라즈베리 파이 설정 

라즈베리 파이 설치하기
라즈베리 파이 기본 설정하기 
라즈비안 리눅스 커널 빌드

"혹시 궁금한 점이 있으면 댓글로 질문 남겨주세요. 아는 한 성실히 답변 올려드리겠습니다!" 

Thanks,
Austin Kim(austindh.kim@gmail.com)


# Reference: For more information on 'Linux Kernel';

디버깅을 통해 배우는 리눅스 커널의 구조와 원리. 1

디버깅을 통해 배우는 리눅스 커널의 구조와 원리. 2


Thanks,
Austin Kim



핑백

덧글

  • 라즈초보 2023/01/26 01:51 # 삭제 답글

    안녕하세요 커널의 구조와 원리 구독자 입니다.
    1권에서... 알려주신대로 진행하고 있으며 53page 라즈비안 리눅스 커널빌드에서 막히고 있습니다.

    root@raspberrypi:/home/pi/rpi_kernel_src/linux# KERNEL=kernel7
    root@raspberrypi:/home/pi/rpi_kernel_src/linux# make bcm2709_deconfig

    위처럼 실행하면

    HOSTCC scripts/basic/fixdep
    make[1]: *** No rule to make target 'bcm2709_deconfig'. Stop.
    make: *** [Makefile:534: bcm2709_deconfig] Error 2

    위와같이 에러가 뜨는데 책 내용을 살펴보니 커널빌드의 에러를 없애야 한다 하는데

    34page 에 있는 2019-07-10-raspbian-buster-full.img 와 50page에 있는 2019-07-10-raspbian-buster.img 파일의 차이점은 무었인지요?




  • AustinKim 2023/01/26 22:49 #

    언급하신 빌드 에러는 대부분 오타 혹은 설정이 제대로 되지 않아 발생한 경우가 대부분입니다.

    아래 링크에 존재하는 빌드 스크립트를 받아서 빌드해보시길 권장 드립니다.

    https://github.com/wikibook/linux-kernel/tree/master/2%EC%9E%A5.%EB%9D%BC%EC%A6%88%EB%B2%A0%EB%A6%AC%20%ED%8C%8C%EC%9D%B4%20%EC%84%A4%EC%A0%95/2.3
  • 헤헤 2023/02/24 19:51 # 삭제 답글

    안녕하세요 이번에 디버깅을 통해 배우는 책을 사게 되었습니다. 시간이 너무 많이 지나서 그런가요 저는 처음부터 막히고 있습니다. 2019.10.7 이미지를 내려받아 라즈비안 설치를 하면 업테이트시 오류가 나고 유틸리티 설치시에도 에러가 나고 있습니다. 그래서 최신 라즈비안을 설치해서 사용중인데 브랜치를 4.19.y로 설치하고 사용하고 있습니다. 그런데 커널 빌드 설치시 53페이지에 있는대로 진행을 하면 괜찮은데 빌드 스크립트로 하면 에러가 납니다. 위키 홈페이지에 가서 다운로드 받아서 실행해도 에러가 납니다. 어떻게 해야 할까요?
  • AustinKim 2023/02/25 20:26 #

    에러 메시지를 여기 댓글로 올려주실 수 있나요? 확인 후 답신 드리겠습니다.
    감사합니다.
  • 헤헤 2023/02/25 21:59 # 삭제 답글

    수고가 많으십니다. build_rpi_kernel.sh를 실행했을때 오류메세지입니다. rpi_build_log.txt를 카피했습니다.

    make[1]: Entering directory '/home/sens750/rpi_kernel_src/out'
    GEN ./Makefile
    scripts/kconfig/conf --syncconfig Kconfig
    GEN ./Makefile

    Using /home/sens750/rpi_kernel_src/linux as source for kernel
    /home/sens750/rpi_kernel_src/linux is not clean, please run 'make mrproper'
    in the '/home/sens750/rpi_kernel_src/linux' directory.
    make[1]: *** [/home/sens750/rpi_kernel_src/linux/Makefile:1089: prepare3] Error 1
    make[1]: *** Waiting for unfinished jobs....
    make[1]: Leaving directory '/home/sens750/rpi_kernel_src/out'
    make: *** [Makefile:146: sub-make] Error 2

    궁금한점이 있는데요 제가 잘 몰라서 그러는데 라즈베리파이 3B 모델에서 2019.10.7 이미지를 설치하는게 좋을까요? 아니면 최신 라즈비안을 설치하는게 좋을까요?
    그리고 브랜치 4.19.y를 설치를 하는게 좋을까요? 아니면 5.15를 설치를 하는게 좋을까요?
    책에 보면 쉘 스크립트를 따라하는게 많던데 ...
    감사합니다.
  • AustinKim 2023/02/28 07:05 #

    위 메시지를 보면 아예 빌드를 하기 위한 설정이 잘못 된 것 같습니다. 일단 라즈베리파이 3B 모델에서 2019.10.7 이미지를 설치하셔서 진행하시면 좋겠습니다. 실습에 어려움이 있으면 댓글로 알려주세요.
  • 헤헤 2023/02/28 13:20 # 삭제 답글

    일단 선생님 믿어보고 포맷하고 다시 설치 해 보겠습니다. 자세히 알려주시면 천천히 따라해 보겠습니다.
    감사합니다.
  • 헤헤 2023/02/28 15:02 # 삭제 답글

    포맷하고 2019.10.7 이미지로 설치했습니다. 엡데이트 하면 아래와 같이 에러가 뜹니다.
    어떻게 해야 할까요?

    root@raspberrypi:/home/pi# apt-get update
    Get:1 http://archive.raspberrypi.org/debian buster InRelease [32.6 kB]
    Get:2 http://raspbian.raspberrypi.org/raspbian buster InRelease [15.0 kB]
    Reading package lists... Done
    E: Repository 'http://archive.raspberrypi.org/debian buster InRelease' changed its 'Suite' value from 'testing' to 'oldstable'
    N: This must be accepted explicitly before updates for this repository can be applied. See apt-secure(8) manpage for details.
    E: Repository 'http://raspbian.raspberrypi.org/raspbian buster InRelease' changed its 'Suite' value from 'stable' to 'oldstable'
    N: This must be accepted explicitly before updates for this repository can be applied. See apt-secure(8) manpage for details.
  • AustinKim 2023/03/06 15:29 #

    최신 라즈비안 이미지로 진행 부탁드립니다. 최신 라즈비안 이미지에서 실습하는 방법은 조만간에 업데이트될 예정입니다.
  • 헤헤 2023/03/06 17:30 # 삭제 답글

    네 감사합니다.
  • 헤헤 2023/03/07 19:18 # 삭제 답글

    최신 라즈비안 이미지 1.7.4로 설치 했습니다. 커널은 어떤 버전으로 설치를 해야 하나요?
  • AustinKim 2023/03/12 11:22 #

    최신 버전으로 진행하시면 됩니다.
    감사합니다.
댓글 입력 영역