지난시간에... 우리는 kernel compile을위하여 cross compile 환경을구축했음. UBUNTU 12.04에서 arm-2009q3를사용하여 간단한 c source를빌드함. 한번은 intel CPU를위한 gcc로, 한번은 ARM CPU를위한 gcc로. AR

Similar documents
PowerPoint 프레젠테이션

Mango220 Android How to compile and Transfer image to Target

Tizen

임베디드시스템설계강의자료 4 (2014 년도 1 학기 ) 김영진 아주대학교전자공학과

1. 안드로이드개발환경설정 안드로이드개발을위해선툴체인을비롯한다양한소프트웨어패키지가필요합니다 툴체인 (Cross-Compiler) 설치 안드로이드 2.2 프로요부터는소스에기본툴체인이 prebuilt 라는이름으로포함되어있지만, 리눅스 나부트로더 (U-boot)

임베디드시스템설계강의자료 6 system call 2/2 (2014 년도 1 학기 ) 김영진 아주대학교전자공학과

Microsoft PowerPoint - 03-Development-Environment-2.ppt

Chap 10 안드로이드커널 (Kernel)

PowerPoint 프레젠테이션

Snort Install Manual Ad2m VMware libnet tar.gz DebianOS libpcap tar.gz Putty snort tar.gz WinSCP snort rules 1. 첫번째로네트워크설정 1) ifconf

Abstract View of System Components

LXR 설치 및 사용법.doc

28 THE ASIAN JOURNAL OF TEX [2] ko.tex [5]

Microsoft PowerPoint - 02-Development-Environment-1.ppt

임베디드시스템설계강의자료 6 system call 1/2 (2014 년도 1 학기 ) 김영진 아주대학교전자공학과

슬라이드 제목 없음

Microsoft Word - ntasFrameBuilderInstallGuide2.5.doc

슬라이드 1

소프트웨어설치 1. 소프트웨어설치및제거 ( 소스코드 ) 소스코드컴파일을이용한 S/W 설치 1. 소스코드다운로드 - 예 ) httpd tar.gz - 압축해제 : #tar xzvf httpd tar.gz - INSTALL 또는 README파일참조

1. efolder 시스템구성 A. DB B. apache - mod-perl - PHP C. SphinxSearch ( 검색서비스 ) D. File Storage 2. efolder 설치순서 A. DB (MySQL) B. efolder Service - efolder

DE1-SoC Board

PowerPoint 프레젠테이션

untitled

Microsoft PowerPoint - chap06-2pointer.ppt

PowerPoint 프레젠테이션

Chap 2 임베디드시스템 개발환경구성

Code Generation in Rapid

PowerPoint 프레젠테이션

Adobe Flash 취약점 분석 (CVE )

Microsoft PowerPoint - TUNA_Board_Tutorial.pptx

<4D F736F F D20B1B9B0A1BAB020BEC6C0CCC7C720C2F7B4DC20B0A1C0CCB5E5>

메일서버등록제(SPF) 인증기능적용안내서 (HP-UX - postfix) OS Mail Server SPF 적용모듈 (Perl 기반) 작성기준 HP-UX 11.11i postfix spf-filter 년 6 월

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션

ISP and CodeVisionAVR C Compiler.hwp

untitled

망고100 보드로 놀아보자 -10

망고 M 카메라 포팅 가이드

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션

Mango-AM335x LCD Type 커널 Module Parameter에서 변경하기

PowerPoint 프레젠테이션

리눅스설치가이드 3. 3Rabbitz Book 을리눅스에서설치하기위한절차는다음과같습니다. 설치에대한예시는우분투서버 기준으로진행됩니다. 1. Java Development Kit (JDK) 또는 Java Runtime Environment (JRE) 를설치합니다. 2.

<31332DB9E9C6AEB7A2C7D8C5B72D3131C0E528BACEB7CF292E687770>

강의 자료

Raspbian 설치 라즈비안 OS (Raspbian OS) 라즈베리파이 3 Model B USB 마우스 USB 키보드 마이크로 SD 카드 마이크로 SD 카드리더기 HDM I 케이블모니터

untitled

<30352D30312D3120BFB5B9AEB0E8BEE0C0C720C0CCC7D82E687770>

歯mp3사용설명서

슬라이드 1

