'큐비보드'에 해당되는 글 1건

며칠 전에 큐비보드를 주문해서 받았다.  라즈베리 파이 중에서 뭘 살까 고민하다가 이걸 골랐는데, 결국은 라즈베리 파이도 주문하고 말았다.  일단 라즈베리 파이와의 차이점이라면, 내장 메모리가 4GB가 있어서 별도의 SD카드를 꼽지않아도 된다는 장점이 있고, SATA 하드디스크를 꼽을 수 있는 포트가 하나있어서 용량확장을 쉽게 할 수 있다는 점이 되겠다.

주문해서 처음 받으면 안드로이드가 설치되어있는데, 큐비보드 홈페이지에 가면 XBMC가 내장된 안드로이드 이미지가 별도로 빌드되어있고 이것을 큐비보드에서 제공하는 LiveSuit이라는 낸드플래시 기록 프로그램을 사용하면 쉽게 설치가 가능하지만, 써본 결과 제대로 활용하기가 어려웠다. 그 이유는, 현재 내가 홈서버로 운영하는 PC를 도저히 대체할 수 없다는 점이었는데 내 홈서버로 운영 중인 컴퓨터의 사양은 코어2듀오 씨퓨에 4기가램, 2.5테라바이트 하드디스크가 장착되어있다.  내 맥북에서 지정된 시간에 rsync로 매일 자동백업을 실시하고 트랜스미션 토렌트 웹클라이언트가 24시간 실행 중이며, 1080p 고화질 영상이 많고 내 맥북에서 홈서버와 통신을 자주하는 관계로, 기가비트 랜카드 2장을 bonding해놨다.  기가비트 랜카드 2장 본딩이 사실상 가장 큰 이유다.  아래는 현재 울집 네트워크 구성도.

MyHomeNetworkMap

 

결국 문제는, 기가비트 랜카드 2장을 bonding해놓은 속도를 큐비보드가 낼 수 없다는 점이 가장 큰 이유였고, 그외로는 안드로이드로 포팅된 XBMC는 기대 이하 수준이었다.  따라서, 큐비보드는 그냥 리눅스를 설치해서 쓰기로 결정을 하고 큐비보드 홈피를 뒤져보니 낸드 플래시에 리눅스를 직접 플래싱할 수 있는 방법이 나와있어서 이것을 본인이 직접 해보면서 이 매뉴얼을 작성한다.  특별한 문제없이 성공적으로 설치했고 잘 작동했다.

들어가기에 앞서, 본 매뉴얼은 다음과 같은 분들에게만 권한다.

1. 리눅스 혹은 터미널 사용에 익숙하신 분.

2. GUI 없이 그냥 서버로만 쓰실 분.

 

일단은 적어도 1기가 이상의 마이크로 SD카드가 하나 필요하다.

1.  먼저  http://guillaumeplayground.net/share/debian_wheezy_armhf_v1_mele.img.gz 를 다운받는다.  용량은 대략 940메가 정도 되고, 내 경험으로는 받다가 자주 끊겼다.  리눅스나 맥을 사용하시는 분이라면 wget이나 curl을 이용하고나서 필히 checksum값을 확인하시기 바란다.

 

2.  이제 MicroSD를 삽입한뒤 언마운트를 해야한다.  맥 사용자는 디스크 유틸리티를 열고 MicroSD카드를 클릭하면 마운트 해제 버튼을 클릭할 수 있게 되는데, 이것을 클릭하면 된다.  "꺼내기"를 클릭하면 안된다.  만약 터미널 사용이 편한 맥유저라면 터미널에서 diskutil list를 실행한 뒤 거기서 나오는 MicroSD의 파티션 번호를 확인해서 sudo diskutil umount /dev/diskXsY 등으로 언마운트를 하면 된다.  리눅스 사용자라면 그냥 알아서 umount를 하시면 되겠다.

 

3.  MicroSD를 꽂은뒤 윈도우 사용자라면 http://guillaumeplayground.net/mele-a2000-headless-debian-wheezy-armhf-with-nand-install-v1/ 에 나와있는 raw write이나 usb-image-tool을 사용하여 MicroSD에 기록을 하고, 맥/리눅스 사용자라면 dd를 이용하여 기록한다.  dd 명령으로 이미지를 기록할 때는 파티션 번호는 넣지않는다.

예)  sudo dd bs=4096 if=./debian_wheezy_armhf_v1_mele.img of=/dev/disk2  

 

