2007년 12월 4일 화요일

홈브류 구분 및 설치에 관한 뻘글

1. 홈브류의 시작
제일 처음 PSP가 발매되었을 때의 펌웨어는 1.00이었습니다. 펌웨어 1.00은 일본 내수용 펌웨어로서 이 때에는 홈브류에 대한 제약이 없어 마음껏 홈브류를 설치해서 구동할 수 있었죠. 그 후 전 세계적으로 PSP가 발매되면서 기본 펌웨어는 1.50으로 업데이트 되었으며, 이전 펌웨어 1.00에서 사용하던 홈브류가 더 이상 구동되지 않게 되었습니다. 하지만 새롭게 FAKE 폴더를 사용하는 방법(KXploit)이 알려지면서 펌웨어 1.50에서도  아무 제약 없이 홈브류가 구동 가능하게 되었습니다. 그러나 이런한 홈브류 기능을 악용할 수 있는 각종 ISO 로더 등이 발표되면서 손휘의 발등에 불이 떨어지게 됩니다. 자칫 UMD 판매량에 막대한 타격을 입을 수도 있기에 손휘는 바로 다음 펌웨어 업데이트(정확히는 펌웨어 1.51)에서 홈브류의 구동 가능성을 완전히 막아버리게 됩니다. 이때부터 이를 뚫으려는 해커들과 이를 막으려는 손휘의 기나긴 싸움이 시작됩니다.

여담입니다만, 해커들이 홈브류를 구동하기 위해 주로 택한 방법은 상위 펌웨어를 다시 펌웨어 1.50으로 다운그레이드하는 방식입니다. PSP의 펌웨어는 기본적으로 상위 펌웨어로 업데이트하면 두 번 다시 하위 펌웨어로 내리지 못하게 되어있는데, PSP의 자체 버그나 강제 충돌 등을 통해서 강제로 펌웨어 1.50으로 내린 뒤에 홈브류를 구동하고자 한 것이죠. 그 결과 펌웨어 2.00, 2.71, 2.80, 3.03, 3.50의 다운그레이더가 계속해서 발표되었으며, 손휘쪽에서도 새로운 방법이 알려질때마다 꾸준한 펌웨어 업데이트를 통해서 이를 방지해왔습니다. 상당히 오랜 기간 PSP 사용자의 관심사항은 새로운 상위 다운그레이더가 언제 나올 것이냐였으며, 이로 인해 펌웨어 1.50인 PSP의 중고가격이 다른 PSP 보다 상당히 높은 수준을 유지했습니다. 하지만 3.50 다운그레이더 발표 후 '판도라의 배터리'라는 전혀 색다른 방식의 다운그레이드 / 커펌 설치 툴이 발표되면서 더 이상의 다운그레이더 개발은 무의미해지게 됩니다. 손휘측에서도 이전처럼 펌웨어 업데이트를 통해서 막을 수가 없는 방식이니까요. 손휘, 안습...ㅜㅜ;

2. 홈브류의 종류 / 구분
다시 본론으로 돌아와서 위에서도 잠깐 언급했듯이 홈브류는 PSP의 펌웨어에 따라 형식과 구동환경이 조금씩 달라지게 됩니다. 크게 펌웨어 1.00 커널에서만 구동되는 홈브류(이하 1.00용 홈브류)와 펌웨어 1.50 커널에서만 구동되는 홈브류(이하 1.50용 홈브류)로 나눌 수 있으며, 현재는 최근 신형 PSP의 발매와 함께 새롭게 3.xx 커널에서 구동되는 홈브류(이하 3.xx용 홈브류)가 주로 발표되고 있습니다.

