freeboard
�� �б�
제목 Oneplus One 의 파일시스템 변경하기 (ext4->f2fs) 추천 0 IP 주소 220.81.xxx.133
글쓴이 놀리지마유 날짜 2014.08.27 15:50 조회 수 7817

안녕하세요. 신나는 수요일 입니다.

내용은 바로 원플러스 원의 기본 파일 시스템인 EXT4를 F2FS 로 변경 해보도록 하겠습니다.

 

먼저, F2FS 가 무엇인지 궁금하실 겁니다.

저도 잘 모릅니다 =.=

간단히 말씀드리면 F2FS는 Flash Friendly File System 의 약자로, 삼성의 리눅스 시스템 커널관련 부서의 김재국(삼성전자 책임연구원)씨가 만들었다고 합니다.

F2FS는 작게는 모바일에서 크게는 서버 까지 SSD나 eMMC, SD 카드 같은 낸드 플래쉬메모리 기반의 장치에 최적화된 파일 시스템이라고 합니다.

이론적으로 EXT4보다 퍼포먼스, 안정성이 향상되었습니다.

성능에 관한 부분은 아래의 링크로 들어가셔서 내용을 한번 읽어보시기 바랍니다.

 

F2FS 파일시스템 성능 벤치마크 : http://gamma0burst.tistory.com/532, http://gamma0burst.tistory.com/573

 

그럼 이제 본론으로 넘어가기 전에 필요한 것들을 컴퓨터에 다운로드 받도록 하겠습니다.

 

- 준비 사항

1. OnePlus One Rom - XNPH33R : fastboot 모드가 아닌 recovery 에서 플래쉬가 가능한 팩토리 이미지파일

  다운로드 : http://dist01.slc.cyngn.com/factory/bacon/cm-11.0-XNPH33R-bacon-signed.zip


※ 설치 진행 과정 1~7번까지 하기 귀찮으시다면 위의 파일 대신에 아래의 파일을 다운 받으셔서 진행 하실 수 있습니다. (다운로드 속도가 느려도 이해하시기 바랍니다.)

다운로드 : cm-11.0-XNPH33R-bacon-f2fs.zip (466MB) 

 

2. AK Kernel : 기본커널은 F2FS 파일시스템을 지원하지 않습니다. F2FS 파일시스템을 지원하는 AK Kernel 을 사용하도록 하겠습니다. 그리고 UKM 도 함께 다운 받아주세요.

  다운로드 (ak Kernel 최신 안정커널) : http://ak.hiddenbytes.org/downloads/ak.031.opo.cm11s.zip

  다운로드 (UKM) : http://ak.hiddenbytes.org/downloads/UKM_v3.2.zip

 

