본문 바로가기

글로벌 네트워크

라즈베리 파이의 커널과 펌웨어 업데이트하기

서른여덟 번째 이야기: 라즈베리 파이의 커널과 펌웨어 업데이트하기

작성일: 2014년 3월 21일

작성자: 배장열


안녕하세요?

최근 제이펍에서는 《리눅스와 함께하는 라즈베리 파이》를 출간했습니다. 이 책에서는 윈도우 환경에 익숙한 독자를 위해 라즈베리 파이의 운영체제인 라즈비안 리눅스를 상세하게 다루고 있습니다. 윈도우 운영체제를 사용할 줄 모르면서도 엑셀만 수준 높게 사용할 수 있는 사람이 과연 얼마나 될까요? 라즈베리 파이로 이것저것 만들어 보고도 싶고, 세상에 하나밖에 없는 거창한(?) 프로젝트를 만들어 한껏 자랑도 해보고 싶지만 정작 라즈비안을 모르고서는 분명 어느 정도 따라하다 금방 한계에 부딪힐 것입니다. 가령, 라즈베리 파이로 이것저것 구현해 놓은 따라 하기식의 책을 구입하여 한 페이지 한 페이지 읽으며 코드도 입력하고 했더니, 막상 실행하려고 하면 무슨 권한이 없다거나 파일을 못 찾겠다거나 하며 라즈비안 리눅스가 투덜대기라도 하면 결국 해결 방법은 구글밖에 없을 듯합니다. 하지만 검색어를 어떻게 입력해야 하는지도 쉬운 문제만은 아닙니다.


리눅스와 함께하는 라즈베리 파이는 라즈베리 파이를 비롯하여 라즈비안을 깊이 있게 다루고 있습니다. 너무 책 소개가 길어져 죄송합니다. ^-^ 이렇게 서두가 긴 것은 《리눅스와 함께하는 라즈베리 파이》 한 권이면 초급을 탈피하여 중급까지도 (라즈비안) 리눅스를 사용할 수 있지만, 몇 가지 내용이 빠져 조금은 아쉽기 때문입니다. 앞으로 몇 차례에 걸쳐 이런 아쉬운 내용을 보충할까 합니다.


첫 번째로 말씀드릴 내용은 라즈비안의 업데이트입니다. 라즈비안을 비롯하여 리눅스는 윈도우와 달리 운영체제의 업데이트가 편리하고 쉽습니다. 라즈베리 파이 재단에서 새로운 버전의 라즈비안을 공개할 때마다 새로 다운로드하지 말고 다음 방법으로 해보시기 바랍니다. 흔히 라즈베리 파이에 설치된 소프트웨어를 업데이트하려면 다음 두 명령을 실행합니다.


$ sudo apt-get update

$ sudo apt-get upgrade


첫 번째 명령이 실행되면 사용할 수 있는 소프트웨어의 버전을 파악하기 위해 apt-get이 업데이트되고, 두 번째가 실행되면 apt-get은 시스템에 설치된 소프트웨어의 버전을 파악하여 업그레이드된 버전이 있는 소프트웨어를 설치합니다.


하지만 위의 방법으로는 리눅스 커널이 업데이트되지 않습니다. 어떻게 해야 할까요? 우선, 현재 리눅스 커널의 버전을 확인해 볼까요?


$ uname -a


uname은 unix name을 줄인 명령입니다. 말 그대로 현재 시스템 및 운영체제의 버전, 이름 등 상세 정보를 출력합니다. 그럼 펌웨어 버전도 알아볼까요? 다음 명령을 실행합니다. 여기까지가 그림 38-1입니다.


$ sudo vcgencmd version


<그림 38-1>


vcgencmd는 시스템의 각종 정보를 출력하는 유틸리티입니다. ‘version’ 자리에 다른 명령을 입력하면 해당 시스템 정보를 확인할 수 있는데, 가령 ARM 프로세서의 클록 속도를 출력하려면 measure_clock을 입력하고 그 뒤에 파라미터로 arm을 입력합니다. 다른 명령들도 한번 알아볼까요?


<표 38-1 vcgencmd에 사용할 수 있는 유용한 명령들>

 명령

 파라미터

 출력 내용

 measure_clock

 arm

 ARM 프로세서의 클록 속도

 measure_clock

 core

 코어 주파수(Hz)

 measure_temp

 없음

 코어 온도

 measure_volts

 없음

 시스템 전압

 get_mem

 arm 또는 gpu

 CPU와 GPU의 메모리 분할 정보

 version

 없음

 펌웨어 버전

 set_backlight

 없음

 LCD 디스플레이 장치의 백라이트 제어(추후 지원)



<그림 38-2>


그림 38-2는 위의 명령들을 제 라즈베리 파이에서 실행한 결과입니다. 이제 본격적으로 펌웨어와 커널을 업데이트하겠습니다. 먼저 사전 준비가 필요한데, 라즈베리 파이의 시스템 날짜 및 시간이 올바르지 않다면 이것부터 해결해야 합니다. 다만, 여기서는 이 과정을 생략하겠습니다. 여러분이 사용하는 라즈베리 파이가 대부분 올바른 날짜와 시간을 나타내고 있기 때문입니다(시스템의 날짜와 시간을 출력하는 명령은 date입니다).


리눅스 커널과 펌웨어는 일반적인 apt-get으로 업데이트할 수 없습니다. 커널 및 펌웨어 업데이트에는 rpi-update라는 패키지가 필요한데, 이 패키지를 설치하려면, 우선 일종의 인증서가 필요합니다. 이 인증서가 있어야 깃(git)에서 rpi-update를 다운로드할 수 있습니다.


$ sudo apt-get install ca-certificates


이제 git을 설치합니다.


$ sudo apt-get install git


드디어 rpi-update를 다운로드할 수 있겠네요.


$ sudo wget http://goo.gl/1BOfJ -O /usr/bin/rpi-update


마지막으로 해야 할 과정은 파일의 권한을 올바로 설정하는 일입니다. rpi-update가 /usr/bin/에 설치되었으므로, 이곳의 경로대로 다음과 같이 rpi-update의 권한을 수정합니다. 실행 권한을 추가하는 것입니다.


$ sudo chmod +x /usr/bin/rpi-update


드디어 rpi-update를 실행할 모든 준비가 끝났습니다. 어서 실행해 볼까요?


$ sudo rpi-update


휴~ 무사히 끝나셨나요? 라즈베리 파이를 종료하고 재시동합니다. 재시동 명령만 실행해도 되겠지만, 하나라도 더 알려드리려는 마음에 종료 명령도 함께 소개합니다. 아래는 종료 명령입니다.


$ sudo poweroff


다음은 재시동 명령입니다.


$ sudo reboot


라즈베리 파이가 재시동되었다면, 다시 한 번 맨 위에서 소개했던 uname -a와 vcgencmd version 명령으로 버전을 확인해 보시기 바랍니다. 다음은 제 라즈베리 파이의 출력 결과입니다.


<그림 38-3>


오늘은 여기까지입니다. 문맹률이 낮다고 지식강국이 아니듯, PC 보급률이 높고 인터넷 속도가 빠르다고 IT 강국은 아닐 것입니다. 다양성을 인정하고 윈도우가 아닌 리눅스, 맥 환경에서도 아무런 장애 없이 누구나 편리하게 IT 서비스를 누리도록 하는 것이 진정한 IT 강국이 아닐까요? ^-^