하지만 1.00용 / 1.50용 홈브류와 3.xx용 홈브류 사이에는 큰 차이가 존재하는데, 1.00용 / 1.50용 홈브류는 정식펌웨어 1.00 / 1.50이 설치된 PSP가 있다면 아무 작업 없이 바로 홈브류를 구동 가능한 반면, 3.xx용 홈브류는 정식펌웨어 3.xx일 경우 바로 홈브류를 구동할 수는 없고 반드시 커스텀 펌웨어를 설치해서 특수한 환경을 만들어주어야 구동이 가능하다는 점입니다. (정식 펌웨어 3.71에서도 바로 홈브류가 구동된다면 뭐 손휘에게는 막장테크지요.)

3. 커널이란 무엇인가
가끔 커널 설정을 확인하라거나 x.xx 커널 전용이라는 소리를 하게 되는데 여기서 말하는 커널이란 쉽게 말해 PSP가 동작하는 환경이라고 할 수 있습니다. PC에서도 운영체제에 따라 설치할 수 있는 프로그램과 설치할 수 없는 프로그램이 달라지듯이 PSP 역시 운영체제라 할 수 있는 펌웨어 버전에 따라 그 커널이 결정되며, 커널에 따라 구동 가능한 홈브류와 구동 불가능한 홈브류로 나누어지게 됩니다. 펌웨어 1.50이 설치된 PSP는 1.50 커널로만 동작하며, 펌웨어 3.52는 3.52 커널로만 동작한다고 쉽게 쉽게 생각하시면 됩니다.

단, 커스텀 펌웨어(이하 커펌)의 경우는 상황이 달라집니다. 커펌의 경우 기본적으로 펌웨어 1.50과 펌웨어 3.xx의 조합으로 이루어지기 때문이죠. 예를 들어 커펌 3.52의 경우 펌웨어 3.52를 기본으로 하고 추가로 펌웨어 1.50의 일부 파일이 동시에 설치되므로 커펌 3.52에서는 3.52 커널과 1.50 커널을 모두 사용할 수 있습니다. 또한 커펌 자체적으로 1.00용 홈브류 형식의 구동을 지원하므로 커펌이라면 현존하는 모든 홈브류를 구동할 수 있다고 보시면 됩니다. 단, 커펌 3.71의 경우에만 조금 달라지는데 커펌 3.71은 커펌 설치후 따로 1.50 커널 애드온을 설치해 주어야 1.50 커널을 사용할 수 있습니다. (신형 PSP의 경우 현재까지는 하드웨어적인 한계로 인해 1.50 커널을 설치할 수도, 사용할 수도 없으므로 해당사항이 없습니다. 그냥 1.50이라는 단어는 무시하세요~)

* 참고사항 : 간혹 이 홈브류는 커널모드로 동작한다거나 유저모드로 동작한다는 소리를 했습니다만, 여기서 말하는 커널은 위에서 설명한 커널과는 뜻이 약간 다릅니다. 홈브류가 커널모드로 동작한다는 것은 해당 홈브류가 PSP의 커널 자체를 장악해서 제어까지 할 수 있음을 의미하고, 유저모드로 동작한다는 것은 해당 커널을 이용해서 구동되기는 하지만 커널 자체의 제어는 하지 못하고 단지 사용만 한다는 뜻입니다. 윈도우의 예를 들자면 커널모드는 관리자계정, 유저모드는 게스트계정이라고 보면 됩니다. 당연히 커널모드와 유저모드 사이에는 기능상 차이가 나지만, 그리 신경쓰지 않아도 됩니다. (사실은 저도 이 이상 몰라요. 깊게 묻지 마세요. ㅡㅡ;)

4. 펌웨어 1.00인 PSP에서 1.00용 홈브류 설치하기
펌웨어 1.00은 PSP 초기에만 아주 잠깐 공장에서 직접 설치되어 나왔기 때문에 펌웨어 1.00인 PSP는 구하기도 어려울 뿐더러, 펌웨어 1.00은 공식적으로 발표된 적이 없어 억지로 펌웨어 1.00으로 돌아가고 싶어도 못돌아갑니다. (신형 PSP의 경우 펌웨어 3.60이 이에 해당합니다.) 그래서 자세히 알 필요는 없지만, 모든 홈브류 설치의 기본이 되므로 단지 이런 식이라는 것은 알고 넘어가야 합니다.

