IT 기술/Developer article

[소개]IBM DeveloperWorks : PS3에서 리눅스 개발, Part 1: 장난감을 넘어서

ㅇㅔ ㄷㅡ 2008. 6. 28. 17:55
IBM DeveloperWorks에 올라온 문서중에서 게이머의 혼을 불태우게 만드는... 정확히 말해서 리눅스를 좋아라하는 콘솔 게이머에게 흥미로운 글이 있어서 소개하려합니다.
제목하여 [PS3에서 리눅스 개발, Part 1: 장난감을 넘어서] 두둥!!!

PS2에 리눅스를 설치하여 슈퍼컴퓨터를 만들수 있다는 소식이 이슈가 된적이 있었지만, 실제로 사용하기엔 무리가 있는 구성이었죠. PS2용 리눅스 패키지를 구하는것도 쉽지 않았구요. PS3에 리눅스를 설치하는건 양상이 좀 다른것 같습니다. 오픈소스 커뮤니티의 힘이라고 할까요? PS3에 리눅스(Fedora 7)를 설치하여보자. 아래의 문서를 정독해보시길 바랍니다. ^^

원문 : PS3에서 리눅스 개발, Part 1: 장난감을 넘어서


소니 플레이스테이션 3(PS3)에서 리눅스(Linux®)가 돌아가지만, 제대로 돌리려면 미조정이 필요합니다. 연재물 1번 타자인 이 기사에서는 Peter Seebach가 PS3 리눅스의 기능과 장점을 소개하고, 미조정에서 몇 가지 장점을 얻기 위한 방법을 설명합니다.

소니가 처음으로 플레이스테이션 3에서 특별한 부가 장치 없이 리눅스를 돌릴 수 있다고 발표했을 때, 반응이 뜨거웠다. 초기에 리눅스를 바로 설치하기란 상당히 어려운 작업이었다. 지원 설치 프로그램은 특별히 만든 PS3 커널이 동작하도록 만들기 위해 페도라 코어 5나 6 설치 DVD를 손으로 뜯어고쳐 만든 전용 스크립트를 돌렸다. 사람들은 우분투 같은 여타 시스템을 돌리기 위해 수 많은 시간을 소비했다. PS3에서 돌아가는 전용 그림 사용자 인터페이스 설치 프로그램으로 무장한 테라소프트에서 만든 옐로우 독 리눅스는 단연 돋보였다.

세월이 흐르자 강산도 바뀌었다. 페도라 7은 포장만 뜯으면 PS3에 설치가 가능해졌지만, 설치 DVD를 찾기 위해 PS3 저장 드라이버를 선택하는 부분과 설치 프로그램을 볼 수 있도록 초기 설치 명령행에서 비디오 모드를 잡기 위해 설정값을 기억하는 부분이 가장 큰 난관이었다.

결국 PS3에서 리눅스를 돌릴 수 있게 되었다. 그것도 아주 쉽게 말이다. 문제는 제대로 동작하지 않는다는 점이다. PS3를 저렴한 셀 개발 시스템으로 선택했다면, 기본 설치 과정을 그대로 따르다 보면 셸 프롬프트가 떨어질 무렵에 수백 메가바이트에 이르는 스왑을 탑재한 시스템이 만들어진다는 사실에 당황스러울지도 모르겠다.

이 연재물에 대하여

기사 셋으로 구성된 이번 연재물은 전도 유망한 개발 환경으로서 PS3 리눅스를 살펴본다.

첫 번째 기사인 1부에서는 PS3에 밀접한 기본 환경 설정을 위해 볼트와 너트를 조이는 방법을 소개하고, 효율적으로 활용하는 방법을 보여주며, 성능을 개선하거나 좀 더 쓸만한 화면을 보기 위한 몇 가지 팁을 제안한다.
2부와 3부는 PS3를 개념 증명 시연 기계에서 실제 동작하는 시스템으로 바꾸도록 특히 성능과 튜닝 문제점을 파고 든다. 물론 이런 기법은 일반 리눅스에도 적용이 가능하다.

시작하기

페 도라 7을 구한다(페도라 8도 동작하지만, 이 기사를 작성할 무렵에 페도라 7을 사용했다). 물론 좀 더 PS3에 가깝게 만들어진 배포판이나 작고 효율적인 배포판을 사용할 경우 더 좋은 결과를 얻을지도 모르겠지만, 페도라 7에는 강력한 장점이 있다. 바로 셀/B.E. SDK 지원이다(물론 RHEL 5.1도 지원하지만 페도라 7에서 지원이 훨씬 더 강화되었다).

나 는 부하 분산이라는 이유 때문에 비트토렌트 광이 되었다. 이는 다운로드 시간만큼 업로드를 하도록 클라이언트를 동작한 채로 남겨둬야 함을 의미한다. 오픈 소스 소프트웨어는 협력을 바탕으로 하므로 대역폭 절감을 위한 협력도 아주 중요한 출발점이 된다. 전체 DVD 이미지(참고자료 참조)를 내려받는 데 시간이 걸리므로 우선 PS3 리눅스에 대한 배경 지식을 살펴보자.

플 레이스테이션 2도 리눅스를 지원하지만 사용하기에 조금 고통스럽다. 소니는 PS2용 전용 키트를 발표했지만, 두껍고 낡은 PS2에 추가 하드 드라이브를 장착해야 했다. 나중에 나온 (좀 더 일반적인) "얇은" PS2 유닛은 지원하지 않았고, 키트는 금세 사라져버렸다. 하지만 사라진 근본 이유는 개념 테스트 용으로 만들어졌기 때문이다. 시스템은 메모리도 적었고, 특수한 컴파일러 도구도 없었고, CPU는 고만고만한 MIPS 코어 기반이었다. 벡터 유닛은 전용 도구가 아니면 지원되지도 문서화되어 있지도 않았다.

반면, PS3는 출시 전부터 리눅스를 지원하고 있었으며, 소니는 지원 코드와 패키지를 광범위하게 퍼트렸다. 시스템 출시 즈음에 페도라 5와 6를 직접 지원하는 "셀 추가" CD가 배포되었으며, PS3 이식을 위해 다른 배포판에 필요한 모든 파일 역시 제공했다. 결과적으로 페도라 7은 별도 CD 없이도 PS3에서 동작했다. 물론 부트로더 설치를 위해서는 소니가 제공하는 프로그램을 사용해야 한다. 추가 소프트웨어 CD(참고자료 참조)는 새로운 커널 버전에 대한 업데이트를 지속적으로 반영하고 있다.