임베디드 개발 환경 설치 


# Ubuntu 16

# ssh

# samba: PC ↔ Ubuntu 파일 공유(Virtual Box 공유 디렉토리를 이용한다면 생략)

# tftpboot: 타겟 보드에서 Kernel, Ramdisk, bootloader 이미지 다운로드

# nfs: 타겟보드 ↔ Ubuntu 파일 공유


1. 네트워크 설정

• 내부(Ubuntu Internet) 네트워크


• 호스트 전용(PC Ubuntu) 네트워크


• 외부(Ubuntu Target Board) 네트워크

필자는 Network Card 2개 사용하고 있어 이와 같이 설정하였음.

Network Card 1개일 경우 개발환경 설치가 끝난 후 어댑터 1를 브리지 어댑터로 설정하여 타겟보드와 연동한다.


$ ifconfig


2. 우분투 기본 설정


root 패스워드 변경

$ sudo passwd root



• 방화벽 설정

$ sudo ufw status

상태비활성

 

$ sudo ufw enable

방화벽이 활성상태이며 시스템 시작할 때 활성화 된다.


기본적인 룰을 적용.

전부 막기 sudo ufw default deny

전부 열기 sudo ufw default allow



3. 기본 패키지 설치

기본 패키지 설치

 

$ sudo apt-get update

$ sudo apt-get upgrade

$ sudo apt-get install gcc build-essential binutils libsdl-dev libncurses5 libncurses5-dev bin86 vim





vi 편집기 하이라이트 설정

$ sudo vi /etc/vim/vimrc

→ 맨 아래 입력해 준다. (ctag, cscope는 다음에 다루기로 함)

set nu

syntax on

set autoindent

set cindent

set smartindent

set tabstop=4

set shiftwidth=4

highlight Comment term=bold cterm=bold ctermfg=4

set tags=./tags

set csprg=/usr/bin/cscope

set csto=0

set cst

set nocsverb

if filereadable("./cscope.out")

    cs add cscope.out

else

    cs add ./cscope.out

endif

set csverb

set fileencodings=utf8,euc-kr



4. ssh 설치

$ sudo apt-get install ssh


 • ssh 방화벽 설정

$ sudo ufw allow 22/tcp


ssh 권한 설정 경로

권한 및 설정을 변경하려면 아래 경로에서 수정해 준다. 필자는 기본 값으로 사용.

$ sudo /etc/ssh/sshd_config


 • 명령어

서비스 재 시작

$ sudo /etc/init.d/ssh restart

$ sudo service ssh restart


5. samba 설치

• 설치

$ sudo apt-get install samba 


samba 유저 추가

$ sudo smbpasswd -a ubuntu

New SMB password:

Retype new SMB password:

 

• 계정 삭제 방법

$ smbpasswd -x 아이디


환경 설정

$ sudo vi /etc/samba/smb.conf

→ 아래 경로에서 주석을 제거하거나 내용을 추가해 준다.


[homes]

comment = Home Directories

browseable = no

valid users = %S

read only = no

 

[NFS]

comment = Test Linux Server

path = /NFS

read only = no

create mask = 775

directory mask = 775




• 디렉토리 설정

$ sudo mkdir /TNFS

$ sudo mkdir /TNFS/Proj

$ sudo mkdir /TNFS/tftpboot

$ sudo mkdir /TNFS/nfs

$ sudo chmod -R 775 /TNFS

$ sudo chown ubuntu:ubuntu /TNFS

$ sudo ln -s /TNFS/Proj /Proj

$ sudo ln -s /TNFS/nfs /nfs

$ sudo ln -s /TNFS/tftpboot /tftpboot

 

samba 방화벽설정

$ sudo ufw allow 139,445/tcp

$ sudo ufw allow 137,138/udp

 

samba 재 시작.

$ sudo service smbd restart

 

 

samba 접속

\\[IP]



6. tftp 설치

• 설치

$ sudo apt-get install tftpd-hpa tftp-hpa


tftp 디렉터리 생성

