Raspberry Pi Raspbian - WindyHana's Solanara

목차

개요

블록 다이어그램

위키피디아의 블록 다이어그램을 Raspberry Pi 3 Model B에 맞춰 수정했다. CPU/GPU 역할을 하는 SoC에 메모리가 연결되어있고 SoC의 I/O 포트에 GPIO 핀헤더와 무선 장치와 USB 장치가 있고, USB장치를 다시 USB 허브 및 이더넷 장치가 붙어있는 구조다.

Model B 비교

Model B라는 명칭은 라즈베리 파이 중에서도 성능과 기능이 향상된 모델을 칭한다. 2016년 6월 현재 출시된 모델을 기준으로 간단히 비교해 보았다.

구분 Raspberry Pi 3
Model B
Raspberry Pi 2
Model B
Raspberry Pi
Model B+
제품 Raspberry Pi 3 Model B Raspberry Pi 2 Model B Raspberry Pi Model B+
출시일 2016.02.29 2015.02.02
2016.3/4분기 3)
2014.07.14
Family BCM2710 BCM2709
BCM2710 3)
BCM2708
SoC BCM2837 BCM2836
BCM2837 3)
BCM2835
CPU Cortex A53 @ 1.2GHz, Quad-core Cortex A7 @ 900MHz, Quad-core
Cortex A53 @ 900MHz, Quad-core 3)
ARM1176JZF-S @ 700MHz, Single-core
아키텍처 ARMv8-A (64bit) ARMv7-A (32bit)
ARMv8-A (64bit) 3)
ARMv6 (32bit)
GPU VideoCore IV 400MHz1), 28.8 GFLOPS, 1080p60 VideoCore IV 250MHz, 24 GFLOPS, 1080p30 VideoCore IV 250MHz, 24 GFLOPS, 1080p30
L2 Cache 512KB 256KB
512KB 3)
128KB
RAM 1GB LPDDR2 SDRAM 900MHz (Elpida EDB8132B4PB-8D-F) 1GB LPDDR2 SDRAM 900MHz (Elpida EDB8132B4PB-8D-F) 512MB LPDDR 400MHz (Samsung K4P4G324EQ)
LAN/USB 10/100, 4 x USB 2.0 (LAN9514-JZX) 10/100, 4 x USB 2.0 (LAN9514-JZX) 10/100, 4 x USB 2.0 (LAN9514-JZX)
WLAN 802.11n, Bluetooth 4.1, BLE (BCM43438) - -
GPIO 40 40 40
PWR 2) 2.0W 1.6W 1.6W
권장 PWR4) 12.5W 9.0W 9.0W
1) 비디오 코어 동작 속도는 400MHz (Video), 350MHz (3D)이다.
2) 라즈베리 파이 보드 자체의 전력 소비 수치다. WHAT ARE THE POWER REQUIREMENTS?를 참조했다.
3) 2016년 3/4분기에 BCM2837을 사용한 Raspberry Pi 2 Model B V1.2가 발매되었다. 이 버전의 라즈베리파이는 2016.09.23 이후에 배포된 Raspbian 을 사용해야 한다. (그 이전 버전은 오작동한다) 리비전 코드는 a22042으로 cat /proc/cpuinfo명령어로 확인해볼 수 있다.
4) 권장하는 PWR의 수치다. WHAT ARE THE POWER REQUIREMENTS?를 참조했다.

라즈비안 설치

라즈비안 설치 및 부팅

배포판 업그레이드

만약 라즈비안 wheezy 배포판을 jessie 배포판으로 업그레이드할 때는 아래와 같이 사용한다.
pi@raspberrypi:~ $ sudo vi /etc/apt/sources.list
deb http://mirrordirector.raspbian.org/raspbian/ jessie main contrib non-free rpi
pi@raspberrypi:~ $ sudo vi /etc/apt/sources.list.d/raspi.list
deb http://archive.raspberrypi.org/debian jessie main ui
pi@raspberrypi:~ $ sudo mkdir /home/pi/.config/autostart
pi@raspberrypi:~ $ sudo apt-get update
pi@raspberrypi:~ $ sudo apt-get dist-upgrade
Coffee Break!
pi@raspberrypi:~ $ sudo reboot