1.00용 홈브류는 실행파일인 EBOOT.PBP 파일을 포함한 하나의 폴더로 이루어지며, 메모리스틱에 설치하는 위치는 다음과 같습니다.
메모리스틱 - PSP 폴더 - GAME 폴더 - AAAA 폴더 - EBOOT.PBP 파일(실행파일) 외 기타 폴더/파일들

5. 펌웨어 1.50인 PSP에서 1.50용 홈브류 설치하기
1.50용 홈브류는 2개의 폴더로 이루진다는 점 외에는 기본적으로는 1.00용 홈브류와 크게 차이점이 없습니다. 상호간의 변환도 일반사용자가 쉽게 할 수 있으며, 메모리스틱에는 아래와 같이 설치하면 됩니다.
메모리스틱 - PSP 폴더 - GAME 폴더 - BBBB 폴더 - EBOOT.PBP 파일(실행파일) 외 기타 폴더/파일들
메모리스틱 - PSP 폴더 - GAME 폴더 - BBBB% 폴더 - EBOOT.PBP 파일(FAKE파일)

BBBB% 폴더의 EBOOT.PBP 파일은 FAKE파일로서 XMB에서 보여지는 홈브류의 아이콘이나 배경화면의 정보만를 담고 있으며, 선택했을 때 실제의 실행파일인 BBBB 폴더의 EBOOT.PBP가 대신 실행되도록 하는 역할을 합니다. 하지만 XMB에서 BBBB 폴더는 커럽티드 아이콘(손상된 데이터)으로 나오게 되어 약간 지저분해 보일 수도 있습니다. (아래에서 설명하겠지만, 커펌에서는 이 커럽티드 아이콘을 숨겨주는 기능을 리커버리 모드에 내장하고 있습니다.)

* 참고사항 : 아래 3가지 중 한 가지 방법을 이용하면 1.00용 홈브류를 펌웨어 1.50에서도 구동할 수 있습니다.
1. PC에서 KXploit Tool 프로그램을 사용해 1.00용 홈브류를 1.50용 홈브류로 변환한 뒤 구동한다.
2. PSP에 KXploit Patcher를 설치하면 1.00용 홈브류도 변환 없이 펌웨어 1.50에서 바로 구동 가능하다.
3. 펌웨어 1.50용 커스텀 펌웨어(현재 흔히 말하는 커펌과는 전혀 다른 초기 커펌)를 설치하면 바로 구동 가능하다.

6. 커스텀 펌웨어인 PSP에서 1.00용 / 1.50용 / 3.xx용 홈브류 설치하기
이제는 어느새 대세가 되어버린 커펌에서의 홈브류 설치법에 대해 알아보겠습니다.
누누히 말했듯 커펌은 1.50 커널과 3.xx 커널을 모두 지원하는데, 폴더에 따라 구동되는 커널이 달라지게 됩니다. 따라서 홈브류의 커널 종류에 따라 폴더를 구분해서 설치해야겠죠. 기본적으로 1.00용 홈브류와 1.50용 홈브류는 GAME150 폴더에, 3.xx용 홈브류는 GAME3xx 폴더(여기서 xx는 자신의 커펌 버전에 해당됨. 예를 들어 커펌 3.52의 경우 GAME352 폴더)에 설치해야 하며 기본 폴더인 GAME 폴더는 설정에 따라 그 커널이 달라지게 됩니다.
(신형 PSP의 경우에는 해당사항이 없으며, 오로지 3.xx 커널만 지원합니다.)

