라즈베리파이 부팅, 무선랜 설정

|

일단 준비물을 다 구비했으면 다음 단계로 넘어간다.

이미지를 구해야겠지? 라즈베리파이에 올릴 이미지는 쉽게 구할 수 있다.


참고 사이트 : https://www.raspberrypi.org/downloads/ (라즈베리파이 공식 사이트고 공식 이미지들이다.)

참고 사이트 : http://www.mcthe.com/xe/?mid=freetalk&document_srl=60461&order_type=asc&listStyle=viewer&page=10 (간단한 설명. 참고해보자.)


일반적으로 라즈비안(raspbian)과 파이도라(pidora)가 있고, 이름에서도 알 수 있듯이 라즈비안은 데비안 계열이고, 파이도라는 페도라 계열이라고 한다.

용도에 따라 배포하는 이미지들도 있다. 이를테면 nat 서버를 만들기 위해 OpenMediaVault 라는 운영체제(라고 하기에는 좀 무리가 있는 데비안 계열 배포본)를 쓰는 경우도 있고, 이런 이미지들은 각자 알아서 배포하는 것들도 있다. (아직까진 파이용 OMV는 안정성이 떨어진다는 보고가 있다. samba는 쉽게 올라가는듯 하니 이정도만 해서 nas 비스무리하게 써도 좋을듯 하다.)


그러니까 원하는 이미지를 찾아서 깔도록 하자.


참고 사이트 : https://www.raspberrypi.org/documentation/installation/installing-images/README.md (공식 사이트의 이미지 까는 방법 ver Windows다. 물론 리눅스 계열이면 dd로 덤프할거지만)


위 이미지 인스톨 방법에 따르면 Win32DiskImager라는 놈을 쓰라고 한다. 하지만 여러 가이드들에서 일단 SD 카드를 포멧하기를 권장한다. (어차피 덤프로 밀어버리는데 무슨 상관이야! 한다면 쓰지 않아도 된다. 뭐 나도 그렇게는 생각하니까.) 그래서 두개의 유틸리티가 필요하다.


참고 사이트 : http://sourceforge.net/projects/win32diskimager/ (WIn32DiskImager. 이미지를 SD 카드에 쓴다.)

참고 사이트 : https://www.sdcard.org/downloads/formatter_4/eula_windows/index.html (SDFormatter. SD 카드를 포멧한다. 무려 sdcard.org 라는데서 배포한다. 신뢰성 급상승 중이다;)


그래서 SDFormatter로 QUICK FORMAT, FORMAT SIZE ADJUSTMENT ON 옵션으로 SD카드를 먼저 밀어주고, Win32DiskImager로 구한 라즈베리파이 부팅 이미지를 SD 카드에 심어준다. 끝난 다음에 보면 SD 카드 용량이 줄어 있는데(무척이나!) 이건 나머지 파티션들이 linux EXT 파일 시스템으로 설정되어 보이지 않아 그렇다.


여기까지 했으면 일단 부팅 준비는 다 된 것.


개인적으로 이 단계에서 무지 헤맸는데, 결론부터 말하면 디스플레이 연결 부실이였다. (뭐가 꽉 연결이 안된듯?) 그러니 케이블은 다시 한번 확인해보자.

참고 사이트 : http://bjun119.tistory.com/54 (USB 전원을 꽂음과 동시에 부팅이 되고, 디스플레이 연결이 정상적일때 2초 이내에 이 사이트의 두번째 이미지가 떠야 한다.)

또, 이전 포스트에서 설명했듯이 상황이 같은데도 부팅이 되고 안되고 하는 경우가 있었다. (하루 지난 현 시점에서도 그렇다. USB 디바이스들 init 이후 emmc 어쩌구 하면서 오류가 나는데, sd 카드에서 부팅 영역을 읽어오지 못하는 거다. sd 카드를 다시 잘 꽂아주면 정상화 된다. 그런데 이게 sd 카드가 궁합이 안맞아서 그런걸까? 아닌듯 하지만 왠지 찜찜하다 이놈;)


어쨌든 부팅하고 나면 이제 네트워크를 설정할 차례다. 이것을 설명한 예제는 많은데, 