라즈비안 기본 설정

네트워크 설정

라즈비안이 부팅 된 이후 가장 먼저해야할 설정은 네트워크 설정이다.

기타 설정

사용

LXDE

Shortcuts

Firefox

omxplayer

Web

AMP를 설치한 후, WordPress를 실행하는 방법에 대해 설명한다. Build a LAMP Web Server with WordPress를 참고했다.

Apache-MySQL-PHP

Wordpress

WAP

인터넷 공유
이 문서에서는 인터넷 공유에 대해 설명하는 것이 아니다. Wifi 장치를 AP로 만드는것에 중점을 둔다. 인터넷 공유를 하려면 별도의 설정이 더 필요하다.

무선 출력이 낮음
Wifi AP에 달려있는 안테나와는 달리 Wifi Adapter의 안테나는 출력이 매우 낮기 때문에, Wifi Adapter 에서 조금만 멀어져도 Wifi 신호 세기가 떨어지며, 이떄문에 인터넷이 제대로 되지 않는다. 임시적으로는 쓸만하다고 생각한다.

브릿지 모드

NIC 인터페이스를 브릿지 모드로 변경하면 성능상의 이점이 있다. 브릿지 모드로 변경하려면 아래와 같이 작업하자.

인터페이스 변경 주의
설정 도중 실수하면 라즈비안의 네트워크가 작동하지 않을 수 있다. 따라서 라즈베리 파이에 키보드와 마우스를 연결해 콘솔에서 작업할 것을 권한다.

브릿지 모드 사용시 주의 사항
브릿지 모드를 사용하기 때문에 NIC 인터페이스에 설정된 IP로 더이상 접속되질 않으며, 반드시 브릿지 인터페이스에 설정된 IP로 접속해야 한다. 또한 반드시 브릿지 인터페이스에서 사용하는 NIC 인터페이스의 IP할당을 해제해야 한다.
pi@raspberrypi:~ $ sudo apt-get install bridge-utils
pi@raspberrypi:~ $ sudo vi /etc/network/interfaces
...
iface wlan0 inet manual
#    wpa-conf /etc/wpa_supplicant/wpa_supplicant.conf 1)

auto br0
iface br0 inet manual
bridge_ports eth0 wlan0

pi@raspberrypi:~ $ sudo vi /etc/dhcpcd.conf
interface br0
       static ip_address=192.168.0.8/24
       static routers=192.168.0.2
       static domain_name_servers=192.168.0.2
# wlan0, eth0 설정은 반드시 주석처리 1)
pi@raspberrypi:~ $ sudo systemctl daemon-reload
pi@raspberrypi:~ $ sudo service networking restart
1) wlan0, eth0 에 IP가 할당되거나 AP에 접속해서는 안된다.

설정이 잘 되었다면 아래와 같이 나올 것이다.

pi@raspberrypi:~ $ ip link 1)
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT group default
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast master br0 state UP mode DEFAULT group default qlen 1000
    link/ether b8:27:eb:00:00:00 brd ff:ff:ff:ff:ff:ff
3: wlan0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq master br0 state UP mode DEFAULT group default qlen 1000
    link/ether 90:9f:33:00:00:00 brd ff:ff:ff:ff:ff:ff
4: br0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP mode DEFAULT group default
    link/ether 90:9f:33:00:00:00 brd ff:ff:ff:ff:ff:ff
pi@raspberrypi:~ $ brctl show
bridge name     bridge id               STP enabled     interfaces
br0             8000.909f33000000       no              eth0
                                                        wlan0
pi@raspberrypi:~ $ bridge link 1)
2: eth0 state UP : <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 master br0 state forwarding priority 32 cost 19
3: wlan0 state UP : <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 master br0 state forwarding priority 32 cost 100
1) 이 화면은 하단의 hostapd 를 설정한 후의 화면이다. wlan0은 하단의 hostapd 를 설정하기 전까지는 브릿지가 설정되지 않는다. DISABLE되어있기 때문이다.