4.  기록이 끝났으면 카드를 삽입하고 큐비보드에 전원을 넣는다.  처음에는 빨간불만 들어오지만 곧 초록불이 들어오게 된다.  이 의미는 곧 부팅이 정상적으로 되고있다는 얘기다.  다만, 모니터는 들어오지 않기 때문에 SSH로 접속해서 작업을 진행해야한다.  일단, 사용 중인 공유기 메뉴에 들어가서 맥 어드레스 00:0a:20:00:10:00로 연결되어있는 기기의 IP주소를 확인하면 되겠다.  공유기의 DHCP 목록을 확인할 수 없는 상황이라면, 리눅스 유저라면 nmap  -sP NETWORK/24 로 검색하면 현재 살아있는 호스트를 검색해낸다.

예) nmap -sP 10.0.1.1/24

 

5.  SSH로 로그인을 해본다.  편의상 큐비의 주소는 10.0.1.18이라고 가정한다.  ssh root@10.0.1.18  계정은 root이며 패스워드 역시 root이다.  접속하자마자 passwd root를 실행해서 바로 패스워드를 변경할 것을 추천한다.

 

6.  이제부터 낸드 플래시에 파일을 쓸 차례이다.  다음의 커널 이미지 파일을 다운받는다:

http://dl.cubieforums.com/loz/boot_partition/bootloader/cubie_nand_uboot_partition_image.bin

 

7.  그런다음, 위의 파일을 큐비의 낸드 플래시에 밀어넣는다.  

scp cubie_nand_uboot_partition_image.bin root@10.0.1.18:/dev/nand

 

8.  약 30초간 기다렸다가 재부팅을 한다.  터미널에서 reboot이라고만 입력하면 알아서 재부팅이 되며, 큐비에는 초록색 불이 꺼졌다가 곧 다시 켜질 것이다.  그런 다음, 20초 가량 기다린뒤 다시 ssh로 접속한다.  유의해야할 점은, DHCP에서 받아오는 주소가 바뀌었을지도 모르니 다시 한 번 확인해본다.

 

9.  낸드플래시 저장영역을 포맷한다.  mkfs.ext4 /dev/nandb

 

10.  포맷한 저장영역을 연결한다.  mount /dev/nandb /mnt

 

11.  df -m 명령어를 실행해서, 제대로 연결이 됐는지, 그리고 용량이 제대로 표시되는지 확인하면 된다.  표시단위는 메가바이트다.

 

12.  SD카드로부터 커널 이미지를 복사한다.

mkdir /tmp/boot

mkdir /mnt/boot

mount /dev/mmcblk0p1 /tmp/boot

cp /tmp/boot/uImage /mnt/boot/

 

13.  이제 남은건 SD카드에 설치되어있는 리눅스를 낸드플래시로 옮겨서 재부팅하는 일만 남았다.  먼저, 복사할 필요가 없는 디렉토리의 목록을 만들어서 이것을 텍스트 파일로 저장한다.  텍스트 파일의 이름은 EXCLUDE_FILE이라고 정한다.  그 파일 안에 다음을 적어넣는다.

/dev/*
/proc/*
/sys/*
/media/*
/mnt/*
/run/*
/tmp/*

이제 복사 명령어를 실행할 차례다.  cp명령어에 -ar 옵션을 붙여서 해도 되겠지만 개인적으로는 rsync를 선호한다.

rsync -acv --exclude-from=EXCLUDE_FILE / /mnt/

 

14.  종료한 뒤 전원이 꺼진게 확인되면 MicroSD를 제거한다.  그리고 전원을 다시 넣는다.  절대 전원코드를 그냥 뽑지말고, 셧다운 명령어나 poweroff 명령어를 사용한다.

 

15.  SSH로 접속한다.

 

16. 그외사항

/var, /tmp 등은 입출력이 빈번하기 때문에 낸드플래시에 두면 아무래도 좋진 않을 것 같다.

재부팅할 때마다 eth0 MAC address가 자꾸만 바뀐다.  이 경우는 일단 ifconfig eth0 | grep HWaddr | awk '{print $5}' 를 입력해서 나오는 현재 맥 어드레스를 복사한 뒤 (사실, 꼭 현재 맥 어드레스를 복사해야할 필요는 없다. 아시는 분들은 왜인지 아실거다), /etc/network/interfaces 파일을 열어서 iface eth0 inet dhcp 아래에 다음처럼 적어넣으면 된다.

hwaddress ether 96:f3:e4:d5:d6:85

 

이상입니다.

블로그 이미지

jswlinux

Seowon Jung의 잡동사니 보관소

,