프로그래밍n학습자료(2018~)/라즈베리파이

[Raspberry Pi] 2. 라즈베리파이3 나스만들기 - OS(Raspbian) 설치/설정

단세포소년 2018. 5. 24. 16:30
반응형

OS 설치(Raspbian)

BerryBoot 통한 설치

멀티부팅 환경과 OS 설치를 편하게(네트워크를 통해하기 위한 bootloader이다.

BerryBoot  설치하는 것은 너무나 간단하다.

 

 

NOOBS보다 BerryBoot 추천하는 이유는 NOOBS 멀티 운영체제에 대해 파티션으로 관리하고 BerryBoot 파일시스템으로 관리한다. NOOBS 한쪽 운영체제에서 용량이 부족해지면 파티션 용량을 변경해주어야 하는 번거로움이 있지만 BerryBoot 설치된  운영체제가 파티션이 아닌 일반 파일시스템의 폴더로 구분되기 때문에 용량에 대해 별다른 신경을 쓰지 않아도 된다.

 

 

 

참고

http://www.berryterminal.com/doku.php/berryboot : BerryBoot

 

  1. BerryBoot 사이트(http://www.berryterminal.com/doku.php/berryboot )에서BerryBoot 다운 받는다.
  2. 다운받은 파일을 압축해제한다.
  3. SD Card 포맷한다이미 SD Card 활용했었다면 SD formatter 이용하여 깔끔히 지운다.
    https://www.sdcard.org/downloads/formatter_4/ : sdformatter 다운로드
  4. FAT  포맷한 SD Card  압축해제  생성된 파일들을 복사한다.
  5. 라즈베리파이에 랜케이블을 연결한다.(Wifi  것이라면 연결안해도 된다.)
    1. OS설치를 인터넷을 통해 다운받아 설치하기 위해서이다.
  6. SD Card 라즈베리파이에 연결하고 부팅한다.
  7. Ubuntu Mate 설치한다.( 다른 것도 설치된다.)
    Kodi
    설치  실행  Failed get gamma메세지와 세그먼트 오류가 발생한다.
  8. Raspbian  설치한다.

 

 

 

 

라즈베리파이를 부팅하면


 

네트워크가 연결되어 있다면 Location  Timezone IP 주소를 기반으로 자동으로 설정된다.

 


OS 설치  디스크를 선택하면 된다.(여기서는 mmcblk0 이다)

순서적으로

  • mmcblk0 : SD Card 자신
  • sda : 외부장치인 USB stick/disk  말한다.(SSD 있으면 이걸로도 가능하다.)

필자는 SD Card 성능이 너무 떨어져서 남아돌고 있는 64기가 SSD 사용했다.

  • Networked storage(iSCSI SAN) : 네트워크 스토리지(네트워크 블록디바이스) 말한다요즘 피씨방에서 많이 사용하는 방식이다.

 

 


설치할 OS 선택한다.

 



 


 

Ubuntu mate 설치했다가 지우고 Raspbian  설치했다.

Ubuntu mate 경우 kodi 설치  실행에 문제가 발생했다또한 kodi 17.1(최신 버전) 지원하지 않았다. Ubuntu 계열을 좋아하지만 비슷한 Debian계열인 Raspbian으로 만족했다.

 

Raspbian 설치시 초기 사용자와 비밀번호는

사용자 : pi

비밀번호 : respberry

이다.

 

 

OS 설정

Nas 구축 전에 OS 설정할 것이다.

 

nas  사용자와 그룹을 만들고 이를 nas 접속 유저로 관리할 것이다.

 

기본적으로 생성되어 있는 pi  계정은 root 대리하는 계정으로 외부에서 쓰기 불안하기 때문이다.

 

 

 

raspi-config  이용한 기본설정 하기

아래의 명령을 실행하면 기본적인 설정을 간단히 진행할  잇다.

$ sudo raspi-config

 


 

  1. Expand Filesystem : SD 카드의 전체용량을 사용할  있게 .
  2. Change User Password : "pi" 계정의 비밀번호를 변경
  3. Enable Boot To Desktop/Scratch : 부팅시 Console 환경 혹은Desktop(GUI) 환경 혹은 Scratch(스크래치 프로그래밍환경으로 시작방법을 설정
  4. Internationalisation Options : Locale(언어문자 인코딩), 키보드 Timezone 국제화 관련 설정
  5. Enable Camera : Raspberry Pi 전용 카메라를 사용할  있도록 
  6. Add to Rastrack : rastrack 서버에 Raspberry Pi 등록하는 것이다가상의 렉이라고 생각하면 된다. rastrack 등록된 모든 Raspberry Pi 현황과 위치등을 확인할  있음. (http://rastrack.co.uk/ : rastrack 사이트)
  7. Over Clock : 700MHz 이상의 CPU Clock 으로 변경할  있음.(오버클럭시 cpu  발생과 수명 단축을 조심하자가급적 초기 설정 상태로 사용하는 것이 좋다.)
  8. Advanced Options : Hostname 변경, SSH on/off, SPI on/off, Audio HDMI/3.5mm jack  설정.
    1. Overscan : 고해상도 모니터에 라즈베리 파이의 화면을 출력할 경우 화면이 모니터에 맞지 않게 표시되거나 텍스트가 화면의 측면으로 몰려서 표시되는 현상이 나타날  잇다그러한 경우 화면에 맞게 디스플레이를 수정하려면  옵션을 사용하자.
    2. Hostname : 호스트 이름을 변경한다.
    3. Memory Split : CPU GPU 분배하는 메모리 양을 변경할  있다그래픽 작업을 많이 하는 경우에는 GPU 많은 메모리를 할당하는 편이 좋다.
    4. SSH : 보안 (SSH) 서버를 활성화시키고 사용자가 네트워크를 통해 원격으로 라즈베리 파이에 로그인   있게 하는 옵션이다편리한 기능으로 활성화하자.
    5. Device Tree : 하드웨어 정보를 기술하는 일종의 데이터 구조이다.
    6. SPI : 시리얼 주변 장치 인터페이스(SPI) 활성 여부를 설정한다.
    7. I2C : 직렬 버스의 하나인 I2C(Inter-Integrated Circuit) 활성화 여부를 설정한다.
    8. Serial : 시리얼 핀을 통해 쉘에 로그인하고 메시지를 송수신하는 기능이다.
    9. Audio : 오디오 출력 단자를 설정한다. 3.5mm 오디오 잭이나 HDMI 출력을 강제할  있으며 자동모드도 가능하다.
    10. Update : 인터넷이 ㅇ녀결되어 있다면 설정 유틸리티를 업데이트   있다.
  9. About raspi-config : 해당 툴의 안내문

 

 

 

 

 

 

 

PI 계정 비밀번호 변경하기

기본설정에는 pi 비밀번호가 raspberry이다.

기본 비밀번호를 쓰는 것은 보안상 좋지 않다비밀번호를 바꾸자.

 

$ sudo passwd pi

명령후 새로운 비밀번호를 입력하면 된다.

 

. id:pi, password:pi

테스트에서는 id: pi, password: pi 하였다.

 

 

 

 

나스용 아이디/그룹 만들기

pi 사용자는 sudo 그룹에 포함되어있다 관리자의 권한을 위임 받아 행동할  있다따라서 로컬이나 관리용으로만 쓰는게 적당하다.

 

따라서 나스용 아이디를 만들자.

 

nas  사용자/그룹을 만들것이다. ( 자신이 원하는 이름으로 하자. )

 

사용자/그룹 만들기

$ sudo useradd nas -m -s /bin/bash

-m :  디렉토리가 생성된다.

-s /bin/bash : bash쉘로  환경이 설정된다.

 

 

사용자/그룹 정보 확인

$ cat /etc/passwd | grep nas

nas:x:500:500::/home/nas:/bin/bash

저기 번호(. 500) 기억하자외장하드 마운트시 소유자와 소유그룹을 저걸로 만들 것이다. (보통 많이 쓰는 NTFS, FAT 계정에 따른 권한이 따로 없다따라서 리눅스에 마운트시 소유자와 소유그룹을 지정할  있다.)

 

 

패스워드 지정

$ sudo passwd nas

Enter new UNIX password:

Retype new UNIX password:

passwd: password updated successfully

 

 

 

 

계정관리

추가적으로 계정을 관리하는 법이다.

 

비밀번호 변경하기

 

다른 계정의 비밀번호를 변경하고 싶다면 root 권한이 필요하다.

$ sudo passwd {target_username}

{target_username} : 비밀번호를 바꿀 사용자 아이디

 

 

 

 

계정 아이디 변경하기(선택사항추천하지 않는다.)

기본으로 pi 계정이 자동으로 등록되어 있고 자동 로그인이 설정 되어 있다.

pi란 이름을 다른 이름으로 바꾸고 비밀번호도 등록할 것이다.

 

명령 형식

$ sudo usermod -md /home/{new_name} -l {new_name} {old_name}

유저의 이름과 홈폴더의 이름을 바꾼다.

 

예를 들어 pi test 바꾼다면

$ sudo usermod -md /home/test -l test pi

 

실제는  명령시 아래와 같은 에러가 발생할 것이다.

$ sudo usermod -md /home/test -l test pi
usermod: user pi is currently used by process 2104

pi  현재 shell 실행중이라 usermod 명령을 수행할  없다는 것이다.

 

 

기본 설치시 Xwindow  실행중인 상태이다이때는 우선 현재계정(pi) Logout 하고 Ctrl+Alt+F2  terminal session 변경  아래의 명령을 실행해야한다.

 

$ exec sudo -s
$ cd /
$ sudo usermod -md /home/test -l test pi

이때는 exec 명령을 통해 pi shell 종료하고 root shell 실행하여 usermod 명령을 실행한 것이다.

 

 

 

그룹 이름도 변경할 것이다.

명령 형식

$ sudo groupmod -n {new_name} {old_name}

 

예를 들어 pi test 바꾼다면:

$ sudo groupmod -n test pi

 

 

 

 

 

 

 

자동 로그인 끄기(선택사항)

Raspbian 설치  pi 계정이 자동 로그인으로 설정되어 있다.

 

pi란 계정의 자동 로그인을 끄는 방법이다.(pi 다른 이름으로 바꾸었다면 해줘야 한다.)

혹은 자동 로그인 기능이 좋다면 pi계정 대신 위에서 변경한 이름으로 자동로그인 설정을 변경해야한다.

 

/etc/lightdm/lightdm.conf 파일에 자동 로그인 설정이 되어 있다.

$ sudo vi /etc/lightdm/lightdm.conf
...
#autologin-user=pi
...

"autologin-user=pi"  주석 처리하거나 삭제하면 자동로그인이 되지 않는다.

 

만약 변경한 이름으로 자동로그인 설정하고 싶다면 pi 대신 변경한 이름으로 설정하면 된다

$ sudo vi /etc/lightdm/lightdm.conf
autologin-user=test

 

 

 

 

 

 

부팅 Runlevel(GUI<->CLI )변경 (선택사항)

기본 raspbian  설치하면 부팅시 desktop 환경(GUI)으로 실행된다.

 

이를 부팅시 CLI(terminal)  실행되게 하려면

$ sudo update-rc.d lightdm disable 2

 

반대로 부팅시 GUI 으로 실행되게 하려면

$ sudo update-rc.d lightdm  enable 2

 

 

 

 

 

언어 변경

방법1. dpkg-reconfigure 사용한 방법.

$ sudo dpkg-reconfigure locales

 


여기서 추가할 언어를 선택한다.

 

 


 화면에서 기본 언어로  언어를 선택한다.

 

한국의 경우 ko_KR.UTF-8 UTF-8 혹은 ko_KR.EUC-KR EUC-KR 선택한다.

 

글쓴이는 ko_KR.UTF-8 UTF-8  선호한다.

 

 

 

 

 

방법2. raspi-config  언어 설정

raspi-config  raspbian 설정을 UI 간편하게   있게 도움을 주는 유틸이다.

$ sudo raspi-config

 

Internationalisation Options -> Change Locale

 

 


 

command line 으로 설정하기 힘든 분이나 간단한 설정은 이곳에서 하면 편하다.

 

 

 

 

 

 

 

Timezone 변경

timezone Asia->Seoul  바꾼다.

 

방법1. 수동 변경

타임존 변경 명령

$ sudo ln -sf /usr/share/zoneinfo/Asia/Seoul /etc/localtime

타임존 변경 확인

$ date

Mon Dec 28 17:37:23 KST 2015

다른 타임존 확인

아래의 위래에 다른 타임존 들이 있다.

ls /usr/share/zoneinfo

 

방법2. tzselect 통한 변경

tzselect 명령을 통해 쉽게 변경 가능하다.

shh@shh-dev:/$ sudo tzselect

Please identify a location so that time zone rules can be set correctly.

Please select a continent, ocean, "coord", or "TZ".

 1) Africa

 2) Americas

 3) Antarctica

 4) Asia

 5) Atlantic Ocean

 6) Australia

 7) Europe

 8) Indian Ocean

 9) Pacific Ocean