3. Philz Recovery with F2FS support : F2FS 파일시스템을 지원하는 필즈 리커버리 입니다. 리커버리에서 플래쉬가 가능한 zip 파일 입니다.

  다운로드 : http://forum.xda-developers.com/attachment.php?attachmentid=2909507&d=1408830518 (bacon_philz_touch_6.57.5_katinatez.zip)

  (출처 : http://forum.xda-developers.com/showpost.php?p=55011396&postcount=145)

 

4. TWRP Recovery : 필즈 리커버리를 fastboot 에서 바로 플래쉬가 불가능하기때문에 다음처럼 순서를 진행할 것입니다.

먼저 fastboot 모드에서 TWRP Recovery 를 설치하고 리커버리로 부팅하여 Philz Recovery 를 다시 설치 하도록 하겠습니다.

  다운로드 : http://techerrata.com/file/twrp2/bacon/openrecovery-twrp-2.7.1.1-bacon.img

 (출처 : http://techerrata.com/browse/twrp2/bacon)

 

5. Boot\Recovery RePacker : boot.img 파일을 언팩하고 다시 리팩하기 위해서 필요합니다. 닷넷 프레임워크 3.0+ 이상이 필요합니다.

아래의 다운로드 경로에 들어가서 설치 버젼(EXE) 혹은 압축파일(ZIP)로 된것을 다운 받으시면 됩니다.

참고로 설치하고 실행시에 화면이 나타나는데 좀 시간이 걸립니다. 당황하지 마시고 기다려 주시면 됩니다.

  다운로드 : http://boot-repacker.blogspot.kr/p/blog-page.html

 

이제 본론으로 넘어가서 실제 삽질에 들어가 보도록 하겠습니다.

 

- 설치 진행

 

1. 준비사항 1에서 다운로드 받았던 cm-11.0-XNPH33R-bacon-signed.zip 팩토리 이미지 파일을 압축해제하거나 boot.img 파일만 따로 추출한다.

 

2. 마찬가지로 준비사항 2에서 다운로드 받은 ak 커널() 파일을 압축해제하고 파일 중 "zImage" 라는 파일을 "boot.img-zImage"로 변경한다.

 

3. Boot\Recovery RePacker 프로그램을 실행하고 1번에서 추출한 boot.img 파일을 드래그 하고 "Unpack"을 실행하면 "boot.img-unpacked"라는

폴더가 생성이 됩니다. 2번에서 파일 이름을 변경한 "boot.img-zImage" 파일을 "boot.img-unpacked" 폴더 아래에 있는 파일로 덮어쓰기 합니다.


4. "\boot.img-unpacked\boot.img-ramdisk" 폴더 아래에 "fstab.bacon" 파일을 열어서 내용을 다 지우고 아래 내용을 복사해서 저장하시기 바랍니다.


# Android fstab file.
#                                              
# The filesystem that contains the filesystem checker binary (typically /system) cannot
# specify MF_CHECK, and must come before any filesystems that do specify MF_CHECK

/dev/block/platform/msm_sdcc.1/by-name/system       /system         f2fs    ro,noatime,nosuid,nodev,discard,nodiratime,inline_xattr,errors=recover wait
/dev/block/platform/msm_sdcc.1/by-name/userdata     /data           f2fs    noatime,nosuid,nodev,discard,nodiratime,inline_xattr,errors=recover wait,nonremovable,encryptable=/dev/block/platform/msm_sdcc.1/by-name/reserve4
/dev/block/platform/msm_sdcc.1/by-name/cache        /cache          f2fs    noatime,nosuid,nodev,discard,nodiratime,inline_xattr,errors=recover wait
/dev/block/platform/msm_sdcc.1/by-name/persist      /persist        ext4    nosuid,nodev,barrier=1,data=ordered,nodelalloc,nomblk_io_submit,errors=panic wait
/dev/block/platform/msm_sdcc.1/by-name/boot         /boot           emmc    defaults                                                        defaults
/dev/block/platform/msm_sdcc.1/by-name/recovery     /recovery       emmc    defaults                                                        defaults
/dev/block/platform/msm_sdcc.1/by-name/misc         /misc           emmc    defaults                                                        defaults
/dev/block/platform/msm_sdcc.1/by-name/modem        /firmware       vfat    ro,shortname=lower,uid=1000,gid=1026,dmask=227,fmask=337,context=u:object_r:firmware_file:s0        wait

/devices/platform/xhci-hcd                          auto            vfat    defaults voldmanaged=usbdisk:auto

아니면 다음 파일을 받으셔서 교체하시기 바랍니다.

다운로드 : fstab.bacon

 

5. Boot\Recovery RePacker 프로그램으로 다시 리팩합니다. 그러면 "boot-20140827-140904.img" 이런 형태로 파일이 생기고 "boot.img-unpacked" 폴더는 자동적으로 삭제됩니다. 기존의 boot.img 를 지우고 "boot-20140827-140904.img" -> "boot.img"로 변경합니다.


6. cm-11.0-XNPH33R-bacon-signed.zip 파일을 열어 5번의 "boot.img" 파일로 교체를 한다.

 

7. cm-11.0-XNPH33R-bacon-signed.zip 파일의 "META-INF\com\google\android" 폴더로 들어가면 "updater-script" 파일이 있는데 다음의 파일로 교체한다. 이제 플래슁 하기위한 롬파일 준비가 완료되었습니다.

다운로드 : updater-script

 

※ 1~7번까지 하기 귀찮으시다면 아래의 파일을 다운 받으셔서 진행 하실 수 있습니다. (다운로드 속도가 느려도 이해하시기 바랍니다.)

다운로드 : cm-11.0-XNPH33R-bacon-f2fs.zip (467MB) 

 

8. 먼저 TWRP 리커버리를 설치하도록 하겠습니다. PC와 폰을 연결하여 "bacon_philz_touch_6.57.5_katinatez.zip" 파일을 찾기 쉬운곳에 복사합니다.

복사후 폰을 "fastboot" 모드로 부팅합니다. 전원 버튼을 길게 누르고 - Reboot - bootloader(부트로더)로 선택하시면 됩니다.

 

9. 안드로이드 SDK 를 사용하여 TWRP 를 플래쉬하고 재부팅 합니다.

DOS창에서 "fastboot flash recovery openrecovery-twrp-2.7.1.1-bacon.img" 실행 후

"fastboot reboot" 명령을 실행하여 재시작 합니다.

 

10. 전원버튼을 계속 눌러서 이번엔 "Reboot - Recovery" 로 부팅합니다.

 

11. TWRP 리커버리에서 "Install" 해서 위에서 복사한 Philz 리커버리 파일을 찾아서 플래쉬한다. 이제 다시 재부팅을 하여 다시 리커버리로 진입합니다.

이번엔 F2FS 파일시스템을 지원하는 Philz 리커버리가 나옵니다. 

 

※ EXT4 파일시스템을 F2FS 파일시스템으로 변경하기 위해 포맷을 진행하게 되므로 모든 데이터가 삭제됩니다. 중요한 데이터는 미리 백업을 해주시기 바랍니다. 

 

12. PhilZ 리커버리에 진입한 상태에서 아래와 같이 진행하여 주시기 바랍니다.

 

12.1 "Wipe and Format Options" - "Custom Format Options" - "toggle f2fs <-> ext4 migration"

아래쪽에 텍스트로 "ext4 <-> f2fs conversion enabled" 내용이 표시될 거에요

 

12.2 "format /system" - "f2fs" - "Yes - Format device"

Done formatting /system (f2fs)

 

12.3 "format /cache" - "f2fs" - "Yes - Format device"

Done formatting /cache (f2fs)

 

12.4 "format /data and /data/media (/sdcard)" - "f2fs" - "Yes - Format device"

Done formatting /data (f2fs)

/system, /cache, /data 파티션이 모두 f2fs 파일시스템으로 포맷이 완료되었습니다. PhilZ 리커버리 첫 화면으로 돌아갑니다.

 

13. 이제 수정된 원플러스 원 롬파일을 sideload 를 이용하여 플래쉬 하겠습니다. (PC와 스마트 폰 연결)

13.1 "Install Zip" - "Install zip from sideload"

 

13.2 PC DOS 창에서 진행

CM11 ROM 설치 : "adb sideload c:\tmp\cm-11.0-XNPH33R-bacon-f2fs.zip"

AK Kernel 설치 : "adb sideload c:\tmp\ak.031.opo.cm11s.zip"

UKM 설치 : "adb sideload c:\tmp\UKM_v3.2.zip"

뱅킹 가능한 루팅설치 (필요시) : "adb sideload c:\tmp\UPDATE-Banking-SuperSU-v2.02.zip"

다운로드 : (맛클) http://www.matcl.com/?m=bbs&bid=appDB&where=subject%7Ctag&keyword=supersu&uid=232467

 

※ 모든 설치가 완료 되었습니다. 재부팅 하시고 귀찮은 셋팅 들어가시면 됩니다.

고생하셨습니다.

 

0827153725559256.jpg

 0827170217260322.jpg


원본 출처 : http://forum.xda-developers.com/showpost.php?p=55020890&postcount=1 내용을 토대로 작성 되었습니다. Thanks to gulp79

올려서는 안되는 내용이라면 과감히 삭제해주세요 ㅠ.ㅠ

번호 제목 글쓴이 날짜 조회 수 추천 수
공지 언더케이지 게시판 이용안내 (11/11/2016 개정) [11] KGNEWS 2016.11.11 89960 0
공지 언더케이지 리뷰 관련 FAQ (2016.10.10) [26] UnderKG 2016.10.10 46588 1
공지 서비스 제휴 관련 안내입니다. [10] UnderKG 2014.06.25 119887 0
3481 갤럭시노트4는 스피커가 후면에 있습니다. [8] SampleG 2014.10.09 1933 0
3480 무간도(Feat. 휘성) - 버벌진트(Verbal Jint) [5] 클라우스 2014.10.09 725 0
3479 ‘밴드게이트’를 비웃던 애플 팬, 자신의 iPhone 6 플러스가 정상적 사용에도 불구하고 휜 것 발견해 [13] file SESAMECOOKIE 2014.10.09 1670 0
3478 갤럭시s5 vs 아이폰5s vs moto x (2nd gen) [4] 트윅스 2014.10.09 1032 0
3477 롤리팝 스마트가 있었으면 좋겠네요. 햄스터키우는방법 2014.10.09 608 0
3476 오늘은!!! [3] 닉네임은작명소에서 2014.10.09 622 0
3475 노트4 카메라 결함일까요 원래 이런건가요? [9] file 호갱인가 2014.10.09 1752 0
3474 제가 원하는 꿈의 폰 스펙 [11] 흨흨 2014.10.09 1216 0
3473 홈화면 인증겸 인사글드립니다 [6] file GENESIS 2014.10.09 1169 0
3472 현명한 소비패턴.jpg [4] file SSD 2014.10.08 1679 0
3471 유저리뷰가 1달간 이용이 안 돼서... [3] khans17 2014.10.08 882 0
3470 영어 잘 아시는분 계시나요 헬프미 ㅠㅠ [6] 망했네 2014.10.08 819 0
3469 F717님의 자동차는 [4] file 모솔은옳다구나! 2014.10.08 1786 0
3468 노트4 베트남 가격 털바지 2014.10.08 1390 0
3467 Z2케이스 고민 [4] file 매너오류 2014.10.08 920 0
3466 갤럭시 노트 3.4 [5] Great박 2014.10.08 1091 0
3465 와나 이건 또 뭐하자는건지 모르겠네요. [4] 디지털초보 2014.10.08 1212 0
3464 단통법.... [3] 갤파광스에 2014.10.08 869 0
3463 아이폰5s vs 아이폰6 [9] luci 2014.10.08 1430 0
3462 이 폰 무엇일까요? ^^ [10] hawking 2014.10.08 1255 0