작성자 : 기술지원부 김 삼 수

Solaris Express Developer Edition

초보자를 위한 C++

Abstract View of System Components

Microsoft PowerPoint - chap02-C프로그램시작하기.pptx

Microsoft Word - 3부A windows 환경 IVF + visual studio.doc

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션

Microsoft PowerPoint - ARM 개발 환경.ppt

슬라이드 1

벤처연구사업(전동휠체어) 평가

AVN9272Kor_091215

고급 프로그래밍 설계

Microsoft PowerPoint SDK설치.HelloAndroid(1.5h).pptx

Microsoft Word - Network Programming_01.docx

PowerPoint 프레젠테이션

K7VT2_QIG_v3

Microsoft PowerPoint - chap01-C언어개요.pptx

라즈베리파이 프로그래밍_130912(최종).indd

커알못의 커널 탐방기 이 세상의 모든 커알못을 위해서

문서 대제목

RealDSP UT 프로그램 메뉴얼

Mango-IMX6Q mfgtool을 이용한 이미지 Write하기

메일서버등록제(SPF) 인증기능적용안내서 (AIX - sendmail) OS Mail Server SPF 적용모듈 (Perl 기반) 작성기준 AIX 5.3 sendmail spf-filter 년 6 월

Copyright 2004 Sun Microsystems, Inc Network Circle, Santa Clara, CA U.S.A..,,. Sun. Sun. Berkeley BSD. UNIX X/Open Company, Ltd.. Sun, Su


교육지원 IT시스템 선진화

Chap 5 루트파일시스템 (Root F/S)

/chroot/lib/ /chroot/etc/

SBR-100S User Manual

SPECweb Install

Chap 3 부트로더 (Bootloader)

PowerPoint 프레젠테이션

Microsoft Word ARM_ver2_0a.docx

Microsoft PowerPoint - lab14.pptx

PowerPoint 프레젠테이션

WinCE 실험실습 #1

Android-build-system

manual pdfÃÖÁ¾

Chapter. 5 Embedded System I Bootloader, Kernel, Ramdisk Professor. Jaeheung, Lee

ODS-FM1

표준프레임워크 Nexus 및 CI 환경구축가이드 Version 3.8 Page 1

<4D F736F F F696E74202D20B8AEB4AABDBA20BFC0B7F920C3B3B8AEC7CFB1E22E BC8A3C8AF20B8F0B5E55D>

슬라이드 1

KEY 디바이스 드라이버

망고100 보드로 놀아보자-5

Microsoft Word doc

Mango24R2 Auto Write

Microsoft PowerPoint Android-SDK설치.HelloAndroid(1.0h).pptx

PowerPoint 프레젠테이션

Transcription:

Configure Kernel Build Environment And kernel & root file system Build 2018-09-27 VLSI Design Lab 1

지난시간에... 우리는 kernel compile을위하여 cross compile 환경을구축했음. UBUNTU 12.04에서 arm-2009q3를사용하여 간단한 c source를빌드함. 한번은 intel CPU를위한 gcc로, 한번은 ARM CPU를위한 gcc로. ARM 명령어로컴파일한바이너리파일을실행할수있었나요? 'file' 명령어사용해봤나요? 그리고 u-boot 를빌드함. u-boot 는 bootloader 입니다. 2018-09-27 VLSI Design Lab 2

kernel compile 2018-09-27 VLSI Design Lab 3

Kernel configuration Linux Kernel 은많은기능을가지고있다. 그래서어떤기능을사용할지적절히선택해야함. 필요하다면추가적인기능을직접구현해줘야한다. 2018-09-27 VLSI Design Lab 4

Kernel configuration 문제는... 어떤기능을포함하고, 또필요하다면어떤기능을추가해야할지결정하는것은상당히어려움 특히 CPU 내부의디바이스와보드에설치된디바이스에대한심도깊은이해가필수적임. 따라서일반적으로 kernel configuration과 kernel patch는 CPU제작사와개발보드제작사에서진행함. 2018-09-27 VLSI Design Lab 5

kconfig, make menuconfig, make *_defconfig kconfig kernel의각디렉토리마다있음. kernel 빌드시사용되는변수들을선언함. 선언된변수들은 Makefile이나 C code의전처리기에서활용됨. menuconfig kconfig 파일에기술된내용에따라변수들의설정을 interface 환경에서변경할수있게해주는툴 menu-driven user 사용전 sudo apt-get install libncurses5-dev 를진행하여 ncurses 라이브러리를 설치한다. 2018-09-27 VLSI Design Lab 6

