조회 수 6001 댓글 0
?

단축키

Prev이전 문서

Next다음 문서

+ - Up Down Comment Print
?

단축키

Prev이전 문서

Next다음 문서

+ - Up Down Comment Print


1. ARM 컴파일러(툴체인) 설치

  • CodeSourcery : www.codesourcery.com /  https://www.mentor.com/embedded-software/codesourcery
    참조링크 : http://blog.naver.com/joyjazz/20062724532
  • ARM Cross compiler임
  • 환경설정
    $ export PATH=/CodeBench/bin:$PATH


2. 커널 소스 다운로드

  • 공식 링크
    git clone git://github.com/raspberrypi/linux.git

  • 빌드를 위한 패키지 설치
    $sudo apt-get install git-core libncurses5-dev

  • 다운로드가 완료되면 linux 폴더가 만들어짐


3. 커널빌드

  • 참고: https://www.raspberrypi.org/documentation/linux/kernel/building.md

  • 1단계
    make mrproper  // 기존 커널 설정 내용을 초기화
  • 2단계
    make config // 텍스트 기반 커널 설정
    make oldconfig // 이전 설정 내용을 기반으로 설정
    make menuconfig // ncurses 라이브러리 기반 텍스트 gui 모드에서 설정
    make xconfig // QT 기반의 설정
    make gconfig
    // QTK+ 기반의 설정
  • 3단계
    make // 커널 + 모듈
    make all // 커널 + 모듈
    make zImage // 커널 only
    make Image // 라즈베리파이용 커널 이미지
  • 4단계
    make modules // 모듈만 컴파일
  • 5단계
    make modules_install // 모듈 설치
  • 6단계
    make install // 부트로더 수정
  • 7단계
    reboot

  • 데스크탑을 위한 커널빌드가 아니면 5~7단계는 사용되지 않는다.

4. 기타

  • feature 설정 확인 : /arch/arm/configs/bcmrpi_defconfig 파일을 열어 확인 / 수정한다
  • bcmrpi_defconfig 를 확인한 이후 커널 소스에 적용하기 위해
    make bcmrpi_defconfig
    를 수행함
  • 추가로 사용하고 싶은 기능이 있으면
    make menuconfig
    명령을 통해 변경 가능
  • 설정이 완료되면 빌드
    make
    ==> 최종 결과물은 커널이미지를 가리키는 이미지이며, arch/arm/boot 에 생성됨
  • 만약 모듈 기능들을 매제하고 커널 이미지만 빌드하고 싶드면
    make Image
    명령을 사용 ==> 커널 이미지 파일은 Image를 /boot 디렉터리로 복사하면 됨(반드시 백업해 둘 것)


5. 모듈 빌드

  • 모듈 예제

#include <linux/kernel.h>
#include <linux/module.h>
#include <linux/init.h>

int simple_mod_init(void)
{
        printk("simple module loaded\n");
        return 0;
}

int simple_mod_exit(void)
{
        printk("simple module unloaded\n");
        return 0;
}

module_init(simple_mod_init);
module_exit(simple_mod_exit);
MODULE_LICENSE("GPL");


Makefile

 obj-m := simple_mod.o

     KDIR := /usr/src/linux
 PWD := $(shell pwd)
     FILE := simple_mod

 all:
     @echo
         $(MAKE) -C $(KDIR) SUBDIRS=$(PWD) modules
         dmesg | tail -5

 clean:
     @echo
         $(MAKE) -C $(KDIR) SUBDIRS=$(PWD) clean
         dmesg | tail -5

 up:
     @echo
         insmod $(FILE).ko
         dmesg | tail -5
         lsmod

 down:
     @echo
         rmmod $(FILE)
         dmesg | tail -5
         lsmod

  • 빌드하면 simple_mod.ko 파일이 생성됨
  • 모듈 적재 : insmod simple_mod.ko
    모듈 제거 : rmmod simple_mod
    모듈 적재(의존성 포함) : modprobe simple_mod
    모듈 제거(의존성 포함) : modprobe -r simple_mod



Dreamy의 코드 스크랩

내가 모으고 내가 보는

List of Articles
번호 분류 제목 날짜 조회 수 추천 수
386 LINUX 리눅스 시스템 시작시에 자동 실행할 파일 등록하기 2015.09.30 10128 0
385 LINUX 리눅스 부팅시 명령스크립트 실행하기 2015.09.30 10384 0
384 LINUX 리눅스 명령행에서 메일 보내기(send mail from linux command line) 2019.11.25 8974 0
383 LINUX 리눅스 그룹관리 (groupadd, groupmod, groupdel) 2016.02.23 8317 0
382 LINUX 리눅스 계정 목록 보기 2016.03.21 7359 0
381 MFC 레지스트리 쓰기, 읽기 함수 정리 2011.07.26 31103 0
380 Pi 레귤레이터(3.3V 1A) KA78R33 데이터시트 file 2019.08.20 3695 0
379 Pi 라즈베리파이를 크롬캐스트 처럼 사용하는 방법 - RaspiCast 2017.10.17 8997 0
378 Pi 라즈베리파이를 NAS로 사용하기 2017.10.18 5643 0
» Pi 라즈베리파이 커널 컴파일 2017.10.18 6001 0
376 Pi 라즈베리파이 적외선(IR) 리모컨 송신/수신 - LIRC Library 2017.10.17 7716 0
375 Pi 라즈베리파이 음성인식 S/W 2018.04.26 6354 0
374 Pi 라즈베리파이 웹페이지 자동 실행 설정 방법 secret 2020.11.03 0 0
373 Pi 라즈베리파이 내 작업 명령 secret 2019.06.10 0 0
372 Pi 라즈베리파이 PI CAMERA 설치하기 2018.04.24 9195 0
목록
Board Pagination ‹ Prev 1 ... 4 5 6 7 8 9 10 11 12 13 ... 34 Next ›
/ 34

나눔글꼴 설치 안내


이 PC에는 나눔글꼴이 설치되어 있지 않습니다.

이 사이트를 나눔글꼴로 보기 위해서는
나눔글꼴을 설치해야 합니다.

설치 취소

Designed by sketchbooks.co.kr / sketchbook5 board skin

Sketchbook5, 스케치북5

Sketchbook5, 스케치북5

Sketchbook5, 스케치북5

Sketchbook5, 스케치북5