라즈베리파이

포스트: 191|조회수: 0|ARTIFACT
Items

Posts

191 posts

[라즈베리파이] 라즈비안(Raspbian) 리눅스 커널(LinuxKernel) 빌드하기

Guillermo Austin Kim|2019년 5월 14일

이번 절에서는 라즈베리파이에서 라즈비안 리눅스 커널 소스 코드를 내려받고 빌드하는 방법을 알아보겠습니다. 필자는 라즈베리파이를 쓸 때 다음 명령어로 root로 변경해 커널 빌드를 합니다.$ sudo su 명령어 입력 과정에서 불필요한 권한 설정을 피하기 위해서입니다. 라즈비안 커널 소스 코드 내려받기 리눅스 커널 소스 코드를 다운로드 받는 방법을 소개합니다. 다음 명령어를 입력하면 라즈비안 최신 커널 소스를 내려 받을 수 있습니다.git clone --depth=3000 위 명령어를 라즈베리파이 터미널에서 입력하면 다음 화면을 볼 수 있습니다.root@raspberrypi:/home/pi/RPi_kernel_src# git clone --depth=3000 into 'linux'...remote

[리눅스커널][디버깅] 편하게 커널 코드를 수정할 수 있는 디버깅용 Debugfs 드라이버 코드 소개

Guillermo Austin Kim|2019년 4월 7일

편하게 커널 코드를 수정할 수 있는 디버깅용 Debugfs 드라이버 코드 소개 이전 절까지 리눅스 커널 코드를 수정해서 ftrace나 커널 로그를 출력하는 방법을 소개했습니다. 리눅스 드라이버를 처음 접하거나 커널 코드에 익숙하지 않은 분은 커널 로그를 수정해 커널 빌드를 하는 것은 굉장히 낯선 일입니다. 왜나면 코드를 잘못 입력해 커널이 오동작하면 어떨지 걱정이 앞설 수 있기 때문입니다. 그런데 실수로 커널 코드를 잘못 입력하면 라즈베리파이가 부팅을 못할 수도 있습니다. 필자도 실수로 커널 코드를 잘못 수정한 후 컴파일한 적이 있습니다. 결과 라즈베리파이가 부팅이 안됐습니다. 처음 이런 상황을 겪으니 조금 당황스러웠습니다. 임베디드 리눅스 실전 개발자는 코드를 수정한 다음 커널 부팅이 안 되는 상황

[라즈베리파이] 특정 브랜치(rpi-4.14.y)로 소스 코드 내려받기

Guillermo Austin Kim|2019년 3월 20일

라즈베리파이에서 가장 많이 쓰는 라즈비안은 꾸준히 최신 커널 버전을 지원합니다. 최신 라즈비안 커널 소스 코드 내려받기 먼저 다음 명령어를 입력해 라즈비안 최신 커널 소스를 내려 받겠습니다."git clone --depth=3000" root@raspberrypi:/home/pi/RPi_kernel_src# git clone --depth=3000 into 'linux'...remote: Enumerating objects: 85646, done.remote: Counting objects: 100% (85646/85646), done.remote: Compressing objects: 100% (65774/65774), done.Receiving objects: 33% (28569/85646), 4

[리눅스커널][스케줄링] 컨택스트 스위칭: context_switch() 세부 코드 분석

Guillermo Austin Kim|2019년 3월 6일

컨택스트 스위칭 세부 코드 분석이전 소절에서 다룬 컨택스트 스위칭이란 다음과 같은 문장으로 정리할 수 있습니다.CPU에서 실행 중인 프로세스 정보로 채워진 CPU 레지스터 세트를 프로세스 스택 공간에 저장하고 다음에 실행할 프로세스의 레지스터 세트를 스택 공간에서 로딩해 CPU 레지스터 세트에 채우는 동작입니다. 이번에는 context_switch() 함수 분석으로 컨택스트 스위칭 코드 동작을 알아보겠습니다. 먼저 context_switch() 함수에 전달하는 인자를 확인합시다.[https://elixir.bootlin.com/linux/v4.14.70/source/kernel/sched/core.c]static __always_inline struct rq *context_switch(struct rq