kconfig, make menuconfig, make *_defconfig 좌측부터 make menconfig, Kconfig, Makefile이다 1.Kconfig 파일에 MMU 변수에대한설정이저장되어있음. 1.MMU 변수는 bool type으로선언되어있다. 2. 본변수는 y인경우, CPU에서 MMU기반메모리관리를사용함을의미한다. 1. 따라서커널이컴파일할때이러한메모리관리특성에맞춰빌드된다. 이는후술할 Makefile 에서구현된다. 2.make menuconfig를실행하면 Kconfig 파일에기술한대로 MMU 변수에대한설정을진행할수있다. 3.MMU 변수는 Makefile에서사용된다. 1. 본 Makefile에서는 MMU 변수가선언되지않으면 MMUEXT 변수를 -nommu로선언한다. 2018-09-27 VLSI Design Lab 7

kconfig, make menuconfig, make *_defconfig 아그러면저거설정을하나하나다잡아줘야하네요? 예 필요하면디바이스드라이버를만들거나 Kernel 동작을수정해줘야합니다. 필요하면 Kconfig와 Makefile도설정해야합니다. 그렇지만 보드제작사나 CPU 제작사가미리기본설정값을만들어주는경우가있다. *_defconfig default configuration 특정개발보드나 CPU에대한기본설정들이저장되어있다. (Linux source)/arch/arm/configs에있음. 2018-09-27 VLSI Design Lab 8

kconfig, make menuconfig, make *_defconfig 즉 kconfig 에서켬파일과정에서사용할변수를선언하고 각변수의자료형 (bool, tristate) 각변수의의존성 (depends on, select) 각변수에대한설명 (help) make menuconfig 에서선언된변수의값을바꿀수있다. 그결과는.config 에저장된다. 이때변수값을바꾸는일련의과정은 CPU 나개발보드에대한심도깊은이해가필요하므로 제작사에서기본설정값을제공하는데그것이 *_defconfig 변수의값은 C 전처리기나, Makefile 에서사용된다. 따라서변수값에따라컴파일결과가달라진다. 2018-09-27 VLSI Design Lab 9

Let's build kernel 지난시간에소스코드다받았나요? SV210_source.zip 의압축도다풀었나요? 2018-09-27 VLSI Design Lab 10

Let's build kernel 소스코드압축해제 tar -xvf linux-2.6.32-hanback.tar.bz2 Linux Source Directory 로이동 cd linux-2.6.32-hanback Makefile 수정 gedit Makefile & ( 실행에아주약간의시간이걸린다.) 184번째줄에 arm-none-linux-gnueabi-gcc의경로를기입한다. arm-none-linux-gnueabi-gcc 의경로는 which arm-none-linux-gnueabi-gcc 로확인가능 2018-09-27 VLSI Design Lab 11

Let's build kernel 주의 끝에 gcc나 g++ 같은것을붙이지않는다. 파란색주석을읽어보면알겠지만 CROSS_COMPILE 변수는접두사를저장하는변수이기때문이다. 2018-09-27 VLSI Design Lab 12

Let's build kernel kernel configuration make empos3sv210_linux_defconfig build make zimage 2018-09-27 VLSI Design Lab 13

rootfs build 2018-09-27 VLSI Design Lab 14

rootfs 시작하기전에 랩사이트에서 mkyaffs2image를다운로드 이후작업디렉토리로복사 sudo su 입력 tar -xvf rootfs_441.tar.bz2 chmod 777 mkyaffs2image./mkyaffs2image rootfs_441 rootfs_441.yaffs2 2018-09-27 VLSI Design Lab 15

다음시간준비물 다음시간에는 Target 보드에그동안빌드한 bootloader Kernel rootfs 를올립니다. 이때 USB 2.0포트가 2개필요합니다. 따라서본인노트북에 USB 2.0 포트가 2개가없다면 USB 허브를챙겨옵니다. (3.0 무관, C type 연결불가하므로 2.0 / 3.0 최소 2개연결할수있도록준비.) 2018-09-27 VLSI Design Lab 16