티스토리 뷰
라즈베리파이에 무선랜 USB를 꽂고, (무선랜이 지원되는 버전3의 경우에도 비슷하리라 생각되는데) 이동하면서 작업할 때, 무선랜 접속 설정을 변경해야 할 일이 생긴다. 무선랜에 접속하는 정보는 /etc/wpa_supplicant/wpa_supplicant.conf 파일에 저장되며, 여기에 알려진 무선랜 접속 정보를 기록해두는데, 대략의 설정은 다음과 같다.
ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev update_config=1 network={ ssid="lorthlorien" psk="xxxxxxxxx" key_mgmt=WPA-PSK } network={ ssid="TOMNTOMS" psk="toms5123" key_mgmt=WPA-PSK }
저 network 항목하나만 추가하면 될 일인데, micro sd card를 빼어 수정하면 될 일이지만, adapter가 없거나, 노트북에서 읽을 수 없는 파티션으로 만들어졌다면, 라즈베리파이 화면이 보이지 않기 때문에 손 쓸 수 있는 방법이 쉽지 않다.
다음과 같은 방법으로 해결한다. 안전한 곳에서 연결되었을 때 미리 해두어야한다.
/etc/rc.local 에 /etc/rc.hojin 을 실행하도록 한다.
#!/bin/sh -e # # rc.local # # This script is executed at the end of each multiuser runlevel. # Make sure that the script will "exit 0" on success or any other # value on error. # # In order to enable or disable this script just change the execution # bits. # # By default this script does nothing. # Print the IP address _IP=$(hostname -I) || true if [ "$_IP" ]; then printf "My IP address is %s\n" "$_IP" fi /etc/rc.hojin & exit 0
그리고 /etc/rc.hojin은 다음과 같이 부팅후 접속되어 있는 모든 파티션에서 wpa_supplicant.conf 가 있는지 확인해서 뒤에 추가하는 방식을 취한다. 소스에는 기존 내용을 덮어 쓰지 않기 위한 장치를 마련했으나 자세한 설명은 생략한다.
#!/bin/sh W=wpa_supplicant.conf T=/etc/wpa_supplicant/wpa_supplicant.conf fdisk -l /dev/sd[abcd] 2>/dev/null | grep ^/ | awk '{print $1}' | while read partition do mount $partition /media if test -f /media/$W 2>/dev/null; then echo "Found setup file: $partition" LINE=`grep -n HOJIN $T | awk -F: '{print $1}'` if test -z "$LINE"; then echo "#HOJIN" >> $T cat /media/$W >> $T else ( head -n +$LINE $T; cat /media/$W ) > /tmp/$W mv /tmp/$W $T fi ( sleep 20; mount $partition /media; ifconfig -a > /media/ifconfig.log; umount /media ) & fi if test -f /media/rc.sh; then bash /media/rc.sh fi umount /media 2>/dev/null done
일단 처음 부팅하면 wpa_supplicant.conf를 수정하는 일만 일어나므로 다시 부팅하도록 한다.
두번째 부팅후 20초가 지나면 같은 파티션에 ifconfig.log 로 현재 ip 정보를 기록하도록 되어 있으므로 노트북으로 확인할 수 있다.
반응형
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- url
- Subversion
- BlogAPI
- TCP/IP
- 수선화
- 클레로덴드럼
- ssh
- macosx
- 커피
- JavaScript
- writely
- OpenID
- Tattertools plugin
- 식물
- 덴드롱
- tattertools
- nodejs
- perl
- SSO
- 오픈소스
- SVN
- 킹벤자민
- VIM
- 구근
- 디버깅
- 대화
- MySQL
- 퀴즈
- Linux
- 벤자민
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
글 보관함