10) coord - I want to use geographical coordinates.

11) TZ - I want to specify the time zone using the Posix TZ format.

#? 4

Please select a country whose clocks agree with yours.

 1) Afghanistan           18) Israel                35) Palestine

 2) Armenia               19) Japan                 36) Philippines

 3) Azerbaijan            20) Jordan                37) Qatar

 4) Bahrain               21) Kazakhstan            38) Russia

 5) Bangladesh            22) Korea (North)         39) Saudi Arabia

 6) Bhutan                23) Korea (South)         40) Singapore

 7) Brunei                24) Kuwait                41) Sri Lanka

 8) Cambodia              25) Kyrgyzstan            42) Syria

 9) China                 26) Laos                  43) Taiwan

10) Cyprus                27) Lebanon               44) Tajikistan

11) East Timor            28) Macau                 45) Thailand

12) Georgia               29) Malaysia              46) Turkmenistan

13) Hong Kong             30) Mongolia              47) United Arab Emirates

14) India                 31) Myanmar (Burma)       48) Uzbekistan

15) Indonesia             32) Nepal                 49) Vietnam

16) Iran                  33) Oman                  50) Yemen

17) Iraq                  34) Pakistan

#? 23

 

The following information has been given:

 

        Korea (South)

 

Therefore TZ='Asia/Seoul' will be used.