GAME 폴더의 커널은 커펌의 리커버리 모드에서 설정할 수 있습니다. PSP를 완전히 끄고 R트리거를 누른채 PSP를 켜면 리커버리 모드로 진입합니다. 그 중 Configuration 항목으로 들어가면 'GAME folder homebrew'라는 항목이 보이게 됩니다. 이 메뉴에서 GAME 폴더의 커널을 설정할 수 있으며 엑스버튼을 누를때마다 1.50 Kernel과 3.xx Kernel로 전환됩니다. (예를 들어 커펌 3.52의 경우 1.50 커널과 3.52 커널) 최초의 기본값은 3.xx Kernel이며, 특별한 일이 없는 한 이 상태로 사용하는 것이 편합니다. (제가 쓰는 모든 글은 이 설정이 3.xx Kernel이라는 가정하에 작성하고 있습니다.)

이제 실제로 메모리스틱에 홈브류를 설치하는 위치를 간단히 알아보겠습니다.
메모리스틱 - PSP 폴더 - GAME150 폴더 - AAAA 폴더 - EBOOT.PBP 파일(실행파일) 외 기타 폴더/파일들
메모리스틱 - PSP 폴더 - GAME150 폴더 - BBBB 폴더 - EBOOT.PBP 파일(실행파일) 외 기타 폴더/파일들
메모리스틱 - PSP 폴더 - GAME150 폴더 - BBBB% 폴더 - EBOOT.PBP 파일(FAKE파일)
메모리스틱 - PSP 폴더 - GAME3xx 폴더 - CCCC 폴더 - EBOOT.PBP 파일(실행파일) 외 기타 폴더/파일들
메모리스틱 - PSP 폴더 - GAME 폴더 - CCCC 폴더 - EBOOT.PBP 파일(실행파일) 외 기타 폴더/파일들
(AAAA 폴더는 1.00용 홈브류, BBBB 폴더는 1.50용 홈브류, CCCC 폴더는 3.xx용 홈브류를 말합니다.)

홈브류 실행시 'Game could not started'나 '800xxxxx'라는 에러 메세지가 나오는 경우는 대부분 위에서 말한 GAME 폴더의 커널 설정이 잘못되어 있거나 설치하는 위치가 잘못되었기 때문입니다. 1.00용 홈브류를 GAME 폴더에 복사하거나 GAME 폴더 설정을 1.50 Kernel로 설정한 경우가 이에 해당되겠죠. 원리만 잘 파악하면 혼동하는 일 없이, 설사 자세한 설명이 없더라도 혼자서 쉽게 홈브류를 설치하고 사용할 수 있을 거라 생각됩니다. (뭐, 그래도 공부하지 않는 사람이 꼭 있겠지만...)

* 참고사항 : 만약 위의 GAME 폴더가 메모리스틱에 존재하지 않는다면, GAME150 폴더와 GAME3xx 폴더에 아무리 많은 홈브류가 설치되어 있어도 XMB에서는 하나도 없다고 나오게 되니 반드시 GAME 폴더는 삭제하지 말고 남겨두세요.

* 참고사항 : 몇몇 홈브류의 경우 GAME150 폴더나 GAME3xx 폴더에 설치시 제대로 구동이 안되고, 반드시 GAME 폴더에 설치해야 하는 경우가 있습니다. 이 경우는 리커버리 모드에서 GAME 폴더의 커널 설정을 해당 홈브류에 맞게 변경해주어야 합니다. (대부분은 해당 홈브류 관련 글에 언급되어 있으니 참고하세요.)

* 참고사항 : 위에서 말한 1.50용 홈브류의 커럽티드 아이콘(손상된 데이터)을 숨기는 기능 역시 리커버리 모드에 있습니다. 리커버리 모드의  Configuration 항목으로 들어가 'Hide corrupt icons'를 'Enabled'로 설정하면 더 이상 커럽티드 아이콘이 보이지 않게 됩니다. (너무 간단한 건데 모르는 분들이 있더군요.) 단, ms0:/PSP/GAME/RECOVERY 폴더는 이 기능으로 숨겨지지 않습니다.
 
