Nokia N9, N950에 Sailfish 설치하기

by

(작성 중)

나의 노스탤지어 Nokia N9, N950

Nokia N9, N950에 Sailfish 설치하기

나 는 Nokia N810을 갖고 있었는데, 한동안 정말 잘 썼다. 이후 넷북을 사서 Meego를 설치했고, 이것도 한동안 정말 잘 썼다. Meego가 설치된 핸드폰 N900을 갖고 싶었지만 그러지 못했다. 후에 N9을 자주 살펴보긴 했지만 Nokia가 이미 힘을 잃어가고 있어서 주저했다.
이제는 Sailfish에 관심을 갖고 있다.

N9과 N950에 Sailfish를 설치할 수 있다. 그 방법을 소개하고자 한다.
http://wiki.maemo.org/Sailfish 영어가 편한 사람은 이 문서를 참고하면 더 좋다.
http://www.youtube.com/watch?v=8Ugb4vosobg 비디오도 참고, 단 ubiboot 대신 아래 설명할 방법을 권장한다.

N9, N950에서 이용 가능한 Sailfish는 버전이 1.0.2.5이다. 애플리케이션이 죽거나 전화기가 꺼지거나 하는 등의 불안정한 모습은 거의 없다. 안정적이긴 한데 몇가지 문제가 있다.
video device를 잘 지원하지 못하고 frame buffer를 이용하는 것 같다. 즉, 화면에 무언가 빠르게 그려주는 것에 제약이 있다. 비디오 재생은, youtube 이용은 괜찮은데 avi, mp4 파일을 재생은 되지 않는다.
웹 브라우저에서 스크롤이 긴 페이지는 이동할 때에 매끄럽지 않다.
http://www.youtube.com/watch?v=8gN8LBNJn30

준비물
* flasher 소프트웨어 (버전 3.12.1)
* 원복할 때 사용할 롬 main.bin과 emmc.bin
* Sailfish 이미지
- http://n9.araya.su/images/mic_images/sailfish-1.0.2.5/vgrade/r5.1/vgrade-sailfish_r5.1.tar.bz2
* moslo (단말기 내부 저장장치 emmc에 있는 파티션을 수정하기 위함)
* 수정된 kernel (emmc의 4번째 파티션을 root로 이용하도록 수정된 커널)
- http://talk.maemo.org/showpost.php?p=1422135&postcount=1207
- http://www.swagman.org/juice/SFOS_boot_for_p4.tar

설치에 실패하게 되어 전화기가 부팅되지 않으면 답답하다. 심리적으로 충격이 클 수 있으니 원복할 때 사용할 롬을 꼭 준비해두도록 한다.
emmc.bin이 없으면 사진, 음악 등을 저장할 공간 My Docs가 위치하는 파티션이 제대로 준비되지 않는다. emmc.bin도 꼭 준비해두도록 한다.

1. moslo 커널과 램디스크로 부팅한다
- 내부 메모리 emmc를 4개의 파티션으로 변경한다. 원래는 3개이다. 파티션 1을 OS가, 파티션 2는 운영체제가 필요로 하는 임시 파일이, 파티션 3엔는 사용자가 저장한 사진, 음악 등의 파일이 저장된다. 각 볼륨의 이름은 Nokia N9, 임의의 문장열, My Docs이다. 추가되는 파티션 4에 Sailfish를 설치하며, 이 볼륨의 이름은 Other OS라고 한다.

2. USB 케이블로 컴퓨터와 휴대폰이 연결된 상태에서 moslo 로 부팅을 했을 것이다. 컴퓨터에는 자동으로 4개의 파티션이 인식이 된다. 이 중 Other OS 라는 볼륨에 Sailfish를 풀어 넣는다.
tar --numeric-owner -xjf sailfish...tar.bz2 -C '/media/imyaman/Other OS'

3. /sbin 디렉토리의 파일 중 실행권한이 있는지 확인할 것들이 몇개 있다. init 관련된 파일 중에 실행권한이 없는 것이 있다면 실행권한을 주자.
ls -l /sbin/*init*
chmod +x /sbin/*init*

4. 수정된 커널을 단말기에 쓴다.
flasher -f main.bin -k KERNEL --flash-only=kernel -R

이 수정된 커널은 기본으로 4번빼 파티션을 root file system으로 사용하며 omapfb 옵션과 비디오와 관련된 메모리 설정이 들어있다. ubiboot를 사용한다면 ubiboot를 통해 커널에 전달했을 옵션을 커널에 넣어버린 것이다.

http://wiki.maemo.org/Sailfish

http://weblog.youre.space//vergence/2014/06/000141.html