참고 사이트 : https://pklazy.wordpress.com/2013/02/23/%EB%9D%BC%EC%A6%88%EB%B2%A0%EB%A6%AC%ED%8C%8C%EC%9D%B4-n100mini-%EC%84%A4%EC%A0%95/ (기본적으로 이 글이 가장 설명이 충실하다 싶다)


하지만 연결이 되지 않았고, 내가 붙고자 하는 AP가 WPA2 인증을 쓰고 있는걸 발견하게 된다. 그래서 WPA2-PSK 인증에서 라즈베리파이 설정을 찾다보니,


참고 사이트 : https://coderwall.com/p/v290ta/raspberry-pi-wifi-setup-with-wpa2-psk-aes (해외 사이트지만 wpa_supplicant.conf 설정만 참고하면 되겠다)


그래도 여전히 되지 않는다. 혹시나 해서 수동으로 IP를 넣어보니 잘 동작해서 dhcp 문제라고 생각해서 찾아봤는데 결론적으로 해결을 하지 못하고. (이 AP가 정상적인 놈은 아니라 dhcp가 오동작할 우려도 있었음)

결국 고정 IP를 박아넣는 것으로 결정하게 되는데. (...)


참고 사이트 : http://jonghyunkim816.blogspot.kr/2014/09/wifi-static-ip.html (뭐 이런 식으로 하면 된다. wpa_supplicant.conf의 network에 있는 항목들의 앞에 wpa- 를 붙여서 _는 -로 대체하고 /etc/network/interfaces에 넣으면 된다. 쉽다.)


그런데 wpa_supplicant.conf 라는 설정은 걔네들 중에 한놈에 붙어보라는 설정이잖아? 대상 AP가 둘이 있고, 한놈은 고정 한놈은 DHCP를 쓸 수도 있는거 아냐? 그런 경우에 라즈베리파이는 지원을 안하나? 그렇게 멍청해?


아니다.


참고 사이트 : http://www.bot-thoughts.com/2013/01/raspberry-pi-wifi-static-ip.html (이렇게 넣으면 된다.)

참고 사이트 : https://forum.openwrt.org/viewtopic.php?id=25816 (여기 중간의 예제처럼 network 항목은 중복으로 들어갈 수 있도록 되어 있다.)


wpa_supplicant.conf는 wpa 공급자들의 명세를 나타내는 것으로, network = 항목은 중복으로 들어갈 수 있도록 되어 있다. 그 항목 내부에 id_str이라는 항목을 추가해서 id를 넣으면 해당 id를 interfaces 설정 파일에서 고정이던 dhcp던 바꿔주면 된다는거다.


요약하면,


1) /etc/wpa_supplicant/wpa_supplicant.conf 파일에 아래 내용을 추가한다. (키 값이나 sid값 같은건 적당히 수정한다.)


network={
  ssid="your-ssid-here"
  scan_ssid=0
  psk="your-pre-shared-key-here"
  proto=RSN
  key_mgmt=WPA-PSK
  pairwise=CCMP
  auth_alg=OPEN
  priority=1
  id_str="demo"
}


2) 비밀번호를 암호화해서 넣고 싶다면, 아래와 같이 한다.


wpa_passphrase "your-ssid" "your-password" > ~/passphrase

이후 /etc/wpa_supplicant/wpa_supplicant.conf 파일을 vi로 열고 아래와 같이 입력한다.

: r ~/passphrase

(다르게 하는 방법도 있을것 같은데..!)


3) /etc/network/interfaces 파일을 수정한다. (아래에서 +된 줄 형식으로 추가해주면 되며, 고정 IP를 쓰지 않을거면 수정하지 않아도 된다.)


 auto lo
 iface lo inet loopback

 iface eth0 inet dhcp

 allow-hotplug wlan0
 iface wlan0 inet manual
 wpa-roam /etc/wpa_supplicant/wpa_supplicant.conf

+iface demo inet static
+    address 192.168.159.139
+    netmask 255.255.255.0
+    gateway 192.168.159.1

 iface default inet dhcp


일단 네트워크는 확인했으니 오늘은 끗.


And