* 참고사항 : 특수하게 PSP용으로 변환된 PS1 게임은 GAME 폴더의 커널과 상관없이 반드시 GAME 폴더에 설치해야 합니다. 예를 들어 ms0:/PSP/GAME/DDDD/EBOOT.PBP 형식으로 저장한뒤 실행하면 됩니다.

7. 앞으로의 홈브류...
구형 / 신형 PSP에서 모두 설치할 수 있는 커펌 3.71이 발표된 뒤부터 대부분의 홈브류는 3.xx용으로만 발표되고 있습니다. 심지어 예전의 1.50용 홈브류도 3.xx용 홈브류로 재변환되어 발표되고 있죠. 이는 신형 PSP에서는 1.50 커널이 동작하지 않기 때문으로 앞으로도 계속 새로운 홈브류는 3.xx용으로만 나올 것 같습니다. (순전히 제 생각)
그러면 위의 글처럼 복잡하게 생각할 필요없이 무조건 GAME 폴더에만 넣으면 됩니다. 물론 홈브류라는 것이 제대로 설치했다고 하더라도 여러가지 다른 이유로 제대로 실행되지 않기도 하지만 그 정도는 근성으로 이겨내세요. ^^

# 대충 쓰고 끝내려고 했는데, 너무 길어졌네요. 제 능력 이상의 글이 되어버렸으니 틀린 점은 마구 지적해주세요.
# 제일 좋은 방법은 이런 글을 읽는 것보다 혼자서 이것 저것 해보면서 스스로 알아가는 것이겠죠. 그러면 혼동하는 일도 없고 잊어버리지도 않을겁니다. 게다가 재미도 있잖아요. 그렇죠?

