목 차 Fedora Core 6 다운받기 2 Fedora Core 6 설치 2 커널업데이트하기 22 VI 편집기사용 27 임베디드개발을위한환경구축 30 xinetd 설치 31 tftp 설치 31 sharutils 설치 33 minicom 환경설정 33 NFS 설정 36 gcc 컴파일러설치 (gcc-2.9.53) 37 HANBACK Electronics Co.,Ltd - by Software Team h.s park
Fedora Core 6 다운받기 http://download.fedora.redhat.com/pub/fedora/linux/core/6/i386/iso/ 위사이트에서 FC-6-i386-disc1.iso, FC-6-i386-disc2.iso, FC-6-i386-disc3.iso, FC-6-i386-dis c4.iso, FC-6-i386-disc5.iso 5개의파일을다운로드받은후 CD로굽는다. Fedora Core 6 설치 우선, BIOS 환경으로들어가서부팅항목의첫번째를 CR-ROM 으로설정한다. Fedora 첫번째 시디를삽입후, 컴퓨터를부팅시킨다. 부팅이되면아래와같은화면이나온다. Enter" 키를누른다. < 그림 1> Fedora Core 6 부팅화면 - 2 -
< 그림 2> 설정화면 미디어가정상인지확인하는화면으로 Skip" 을선택한다. < 그림 3> 초기화면 - 3 -
< 그림 4> 언어설정화면 언어설정은 한국어 를선택한다. 키보드설정은 U.S. 영어 를선택합니다. < 그림 5> 키보드설정 - 4 -
< 그림 6> 설치시하드드라이브파티션 설치시하드드라이브파티션방식설정 " 사용자레이아웃만들기 " 를선택한다. - 5 -
< 그림 7-1> 디스크파티션분할설정 디스크파티션을설정한다. 새로생성 (W) 을눌러다음의순서대로 /boot, swap, / 의파티션을설정한다. - 6 -
< 그림 7-2> 디스크파티션분할설정 /boot 1. /boot /boot 상에마운트된파티션에는운영체제커널과부트스트랩과정에서사용된파일이포함되어있다. A. 새로생성 (W) 버튼을선택한다. B. 마운트지점은 /boot 를선택한다. C. 파일시스템유형은 ext3 를선택한다. D. /boot의용량은 100M 를할당한다. E. 확인버튼을누른다. - 7 -
< 그림 7-3> 디스크파티션분할설정 swap 2. SWAP 스왑파티션은가상메모리를지원하는데사용하는것으로시스템이처리하고있는데이터를저장할충분한 RAM이없을때그데이터를스왑파티션에기록하여사용한다. A. 새로생성 (W) 버튼을선택한다. B. 파일시스템유형을 SWAP 으로선택한다. C. SWAP의용량은호스트PC 메모리의 2배만큼의용량을설정한다. D. 여기서는 1024 MB 를할당한다. E. 확인 버튼을누른다. - 8 -
< 그림 7-4> 디스크파티션분할설정 / 3. / 루트디렉토리가위치할곳으로, 이설정에서 /boot에저장된파일을제외한모든파일들은루트파티션상에위치하게된다. A. 새로생성 버튼을선택한다. B. 마운트지점은 / 를선택한다. C. 파일시스템유현은 ext3 를선택한다. D. / 의용량은위의과장에서남은용량모두를할당한다. E. 확인 버튼을누른다. 만약 Windows XP 가설치되어있는상태라면 < 그림 7-1> 화면에서 ntfs 유형의하드드라이브가 하나더있을것이다. 이파일시스템은 Windows XP 를나타내기때문에이파일시스템을손댈경우 시스템이잘못될수있으므로, 손대지말아야한다. - 9 -
< 그림 7-5> 디스크파티션분할설정완료 < 그림 8> 부트로더설정 - 10 -
< 그림 9-1> 네트워크설정 네트워크설정화면이다. 동적 IP 사용시기본설정을유지하면된다. 고정 IP 사용시편집을눌러다음과같이변경한다. < 그림 9-2> 네트워크설정 - 11 -
동적 IP 설정사용, IPv6 지원활성화의체크를해제한다. IPv4 지원활성화, 부팅시활성화를체크한다. IP주소와 Netmask를각자의환경에맞게입력한다. IPv4 주소 : 192.168.123.100 넷마스크 : 255.255.255.0 < 그림 9-3> 네트워크설정 게이트웨이와 DNS 를입력한다. 게이트웨이 : 192.168.123.254 1 차 DNS : 168.126.63.1 해당 IP 및그외네트워크설정은각자의환경에맞게입력하면된다. - 12 -
< 그림 10> 시간대선택 < 그림 11> 루트암호설정 - 13 -
< 그림 12> 설치소프트웨어선택 사무와생산성, 소프트웨어개발 을선택하고, 지금의사용자설정 을선택한다. < 그림 13> 설치소프트웨어선택 언어지원의것을제외한나머지를모두선택하여전체소프트웨어를설치한다. - 14 -
- 다음 (N) 버튼을누르면설치가시작된다. < 그림 14-1> 설치시작 < 그림 14-2> 설치중인화면 - 15 -
< 그림 14-3> 설치완료 < 그림 15> 재부팅후추가설정화면 - 16 -
< 그림 16> 사용계약서 Yes, I agree to the License Agreement ( 네, 사용계약서에동의합니다 (Y)) 를선택한다. Disabled 를선택하고 예 (Y) 를선택한다. < 그림 17> 방화벽설정 - 17 -
비활성화 를선택하고 예 (Y) 를선택한다. < 그림 18> SELinux 셋팅 < 그림 19> 날짜와시간 - 18 -
< 그림 20> 시스템사용자설정 사용자계정을추가한다. < 그림 21> 사운드카드설정 사운드카드를설정하고완료를선택한후확인버튼을누른다. - 19 -
Fedora Core 6 설치 가이드 v0.12 (주) 한백전자 <그림 22> 로그인 화면 사용자 이름 입력란에 root"라고 입력하며, 자신이 설정한 password를 입력한다. 리눅스 초기 실행화면이다. 이제 임베디드 개발을 위한 환경 설정을 시작한다. <그림 23> Fedora Core 5 바탕화면 - 20 -
터미널을하나띄운다. (< 그림 24-1> 참조 ) < 그림 24-1> 터미널실행화면 < 그림 24-2> 터미널실행화면 - 21 -
커널업데이트하기 커널버전을확인하여 Xen 버전이면시리얼포트사용에문제가발생할것이다. 커널업데이트를 통하여시리얼포트사용시발생한문제를해결할수있다. 커널업데이트를하는방법으로 YUM 명령어를사용하여업데이트하거나커널 RPM 을다운받아업데이트를하는방법이있다. 먼저 YUM 명령어를실행하여업데이트하는방법이다. < 그림 25-1,2> 커널업데이트를하기위해서는반드시 Host PC 가네트웍과연결되어있어야한다. (1) 커널버전을확인한다. [root@localhost ~]# uname r 2.6.18-1.2798.fc6xen (2) YUM 프로세스가실행중인지확인하고, 실행중인프로세스를종료한다. [root@localhost ~]# ps aux grep yum root 2270 0.9 1.0 25328 10524? S 02:47 0:01 /usr/bin/python /usr/sbin/yum-updatesd root 3292 0.0 0.0 5168 752? R+ 02:49 0:00 grep yum [root@localhost ~]# kill 2270 (3) YUM 명령어로커널을업데이트한다. [root@localhost ~]# yum update kernel *. 위의 update 옵션으로업데이트가되지않을때는 < 그림 25-1> 에서와같이 install 옵션으로업데이트를한다. < 그림 25-1> 커널업데이트 YUM 커널업데이트를실행시키고, < 그림 25-2> 에서와같이 Is this ok [y/n]: y 를입력한다. 그리고 Host PC 를재부팅한다. - 22 -
< 그림 25-2> 커널업데이트 - YUM - 23 -
< 그림 25-3,4> 는 Fedora Core 6 를설치한 Host PC 의초기부팅화면이다. 여기에서아무키나눌러서 커널버전을선택한다. Fedora Core (2.6.22.4-45.fc6) < 그림 25-3> 초기부팅화면 < 그림 25-4> 커널버전선택 2.6.22.4-45.fc6-24 -
다음은 kernel RPM 패키지를다운받아커널업데이트를하는방법이다. < 그림 26> (1) 자신의 CPU 타입을확인한다. [root@localhost ~]# uname m ([root@localhost ~]# arch ) i686 (2) i686 용 kernel RPM 패키지를다운받는다. (kernel-2.6.22.7-57.fc6.i686.rpm) http://download.fedora.redhat.com/pub/fedora/linux/core/updates/6/i386/ [root@localhost ~]# rpm -ivh kernel-2.6.22.7-57.fc6.i686.rpm (3) kernel RPM 패키지설치가완료되면 Host PC 를재부팅한다. < 그림 26> RPM 패키지를직접다운받아서커널업데이트 - 25 -
< 그림 27-1,2> 는 Fedora Core 6 를설치한 Host PC 의초기부팅화면이다. 여기에서아무키나눌러서커널버전을선택한다. Fedora Core (2.6.22.7-57.fc6) < 그림 27-1> 초기부팅화면 < 그림 27-2> 커널버전선택 - 2.6.22.7-57.fc6-26 -
VI 편집기사용 임베디드개발환경을구축하기전에리눅스사용자라면꼭알아야할것이있다. vi 편집기라는것이다. 이것은리눅스에서지원하는문서편집기로써현재가장많이사용되고있는문서편집기중하나이다. 다음과같이명령어를입력한다. [root@localhost ~]# vi < 그림 28-1> vi 편집기실행화면 vi 편집기는크게 3가지모드 ( 명령어모드, EX명령모드, 입력모드 ) 로나뉘어진다. - 명령모드 : 커서의이동, 글의삭제 / 복사등의작업을담당한다. - Ex명령모드 : 검색, 파일저장등의작업을담당한다. - 입력모드 : 문자를입력할수있다. 모드의전환은 Esc 키로전환가능하다. Vi 편집기처음실행시에는명령모드의상태로존재하게된다. 여기서문자를집어넣고싶다면입력모드로전환시켜줘야한다. 방법은다음과같다. 초기화면에서 i 키를눌러준다. - 27 -
< 그림 28-2> vi 편집기실행화면 화면좌측하단에 -- INSERT - 라는문자가생기며, 이상태가입력모드상태이다. 여기서 글자를입력하면써지는것을볼수있다. 명령어모드상태에서는글자입력이불가능하다. 다시명령모드상태로전환하려면 Esc 키를누른다. < 그림 28-3> vi 편집기실행화면다시명령어모드로돌아가면좌측하단에있던글씨가사라지면글씨가입력이안된다. 하지만, 자판키를누르면다시입력상태로돌아갈수도있고이상한현상이발생한다. 이는명령어상태에서의명령어가따로존재하기때문이다. 한가지만간단하게살펴보겠다. 커서를 - 28 -
Hanback.co.kr 행의위치로이동하고 dd 를누르면행전체가삭제되며, yy 누르면복사가되고 pp 를누르면붙여넣기가된다. 한글자씩지우려면 Delete 키를이용하면된다. 마지막으로 Ex명령모드로전환하여문서를저장종료할수있다. Esc키를누른후명령어를다음과같이입력한다. ( 명령어입력 ) :wq HANBACK ( 입력한후 ) Enter 키 ( 를누른다.) 여기서 wq 의의미는저장하고종료하라는의미이며, HANBACK 은생성될파일명을나타낸다. Ex 명령모드의명령어로는 :w( 저장 ), :q( 종료 ), :q!( 강제종료 ) 등이있다. < 그림 28-4> vi 편집기실행화면 - 29 -
< 그림 28-5> vi 편집기실행화면 < 그림28-5> 와같이 HANBACK 이라는파일이생긴것을볼수있다. 지금까지기본적인 vi 편집기사용법에대해서설명하였다. 만약기존의파일을열고싶다면 vi 파일명 이런식으로입력하면된다. 자세한 vi 편집기명령어에대해서는 http://kldp.org, http://kelp.org 에서검색해보면찾아볼수있다. 임베디드개발을위한환경구축 < 그림 29> tftp, xinetd, sharutils 설치여부확인 < 그림 29> 에서와같이 tftp, xinetd, sharutils 의 rpm 패키지설치여부를확인한다. 이중설치 되어있지않은 rpm 패키지를다음과같이설치한다. - 30 -
xinetd 설치 ( 파일 : xinetd-2.3.14-8.i386.rpm) Fedora Core 6 시디를 CD-ROM에넣는다. 다음과같이시디를 /media/cdrom 에마운트하고 /media/cdrom/fedora/rpms/ 로이동한후 xinetd-2.3.14-8.i386.rpm 패키지를설치한다. [root@localhost ~]# rpm ivh xinetd-2.3.14-8.i386.rpm < 그림 30> xinetd 설치화면 tftp 설치 ( 파일 : tftp-server-0.42-3.1.i386.rpm) /media/cdrom/fedora/rpms/ 에서 tftp-server-0.42-3.1.i386.rpm 패키지를설치한다. [root@localhost ~]# rpm ivh tftp-server-0.42-3.1.i386.rpm < 그림 31> tftp-server 설치화면 tftp 설정파일을수정한다. [root@localhost ~]# vi /etc/xinetd.d/tftp - 31 -
< 그림 32> tftp 설정파일수정 disable =yes 이부분을 disable =no 로변경한후저장한다. xinetd 데몬을재실행한다. 명령어를다음과같이입력한다. [root@localhost ~]# service xinetd restart < 그림 33> tftp 데몬재실행및설정완료 - 32 -
sharutils 설치 ( 파일 :sharutils-4.6.1-2.i386.rpm) - uuencode/uudecode 명령을포함한유틸 /media/cdrom/fedora/rpms/ 에서 sharutils-4.6.1-2.i386.rpm 패키지를설치한다. [root@localhost ~]# rpm ivh sharutils-4.6.1-2.i386.rpm < 그림 34> sharutils 설치화면 minicom 환경설정 다음과같이명령어를입력하여 minicom 을설정을변경한다. [root@localhost ~]# minicom -s < 그림 35> minicom 설정화면 < 그림 35> 에서 Serial port setup 으로들어가면 < 그림 36> 과같은화면이나온다. - 33 -
< 그림 36> minicom 설정화면 2 A 항목 : /dev/ttys0, E 항목 : 115200 8N1, F,G 항목 : No 로변경 Save setup as dfl 선택하여저장한다. < 그림 37> minicom 설정화면 3-34 -
"Exit" 를선택하거나, 종료후다시접속할경우에는 minicom 명령어를입력하면된다. < 그림 38> minicom 설정완료화면 - 종료시에는 Ctrl+a 누른후 q 키를눌러종료시킨다. - 명령어도움말은 Ctrl-a 누른후 z 키를누른다. < 그림 39> minicom 도움말출력화면 - 35 -
NFS 설정 /etc/exports 파일을열어 < 그림 40> 과같은내용을추가한다. [root@localhost ~]# vi /etc/exports < 그림 40> NFS - /etc/exports 수정 /nfs_resource *(rw,sync,nohide) 공유폴더 타겟보드 ip 옵션설정 공유폴더와타겟보드 ip 주소사이에는 TAB 키를이용하여띄어야한다.. 호스트 PC 에공유할디렉토리를생성한다. [root@localhost ~]# mkdir /nfs_resource nfs 데몬을재실행한다. [root@localhost ~]# service nfs restart < 그림 41> NFS 공유폴더생성및데몬재실행 - 36 -
NFS 설정이완료되었다. 사용법은아래와같다. 명령어입력 : mount -t nfs 호스트ip주소 :/ 공유폴더마운트시킬폴더 Ex) 타겟보드에서명령어입력 [root@emposii root]$ mount -t nfs 192.168.123.100:/nfs_resource /mnt/nfs -o nolock,rsi ze=32768,wsize=32768,tcp gcc 컴파일러설치 (gcc-2.9.53) EMPOS II 보드의커널버전이 2.4.x 일경우 gcc 버전 2.9.x를사용하고, EMPOS II 보드의커널버전이 2.6.x 일경우 gcc 버전은 3.x.x 버전을사용한다. 여기서는 gcc 버전 2.9.x 설치를하겠다. precompiled-gcc2953.tar.gz는레드햇9에서컴파일한바이너리파일로, 압축해제와경로설정만으로바로컴파일러를사용할수있다. precompiled-gcc2953.tar.gz 파일은한백전자홈페이지-다운로드에서다운받아사용하면된다. EMPOS II 보드의커널버전확인 [root@emposii root]$ uname -r < 그림 42> EMPOSII 커널버전확인 - 37 -
precompiled-gcc2953.tar.gz 를 /usr/local/ 에서압축해제 < 그림 43> precompiled gcc 파일압축해제 환경설정파일에서 gcc2953/bin 폴더의 PATH 설정 [root@localhost ]# vi ~/.bash_profile 다음과같이 "PATH = /usr/local/gcc2953/bin:$path" 추가한다. < 그림 44>.bash_profile 수정 - 38 -
.bash_profile 에내용을추가한후적용시킨다. [root@localhost ]# source ~/.bash_profile gcc 버전을확인한다. [root@localhost ]# gcc -v < 그림 45> gcc 환경설정 - 39 -