Local time is now:      2017. 11. 10. () 13:57:27 KST.

Universal Time is now:  2017. 11. 10. () 04:57:27 UTC.

Is the above information OK?

1) Yes

2) No

#? 1

 

You can make this change permanent for yourself by appending the line

        TZ='Asia/Seoul'; export TZ

to the file '.profile' in your home directory; then log out and log in again.

 

Here is that TZ value again, this time on standard output so that you

can use the /usr/bin/tzselect command in shell scripts:

Asia/Seoul

shh@shh-dev:/$ date

2017. 11. 10. () 13:57:32 KST

 

 

 

방법3. dpkg-reconfigure  통한 변경

gui 통해 아주 쉽게 변경 가능하다.

$ sudo dpkg-reconfigure tzdata


 

 

Asia->Seoul 선택

 

 

 

 

 

 

전력 관련 설정

외장하드는 전력을 많이 소비하기 때문에 더욱 안정적으로 외장하드를 사용하려면 라즈베리파이의 전력관련 옵션을 확인하고 변경해 주는 것이 필요하다다음의 파일을 열어 옵션을 확인하고 내용이 없으면 맨 윗줄에 아래의 내용을 추가해주고 재부팅 해 준다.

sudo vi /boot/config.txt

 

위의 파일을 열어 다음의 내용을 추가해준다추가해주면 라즈베리파이의 허용전류를 2A까지 늘려준다고 한다.

max_usb_current=2

 

safe_mode_gpio=4

 

 

그후 리부팅

$ sudo reboot

 

 

반응형