오픈프레임웍스를 위한 라즈베리파이2 B 세팅

SD 카드 생성 - ArchLinux "ARMv7"

*이 과정은 리눅스 머신에서 수행되었습니다 (raspbian을 사용할 수도 있습니다 :D)


아래 설명의 내용중 sdX를 여러분의 컴퓨터에서 보이는 SD 카드의 이름으로 변경해주십시오.

  1. SD카드의 파티션을 위해 fdisk를 시작합니다.

    fdisk /dev/sdX
    
  2. fdisk 프롬프트에서, 원래의 파티션을 삭제하고, 새로운 파티션을 생성합니다:

    o를 입력합니다. 드라이브상의 모든 파티션이 삭제됩니다.

    p를 입력합니다. 남아있는 파티션이 없을것입니다.

    n을 입력하고, p를 입력하여 primary를 선택합니다. 1를 입력해 드라이브의 첫 파티션으로 설정하고, ENTER키를 눌러 첫 섹터로 기본으로 지정한 뒤 +100M를 입력하여 끝 섹터를 지정해줍니다.

    t를 입력하고, c를 입력하여 첫 파티션을 W95 AT32 (LBA)로 지정해줍니다.

    n을 입력하고, p를 입력해 primary를 선택한 뒤, 2를 입력하여 두번째 파티션을 선택하고, ENTER 두번 눌러 기본 first andast sect로 지정합니다.

  3. w를 눌러 파티션 테이블을 작성하고 종료합니다.

  4. FAT파일 시스템을 생성하고 마운트합니다:

    mkfs.vfat /dev/sdX1
    mkdir boot
    mount /dev/sdX1 boot
    
  5. ext4 파일 시스템을 생성하고 마운트합니다:

    mkfs.ext4 /dev/sdX2
    mkdir root
    mount /dev/sdX2 root
    
  6. root 파일 시스템을 다운로드 하고 추출합니다(as root, not via sudo):

    wget http://archlinuxarm.org/os/ArchLinuxARM-rpi-2-latest.tar.gz
    bsdtar -xpf ArchLinuxARM-rpi-2-latest.tar.gz -C root
    sync
    
  7. boot파일을 첫 파티션으로 이동합니다:

    mv root/boot/* boot
    
  8. 두 파티션을 언마운트합니다:

    umount boot root
    

라즈베리파이에 SD카드를 삽입하고, ethernet을 연결한 뒤, 5V전원을 연결합니다. 시리얼 콘솔창을 사용하거나 혹은 SSH로 접속합니다. 기본 사용자와 패스워드로 로그인합니다 root의 초기 패스워드는 root입니다.


도움말

  1. root로 로그인합니다.

  2. 패스워드를 변경합니다.

    • passed
  3. sudo 설치합니다.

    • pacman -S sudo
  4. alarm user를 삭제합니다.

    • userdel alarm
  5. 새로운 pi user를 생성합니다.

    • useradd -m -G users -s /bin/bash pi
  6. sudoers 파일을 수정합니다.

    • sudo nano /etc/sudoers

      ## Uncomment to allow members of group sudo to execute any command
      #%sudo ALL=(ALL) NOPASSWD: ALL
      
    • 위의 두번째 라인의 주석을 해제합니다, 아래와 같이 수정되어야 합니다:

      ## Uncomment to allow members of group sudo to execute any command
      %sudo ALL=(ALL) NOPASSWD: ALL
      
  7. Control-O + Control-X 를 눌러 저장하고 종료합니다.

  8. 사용자 pi에게 superpowers 권한을 추가합니다.

    • groupadd sudo
    • usermod -a -G sudo pi
  9. 손쉬운 사용을 위해 bash를 수정합니다.

    • nano .bashrc

      # This reads .bash_aliases file for aliases
      if [ -f ~/.bash_aliases ]; then
      . ~/.bash_aliases
      fi
      
    • nano .bash_aliases

        #Enter openFrameworks folder just by typing "oF"
        alias oF='cd /home/pi/of_v0.9.2_linuxarmv7l'
        #Run project generator by typing projectgenerator
        alias projectgenerator='oF && ./apps/projectGenerator/commandLine/bin/projectGenerator'
        # Read temperature of rPi
        alias temp='/opt/vc/bin/vcgencmd measure_temp'
        # Read screen properties
        alias screen='/opt/vc/bin/tvservice -s'
      
    • nano .bash_profile

      #Setup openFrameworks variables
      export MAKEFLAGS=-j4 PLATFORM_ARCH=armv7l PLATFORM_VARIANT=raspberry2
      

예비 작업

  1. 말끔한 작업을 위해 디렉토리를 생성합니다.(추후 삭제 가능)

    • mkdir builds
    • cd builds
  2. devel 같은 것들을 설치합니다.

    • sudo pacman -S --needed base-devel
  3. rtMIDI를 설치합니다.

    • curl -L -O https://aur.archlinux.org/cgit/aur.git/snapshot/rtmidi.tar.gz
  4. PKGBUILD 파일을 편집합니다.

    • cd rtmidi
    • nano PKGBUILD
  5. [ arch=('i686' 'x86_64') ]를 찾아 [ arch=('armv7h') ]로 변경

    arch=('i686' 'x86_64') ----> arch=('armv7h')
    
  6. Make

    makepkg -si
    
  7. rtAudio를 설치합니다.

    • curl -L -O https://aur.archlinux.org/cgit/aur.git/snapshot/rtaudio.tar.gz
  8. PKGBUILD 파일을 편집합니다.

    • cd rtaudio
    • nano PKGBUILD
  9. [ arch=('i686' 'x86_64') ]를 찾아 [ arch=('armv7h') ]로 변경합니다.

  10. Make

    • makepkg -si

    [프롬프트에서 물어보는 요청을 모두 수락합니다(물론 여러분의 동의가 필요하죠)]

  11. 재부팅 후 builds폴더를 삭제합니다(패키지는 이미 설치되어 있음).


오픈프레임웍스

  1. 웹사이트에서 오픈프레임웍스를 다운받습니다.

    • curl -O https://openframeworks.cc/versions/v0.9.2/of_v0.9.2_linuxarmv7l_release.tar.gz
  2. oF 디렉토리를 생성합니다.

    • mkdir of_v0.9.2_linuxarmv7l
  3. tar파일을 압축 해제합니다.

    • tar vxfz of_v0.9.2_linuxarmv7l_release.tar.gz -C of_v0.9.2_linuxarmv7l --strip-components 1
  4. 업데이트

    • pacman -Syu
  5. 스크립트들을 실행합니다.

    • cd of_v0.9.2_linuxarmv7l/scripts/linux/archlinux

    • sudo ./install_dependencies.sh

    [This usually takes some time and has some prompts (accept them)]

    • sudo install_codecs.sh
  6. makeflags를 세팅합니다(.bash_profile에 아래 내용을 추가하면 매번 입력해줄 필요가 없습니다).

    • export MAKEFLAGS=-j4 PLATFORM_ARCH=armv7l PLATFORM_VARIANT=raspberry2
  7. oF를 컴파일합니다.

    • make Release -C /home/pi/of_v0.9.2_linuxarmv7l/libs/openFrameworksCompiled/project
  8. 예제 실행하기

    • cd /home/pi/of_v0.9.2_linuxarmv7l/examples/graphics/polygonExample

    • make && make run

Have lots of fun ! :)