댓글 27개:

  1. 글 잘읽었습니다..

    답글삭제
  2. 아,,,역시 대단하다는 말밖에는,,,^^;;

    항상 느끼는 거지만 정말 부지런하세용!!

    답글삭제
  3. 정리하느라 고생하셨네요. 감사드립니다. ^^;

    답글삭제
  4. ㅎㅎ 수고하셨어요

    항상 도움이 되는글 감사합니다^^

    답글삭제
  5. 대단하시내요

    쓰느라 정말 고생하셨겠내요. 감사합니다^^

    답글삭제
  6. 대단하십니다....좋은 정보 감사합니다...이제사 홈브류가 확 정리가 되었습니다...



    이제, 포포츠님의 블로그가...인터넷 시작하면 처음 들르는 곳이 되었네요..^^;;

    답글삭제
  7. 1.50 홈브류 정의에서 xxx%폴더를 FAKE 폴더라고 지칭하신건 무리가 있어보이며, 오해방지를 위한 부연설명도 필요할 듯 합니다.

    xxx%폴더는 기본적인 EBOOT.PBP의 구성 파일들중 부트테이블 정보(XMB 표시정보)와 아이콘,배경,사운드 등등의 부연 파일들만을 압축해 놓은 파일이고, xxx폴더 안의 EBOOT.PBP 파일은 단순히 DATA.PSP 파일(compress/decompress ELF파일)명을 바꿔 놓은것입니다. 이것들을 짬뽕시키면 하나의 정상적인 EBOOT 파일이 되죠. 조금 아는 실력으로 적어봤습니다.

    포포츠님이 국내에서는 가장 부지런해 보여서 보기좋습니다. 제일빠르셔요. ^-^

    답글삭제
  8. 신형 PSP '딥레드' 일본한정판으로 발매한다네요~

    알려드리려구요

    답글삭제
  9. @만화가게주인 - 2007/12/04 13:46
    만화가게주인 / 죄송하지만 아래 댓글은 삭제했습니다.

    이해해 주세요. ㅜㅜ

    답글삭제
  10. @unknown - 2007/12/04 18:20
    unknown / 신형은 제 관심밖이라서...

    돈만 있으면 신형도 사고 싶기는 한데... ㅡㅡ;

    답글삭제
  11. XXX.%폴더가 대체 뭔지 궁금했는데 이제서야 궁금증이 풀리네요 ㅎㅎ

    근데 손상된 데이터는 왠지 몰라도 리커버리조작해도 계속 뜨는게 있던데 아얄쉘에선 필요없는 폴더라니

    일단 빽업해놓고 지워버려야겠네요.

    감사합니다 앞으로도 수고해주세요^^

    답글삭제
  12. 와우~! 항상 수고하십니다. 포포츠님 블로그덕분에 psp에 대해 많이 배울수 있었습니다...

    답글삭제
  13. @포포츠 - 2007/12/04 19:53
    문제의 소지가 되었다면..제가 죄송해요..쩝...아무생각 없었나 봅니다..^^;;

    답글삭제
  14. 'Hide corrupt icons'설정 이외에도 폴더명 앞에 __SCE__, %__SCE__를 각각 붙여주면 마찬가지의 효과가 있습니다. 번거로운게 문제죠. ㅡ.ㅡ

    답글삭제
  15. 그냥 번거로운것도 아니고, 엄청 번거롭죠;

    홈브류 하나 넣을때마다 폴더명 계속 바꿔야하니 =ㅅ=

    답글삭제
  16. 1.00 kernel용 홈브류는 3.xx kernel에서 실행가능하더군요. 덕분에 3.71 M33에서도 1.50 kernel용을 제외한 나머지 홈브류들은 슬립모드가 됩니다.

    답글삭제
  17. 하루히즘 // 예전엔 싱글 폴더 타입 홈브류라면 (거의)무조건 1.00 커널용 홈브류였지만,

    요즘 3.XX 커널용 홈브류 역시 싱글 폴더 타입 홈브류라 작동하지 않습니다.

    안되요 안되..;

    답글삭제
  18. @하루히즘 - 2007/12/06 16:18
    하루히즘 / 몇몇 홈브류는 1.50커널이나 3.xx커널이나 양쪽에서 모두 실행가능합니다. 하지만 그렇지 않은 홈브류도 있죠. (대표적으로 Filer) 그래서 실제로 실행해보기전까지는 구분하기가 쉽지 않아서..ㅡㅡ;

    답글삭제
  19. 정말 잘 읽었습니다^^ 포포츠님 성실한 모습 정말 보기 좋네요~ㅎ

    답글삭제
  20. 이야...대단하시네요 쉰들러 홈피님 못찾아서

    헤매고있었음 한마디로 1.5 버전을 사용할 요없다는말아닌가요?

    답글삭제
  21. 신형 2000 일판 한국dvd가 안된다는게 umd를 말하는건가요?

    유니버셜 v3으로 커펌되는걸로 아는데

    답글삭제
  22. 제꺼 맨 처음에 1.00이였는데 희귀한 거네요 ㅎㅎ

    답글삭제
  23. 판도라 세트의 등장은 소니에게는 '데빌' 같은 존재겠군요..ㅋ

    뭐 우리에겐 '엔젤' 같은 존재이지만요..ㅋㅋ

    답글삭제
  24. 흠... 말은 이해가않돼는데 결국 go는 홈브류설치 못하는것?

    답글삭제
  25. 저기 님; 정펌은 홈브류 안되요?ㅠㅠ

    답글삭제
  26. @ㅇㅇㅇ - 2010/10/25 17:44
    정펌은 파타퐁으로 일부 홈브류를 돌릴 수 있지않나요?

    그리고 1005,2005(가능한 기판만) 다운그래드 해서

    커펌 하면 홈브류 그냥 쓸 수 있는걸로 알고있습니다.

    답글삭제
  27. 많은정보알아가여

    답글삭제

참고: 블로그의 회원만 댓글을 작성할 수 있습니다.