$ sudo mkdir -p /NFS/tftpboot


tftp 설정

$ sudo vi /etc/default/tftpd-hpa


TFTP_USERNAME="tftp"

 TFTP_DIRECTORY="/TNFS/tftpboot"

 TFTP_ADDRESS="0.0.0.0:69"

 TFTP_OPTIONS="--secure"



tftp 공유 디렉토리 설정

$ sudo chmod -R 775 /TNFS/tftpboot/

 

• 방화벽 설정

$ sudo ufw allow 69/tcp

$ sudo ufw allow 69/udp

 

• 서비스 재 시작

$ sudo service tftpd-hpa restart



7. nfs 설치

• 설치

$ sudo apt-get install nfs-kernel-server nfs-common portmap


 • tftp 디렉터리 생성

$ sudo mkdir -p /NFS/nfs

 

 nfs 설정

$ sudo vi /etc/exports


/TNFS/nfs *(rw,async,no_root_squash,no_subtree_check,insecure)



nfs 포트설정

$ sudo ufw allow 111,2049,4000,4001,4002,4003,4004/tcp

$ sudo ufw allow 111,2049,4000,4001,4002,4003,4004/udp

 

$ vi /etc/services


# nfs

status 4000/tcp

status 4000/udp

mountd 4002/tcp

mountd 4002/udp

rquotad 4003/tcp

rquotad 4003/udp



$ sudo vi /etc/default/nfs-kernel-server

→ 아래와 같이 주석 처리한 후 아래 내용으로 변경.

#RPCMOUNTDOPTS=--manage-gids

RPCMOUNTDOPTS="-p 4002 -g"


$ sudo vi /etc/modprobe.d/options


options lockd nlm_udpport=4001 nlm_tcpport=4001


• 서비스 재 시작 

$ sudo /etc/init.d/nfs-kernel-server restart

 

 • 타겟 보드에서 테스트

# ifconfig eth0 [같은 IP 대역으로 변경]

# mount -t nfs -o nolock,tcp [IP주소]:/TNFS/nfs /tmp


완료.

# Ubuntu 16

# Qt 4.7.4


qt 컴파일 에러가 발생하였음


qmake: could not exec '/usr/lib/x86_64-linux-gnu/qt4/bin/qmake': No such file or directory



해결 방법


sudo apt-get install qt4-qmake libqt4-dev







출처: http://www.debugpoint.com/2016/01/how-to-solve-qmake-error-qmake-no-such-file-or-directory/

# Virtual Box 5.1

# Ubuntu 16


공유 디렉토리 설정



• 게스트 확장 설치

이전 버전에서는 "장치 게스트 확장 CD 이미지 삽입"하여 설치 하였으나, 오류가 발생하였음. 



가상 광 디스크 C:\Program Files\Oracle\VirtualBox\VBoxGuestAdditions.iso을(를) 가상 머신 Ubuntu16_Env에 삽입할 수 없습니다.

Could not mount the media/drive 'C:\Program Files\Oracle\VirtualBox/VBoxGuestAdditions.iso' (VERR_PDM_MEDIA_LOCKED).

결과 코드: E_FAIL (0x80004005)

구성 요소: ConsoleWrap

인터페이스: IConsole {872da645-4a9b-1727-bee2-5585105b9eed}

호출자: IMachine {b2547866-a0a1-4391-8b86-6952d82efaa0}



• 해결방법

$ sudo apt-get install virtualbox-guest-additions-iso

$ sudo apt-get install virtualbox-guest-utils




$ sudo usermod -G vboxsf -a ubuntu

$ reboot


• 공유 디렉토리 경로

$ cd /media/sf_share



완료.


• Mount 명령어는 아래와 같다

$ sudo mount -t vboxsf share /mnt/share




출처 : https://askubuntu.com/questions/99003/error-in-installing-virtualbox-guest-additions-iso-file-mount

출처 : https://superuser.com/questions/745868/mount-failed-unknown-file-system-in-virtualbox-in-ubuntu-14-04-and-windows-7-a

+ Recent posts