PlayStation3 Document
- PlayStation3에 BSD를 설치하기위한 삽질문서들
초기상황
- ps3중고를 fat모델로 구매를 했는데 펌웨어가 로게로 4.31상태였음. 그런데 wikipedia를 찾아보니 linux 또는 BSD를 설치하기위해서는 펌웨어가 3.15까지는 내려가야 정상. 그래서 펌웨럴르 내리기위해 이런저런 자료를 찾은결과 방법을 대략 발견했지만 아직 진행증.
- 4.31은 스푸핑이고 현시점은 4.30이 핵펌 최고버전 이라는 urdandy님의 말씀(2013년2월26일현재)
작업진행
진행방법::4.31 to 3.55
- FAT32로 포맷된 200M 이상의 USB를 준비한다. linux에서는 mkfs.msdos -F 32 /dev/XXX 로 format을 할 수 있다
- 일단 4.25 to 3.55 펌웨어 파일을 구한다. 구한다음. USB메모리에 복사한다. 경로는 /PS3/UPDATE/PSUPDAT.PUP (물론 맨 뒤쪽은 펌웨어 파일이름이다)
- PS3의 XMB > 설정 > 시스템 업데이트 에서 펌웨어를 업데이트 한다
- 적용을 하고나면 아마.............도 qa를 설치할 수 있는 환경이 될거라 생각한다. 그럼 toogle_qa.pkg 파일을 USB메모리의 root에 넣고 ps3에 꼽은다음 설치한다. 설치후 실행은 기본.
- toogle_qa를 설치한다음 활성화가 잘 되었다면 XMB > 설정 > 네트워크 설정 으로 가서 아래의 키 조합을 동시에 입력한다
L1 + L2 + L3 (press left stick) + R1 + R2 + dpad_down - 키입력 후 네트워크 설정 아래쪽에 Edy VIewer, Debug Settings, INstall Package Files 라는 3개가 더 생긴다면 성공.
- 이후 3.55 정펌 또는 그에 준하는 원하는 펌웨어를 2번에서 했던 방법대로 USB에 넣어놓는다
- 재부팅하고 펌웨어 버전을 확인한다. 3.55가 되어있으면 성공,
지금와서 생각해보건데 로게로 + QA mode가 된 순간부터 그냥 됐어야 하는게 아닌가 싶다.
진행방법::3.15 kmeaw에서 linux설치::실패(원인불명)
- 왜인지는 모르겠는데 kmeaw를 설치했을때 버전정보에 3.55만 뜬다. 그래도 3.15로 잘 내려감.
- QA mode는 한번 켜면 계속 켜지는듯. (출처는 감추는게 예의?)
- 이렇게 3.15까지 펌웨어를 내렸는데 80040205 에러가 나오면서 otheros installer구동실패. 종류별로 돌려가면서 해봐도 안됨
- 참고 :: 구글검색어 linux on kmeaw cfw 3.55 custom firmware
- 참고 :: bootos http://www.ps3hax.net/2011/02/bootos-2-01-aka-asbestos-v2-01-installer/
- 참고 :: http://www.ps3news.com/ps3-hacks-jailbreak/video-ps3-linux-on-kmeaw-cfw-3-55-custom-firmware/
- 참고 :: http://forum.ps3korea.com/t58266/?langid=1
진행방법::4.30 리벅( http://rebug.me )펌웨어
- 정펌 3.35가 들어가있는 PS3를 준비한다
- REBUG_4.30.1_PS3UPDAT.PUP 대략 이런이름의 펌웨어를 찾는다
- 펌웨파 파일을 USB메모리에 복사한다. 경로는 /PS3/UPDATE/PSUPDAT.PUP
- XMB상에서 update를 시도하고 리부팅 (안되면 복구모드)
- 부팅한다음 펌웨어 버전을 확인. 4.30이면 일단 정상
- 이후 XMB > 게임 > PackageManager > Install Package Files > PS3 HardDisk > REBUG-TOOLBOX-02.01.00.pkg 파일을 설치한다
- 설치후 XMB > 게임 > Rebug Toolbox > System mode 에서 REBUG mode로 전환한다. 이후 재시작
- 재시작한다음 버전을 확인해서 펌웨어 버전이 4.31로 나오면 성공. 다만 spoofing이니 속지는 말도록 하자.
진행방법::4.30 rebug의 OtherOS++을 이용한 FreeBSD의 설치
- 자신의 PS3가 NAND인지 NOR인지 여기 에서 확인한다. 그후 내 기종에 맞는 이미지를 선택.
- NOR :: dtbImage.ps3.bin
- NAND :: dtbImage.ps3.bin.minimal
- 실제 넣는 파일이름은 dtbImage.ps3.bin 이 되어야 한다.
- XMB > rebug toolbox > Utilities > RESIZE VFLASH/NAND REGIONS 적용
- XMB > rebug toolbox > Utilities > InstallPetitboot 로 설치한다.
- 일단 본인은 정확한 방법을 몰랐기때문에 이런저런 방법들을 통해서 3.15까지 내려가서 하드의 파티션을 다시 잡고 그대로 아무것도 손대지않고 바로 리벅 4.30으로 펌웨어 업데이트 했음.
- FreeBSD 9.0 CD를 꼽는다.
- XMB > rebug toolbox > System > Boot Other OS > All lv1 으로 부팅한다.
- 부팅하면 CD에 있는 boot관련 파일들을 인식해서 petitboot의 menu로 띄운다
- FreeBSD로 부팅할 수 있는 menu를 누르고 부팅을 시작한다
- 현재 사용할 수 있는 mode가 480i 또는 480p만 되기때문에 관련된 환경을 미리 만들어놓아야 한다.
- petitboot에서 set mode로 바꿀 수 있는거같은데... 본인은 실패
- 부팅되는 과정에서 아마도 root를 mount하지 못하고 이런 prompt가 나오게 될거다(FreeBSD 9.0기준)
mountroot>
- 이상황에서 Enter키를 치면 db> 라는 prompt가 나온다. 쓰는법은 여기를 참고. 이 문서에서는 이 부분은 이이상 언급하지 않는다
- 아까의 mountroot> 상에서 ? 를 누르면 현재의 kernel에서 인식할 수 있는 boot device의 종류가 나온다.
- 확인후 다음과같이 입력하면 아마도 cdrom으로 부팅이 가능하게 된다.
mountroot> cd9660:/dev/cd0
대략 뜻은 cd9660파일시스과 /dev/cd0라는 device를 대상으로 root를 mount해서 이후과정을 진행한다. 정도 되겠다. 아마도 별다른 문제가 없으면 FreeBSD의 installer를 볼 수 있다. - 첫화면에서 installer, shell, liveCD 정도를 선택하라고 하는데 shell로 나가야 한다. 왜냐하면 왜인지는 모르겠지만 dhcp로 internet을 못잡기때문이다. (본인은 유선으로 진행하고있다)
- shell에 들어가서 아래와같이 타이핑한다. 물론 ifconfig을 한번쳐서 현재 내 network device이름정도를 미리 확인하는건 기본예의.
ifconfig glc0 inet 당신이사용할PS3의IP netmask 당신이사용할PS3의IP의NETMASK route add default 당신의gateweayIP
- 당신이 원하는곳에 ping을 날려보고 network이 정상이라고 판단되면 exit를 타이핑해서 shell작업을 종료하고 installer로 돌아가면 된다.
- 이후는 FreeBSD의 설치매뉴얼을 참고해서 설치를 진행하면 된다. 참고로 본인은 180G SSD를 ps3의 하드로 꼽았고 PS3의 영역을 10G만 할당했다. 고로 나머지 영역에 FreeBSD의 영역을 만들어서 설치할 수 있었다. 다만 아직 boot loader를 심지못했기때문에 cdrom에 들어있는 boot loader를 usb에 일단 심어서 cdrom이 없이도 부팅할 수 있게 처리했다
- 이유는 정확하게 모르겠지만 boot loader가 로딩되면 FreeBSD가 설치된 root partition을 알아서 찾고 부팅한다.
이 모든작업에 대한 결과로 볼 수 있는 uname -a의 결과는 다음과 같다
FreeBSD 9.0-RELEASE FreeBSD 9.0-RELEASE #0: Wed Jan 4 02:45:59 UTC 2012 root@anacreon.physics.wisc.edu:/usr/obj/usr/src/sys/GENERIC64 powerpc
- 참고 :: http://rebug.me/boot-otheros-otheros-prep-tool/
- 참고-이쪽이 더 현재버전에 맞는다고한다. :: http://www.ps3hax.net/?s=otheros%2B%2B
뒤처리:usb메모리나cdrom을 사용하지않고 booting하는법
- XMB에서 멀티맨을 설치한다
- 멀티맨을 이용해서 usb 메모리의 파일을 복사한다. flash 에 넣어도 상관은없는데 문제는 가끔 부팅에 실패한다. 이유는 잘 모르겠음. 2G짜리 하드에 복사하면 bsd의 file system이 깨지는듯하다.
- 리벅에서 로딩을 진행한다
- usb 메모리나 cdrom을 꼽지않으면 loader.ps3 가 로딩되는 메뉴가 자동으로 생기지 않는다.
- 키보드로 "o"(영문자 "Oh") 를 눌러서 새로 menu를 추가한다. 위치는 다음과같다
/tmp/petitboot/mnt/ps3vflashd/boot/loader.ps3
- 제대로 로딩이 안되는거같다면 Esc 를 눌러서 console 로 간다음 /tmp/petitboot/mnt 로 간다음 find 명령어로 loader.ps3 파일을 찾는다
- 이후 부팅할때마다 해줘야한다-아직은 방법을 못찾았음
참고정보
OtherOS++관련정보
- http://www.ps3devwiki.com/index.php?title=OtherOS%2B%2B
- http://www.finalfantasia.com/board/view.aspx?id=psbbs&rno=30706&page=1&f=u&k=%C3%BC%BA%CE%B9%E9%BC%B1
Playstation3에서 OtherOS를 사용하는 방법
- Playstation3에서 boot loader를 사용하는 방법 항목 참고
- PS3 리눅스 릴리즈::설치법 항목 참고
Petitboot사용법
- Petitboot 홈페이지 번역 항목 참고
FreeBSD 9에서의 OtherOS지원정보(기본)
- FreeBSD/ps3 항목참고
reActPSN
PS2 클래식 게임 구동 reActPSN
http://www.finalfantasia.com/board/view.aspx?id=psbbs&rno=35586&page=2&f=c&k=%B8%AE%B9%F7
- 결과적으로 이놈은 PSN 인증무력화. 고로 딱히 이경우에 의미는 없다. 참고는 여기
동글관련작업
- 참고1의 link에 가서 일단 하드웨어 동글을 찾는다. 호환되는놈을 찾아야 의미가 있다.
- 참고1의 link에서 해당 보드에 해당되는 Hex파일을 다운로드 받는다
- windows의 경우에는 atmel의 홈페이지에서 Flip을 받아서 해당되는 보드에 맞는 Hex파일을 보드로 넣는다.
- linux의 경우는 avrdude를 설치하고 인터넷의 사용법대로 진행을 한다.
// 보드인식테스트 avrdube -P /dev/xxxx -p m32u4 -c stk500 // write hex code avrdube -P /dev/xxxx -p m32u4 -c stk500 -e -U flash:w:hex_filename
- 이후 ps3에 꼽아서 동글을 이용한 hack을 진행한다
- 참고1 :: http://www.ps3devwiki.com/wiki/Downgrading_with_PSgrade_Dongle
- 참고2 :: http://forum.ps3korea.com/t57912/
- 참고3 :: http://forum.ps3korea.com/t56248/
- 참고4 :: http://forum.ps3korea.com/t57130/
- 참고5 :: http://forum.ps3korea.com/t55206/
- 참고6 :: http://www.finalfantasia.com/board/view.aspx?id=psbbs&rno=35467
- 참고7 :: http://www.finalfantasia.com/board/view.aspx?id=psbbs&rno=34579&cno=
- 참고8 :: http://www.finalfantasia.com/board/view.aspx?id=psbbs&rno=33023
- 참고9 :: http://www.finalfantasia.com/board/view.aspx?id=lecture&rno=222&page=1&f=s&k=%B8%AE%C4%BF%B9%F6%B8%AE
- 참고10 :: http://www.finalfantasia.com/board/view.aspx?id=lecture&rno=507&ca=1&page=1&f=&k=3.15
- 참고11 :: http://www.finalfantasia.com/board/view.aspx?id=emulbbs&rno=333&page=1
복구(리커버리)모드 진입방법
ps3에서 복구모드는 팩토리모드가 아니다. 고로 들어가는 방법을 정확하게 숙지해놓으면 나중에 덜 헤메지 않을까...
ps3의 펌웨어가 2.50 이상에서만 가능합니다.
- 전원이 꺼진 상태에서 전원 버튼을 계속 누르고 있습니다.
- 계속 누르고있으면 전원이 꺼집니다.
- 다시 전원버튼을 누르면 곧 또 한번의 삐 소리가 나며 계속 누르고 있습니다.
- 곧 두번의 삐삐 소리가 연속해서 나면 버튼을 놓습니다.
그러면 "컨트롤러를 USB 케이블로 연결한 후 PS 버튼을 눌러 주십시오." 라는 메세지가 나오며 그대로 하면 복구 메뉴가 나옵니다.
- 참고1 :: http://forum.ps3korea.com/t33622/
- 참고2 :: http://www.ps3devwiki.com/index.php?title=Talk:Playstation_Update_Package_%28PUP%29#PS3_Recovery_Menu
참고문서
- 참고-PS3 해킹의 역사 :: http://bbs2.ruliweb.daum.net/gaia/do/ruliweb/default/ps/101/read?bbsId=G005&itemId=421&articleId=15585724
- 3.15 OFW 주소 :: http://ps3.brewology.com/downloads/download.php?id=10275&mcid=4
- SKU model 관련정보 :: http://www.ps3devwiki.com/index.php?title=SKU_Models
- 펌웨어 다운그레이드 :: http://www.ps3devwiki.com/wiki/Downgrading_Firmware
- ps3에 linux설치하기 ::http://blog.naver.com/PostView.nhn?blogId=ohshit&logNo=20054255169&redirect=Dlog&widgetTypeCall=true
- Sony의 opensource 인증목록 :: http://www.scei.co.jp/ps3-license/index.html
- playstation3 otheros installer :: http://dl.qj.net/playstation-3/linux-tools/playstation-3-otheros-installer.html
- ps3대상 개발용git repository :: http://gitorious.ps3dev.net/
- FreeBSD make world for ps3 :: http://www.ps3devwiki.com/wiki/Building_FreeBSD_World