DHCP 서버

pi@raspberrypi:~ $ sudo apt-get install isc-dhcp-server
pi@raspberrypi:~ $ sudo vi /etc/dhcp/dhcpd.conf 1)
#authoritative;
subnet 192.168.0.0 netmask 255.255.255.0 {
	range 192.168.0.101 192.168.0.110;
	option broadcast-address 192.168.0.255;
	option routers 192.168.0.1;
	default-lease-time 600;
	max-lease-time 7200;
#	option domain-name "solanara.net";
	option domain-name-servers 8.8.8.8;
}
pi@raspberrypi:~ $ sudo vi /etc/default/isc-dhcp-server 2)
INTERFACES="br0"
pi@raspberrypi:~ $ sudo service isc-dhcp-server start
1) routers 에는 기본 라우터 주소를 적어준다. 만약 IP Masquerade를 사용한다면, 라우터 주소가 라즈비안의 IP가 된다.
2) DHCP가 작동할 인터페이스를 명시한다. 브릿지 모드를 사용하기 때문에 br0인터페이스로 표시했다. 브릿지 인터페이스를 사용하지 않는다면 wlan0 와 같이 NIC드라이버를 명시해야 한다.

DNS 서버

DNS 서버가 내부에 있으면 인터넷 접속 속도가 더 빨라진다.

pi@raspberrypi:~ $ sudo apt-get install dnsutils bind9 -y
패키지가 설치 되었으면 이미 로컬 DNS 조회 설정은 되어있기 때문에, DNS 서버에 라즈비안의 IP를 지정해 사용하면 된다. nslookup(1)을 사용해 로컬 DNS 서버를 테스트해보자.
pi@raspberrypi:~ $ nslookup - 127.0.0.1
> www.solanara.net
Server:         127.0.0.1
Address:        127.0.0.1#53

Non-authoritative answer:
www.solanara.net        canonical name = maid.solanara.net.
Name:   maid.solanara.net
Address: 211.204.126.106
> exit
DHCP 설정에서 도메인 서버를 라즈비안의 도메인 서버를 사용하도록 세팅한다. 다른 어플에서도 도메인 서버에 라즈비안의 IP를 설정해서 사용할 수 있다.
pi@raspberrypi:~ $ sudo vi /etc/dhcp/dhcpd.conf
...
	option domain-name-servers 서버IP;
...
BIND 에 대한 더 자세한 설정은 윈디하나의 솔라나라: DNS, BIND (작성중)를 읽어보자.

DNSMASQ 서버

DNSMASQ는 DNS서버와 DHCP 를 하나로 합쳐놓은 서버로 생각하면 된다. 세세한 설정은 불가능하지만 반대로 간편하게 설정해 사용할 수 있다.

DHCP, DNS 전문가가 아닌 이상 DNSMASQ 서버만으로도 사용하는데에는 문제 없을 것이다.

pi@raspberrypi:~ $ sudo apt-get install dnsmasq
pi@raspberrypi:~ $ sudo vi /etc/dnsmasq.conf
interface=wlan0
bind-interfaces
server=8.8.8.8
domain-needed
bogus-priv
dhcp-range=192.168.0.101,192.168.0.110,2h
pi@raspberrypi:~ $ sudo service dnsmasq start 

hostapd 서버

NAS

Home Theater

마치며

사용자 노트

사용자 노트는 사용자의 제안이나 문서의 정확도 향상을 위해 개발되었습니다. 본문과 관련된 대한 질문/의견등을 노트에 남겨주시면 이 페이지에 방문하는 다른 사용자에게 도움이 될 것입니다. 사용자 노트는 서술한 내용이 반영되거나, 코멘트 내용이 본문과 관련 없는 경우 '삭제'됩니다.
등록된 노트가 없습니다

노트 쓰기
RSS ATOM XHTML 1.0 CSS3