폰만으로 순정펌을 커스텀하는 작업을 진행중인데 떡밥만 날리고 결과물을 올리지 못해서 1단계 방법을 올립니다.


현재 커스텀롬 만들기는 삭제 및 투척과 퍼미션, 이미지 만들기 와 플래싱은 됩니다.

슈퍼슈 파일들도 다 올라가 있는데 ㅋ 루팅권한이 없습니다.



이미지를 생성할때 -a system 옵션으로 바이너리가 chcon 상태를 설정하는데

다른 파일들은 u:object_r:system_file:s0 로 라벨링 되는데

기본 바이너리가 아닌 su는 u:object_r:su_exec:s0 입니다.

저걸 해결해야 하는데 ㅠ.ㅠ

원인은 chcon 으로 SELinux 작업이 필요한데 그게 이미지로 마운트된 상태로는 안되는거더라구요.

가장 손쉬운 해결책은 아마 install-recovery-2.sh 를 넣고 돌려주는거 같기는 한데 편법이라서 좀 망설이고 있습니다. ㅠ.ㅠ




각설하고 지금 현재 자신의 폰 시스템 상태를 백업해봅니다.


준비물: (실행 바이너리) + 터미널 어플

 busybox 

- 일부 커널이 설치한 바이너리는 마운트 loop 명령에서 오류가 납니다. 마켓 STERICSON 최신버전을 /system/bin 에 755 퍼미션으로 넣고 했습니다.


 make_ext4

- /system/bin 에 있는지먼저 확인해보시고 본인의 폰에 있으면 그거 쓰시는게 좋습니다.


 gnutar

- 오딘 플래싱용으로 만들 수 있습니다. /system/xbin 에 755 퍼미션으로 넣으십시오



단계1

현재 폰의 /system 을 이미지로 만들기


make_ext4fs -s -l 2048M -a system system.img /system


저 부분 2048M 은 기기마다 다릅니다.

터미널에서 df system 치면 갤3티이 는 2기가 나오는데 이게 2진수라서 1024 * 2G = 2048M 입니다.

(이 문제는 simg2img 를 이용해서 raw 이미지의 용량을 1024로 2번 나누는 방법을 쓰는 것과 같습니다.)






생성된 system.img 파일을 오딘용으로 변환하기는


gnutar -H ustar -c system.img > my.tar


이런 식으로 할 수 있습니다.



이미지 파일 혹은 tar 파일을 모바일 오딘에서 선택한 스샷입니다.

플래싱 하면 됩니다.







만약 cache.img 등등 여러개의 이미지를 통으로 넣으시려면


gnutar -H ustar -c *.img *.bin > my.tar

(순정펌 안에는 img 파일 아니면 bin 파일이므로 저 두가지 확장자 파일 전체를 tar 로 묶어줍니다.)




Extra Form
첨부
Screenshot_2014-03-20-15-08-27.png  [File Size:143.1KB/Download:0]
Screenshot_2014-03-20-14-55-00.png  [File Size:213.3KB/Download:0]
Screenshot_2014-03-20-15-09-48.png  [File Size:146.1KB/Download:0]
Screenshot_2014-03-20-00-37-36.png  [File Size:141.0KB/Download:0]
7za  [File Size:1.62MB/Download:13]
gnutar  [File Size:992.3KB/Download:12]
busybox  [File Size:1023.8KB/Download:29]
make_ext4fs  [File Size:9.3KB/Download:11]
go.sh  [File Size:1.1KB/Download:9]
댓글을 남겨야 다운로드가 가능합니다. 감사의 댓글을 달고 오른쪽 확인버튼을 눌러주세요.
다운로드시 일주일에 한개 이상의 게시물 작성이 필요합니다. 지금 자유게시판에 회원님의 하루를 남겨보세요.
추천♡버튼을 잊지 마세요. 추천인과 회원님 모두 포인트가 적립됩니다.

짱구삼촌 님의 SIGNATURE

profile

그래도 아직은 사랑이, 낡은 외투처럼 너덜너덜해져서 이제는 갖다 버려야 할, 그러나 버리지 못하고...

"신은 그저 질문하는 자일 뿐... 운명은 내가 던지는 질문이다. 답은 그대들이 찾아라."

댓글 11
  • ?
    추천!.! [2.2.7/N900KKKUENBD/4.4.2]
  • profile
    해봐야지 하면서 아직 못해본 방법이 있는데 ㅋ ch_con() { /system/bin/toolbox chcon u:object_r:system_file:s0 $1 chcon u:object_r:system_file:s0 $1 } 요 서브 루틴으로 몇개의 파일을 돌리면 u:object_r:system_file:s0 로 바꿀 수 있는데 install-recovery-2.sh 에 넣어 보는 방법입니다. 실행 마지막에 rm $0 를 넣는 꼼수가 있는데 ㅋ 아주 웃긴건 rm $0 는 실행이 끝나면 그 스크립트 파일이 자폭합니다. 스스로를 지우는 ㅋ
  • ?
    켈크
    14.03.20
    이거 자신의 폰 이미지를 뽑아 그대로 마운트 시켜도 될까요?dd if....?simg2img 변환 없이.... dd if=dev/block/mmcblk0p13 of=/sdcard/system.img bs=4096 저거 그대로 tar로 사용 가능할까요?그리고 본문에 실행 바이너리는 뭔지 궁금 합니다. make_ext4fs -s -l 2400M -a system system.img /system 하니.xcc@t0lteskt:/ $ su 48M -a system system.img /system < get_selabel_handle: file_contexts is loaded from /file_contexts open: Read-only file system root@t0lte:/ # 오류가...? Simg2img 로 변환하고 저 sdcard/system 폴더에 마운트 시키켜야 하는지...아니면 루트상에서 그냥 make_ext4fs -s -l ...해야 하는지요?
  • profile
    dd 로 뽑아서 바로 플래싱용으로 쓸 수 있으면 이런거 다 필요없지요 ㅜㅡㅜ 저걸 또 어찌 변환해야 하나 보더라구요. 정확히는 모릅니다. 오딘이 인식하는 tar 포맷은 ustar 뿐이래요. 그래서 본문에서 gnutar 이용했네요. context 라는 단어는 selinux 가 지정한 일종의 권한입니다. -a system 이라고 옵션주면 시스템 파티션 권한값을 주는거지요. 저 권한 문제는 예전에 젤리빈 올라오고 티타늄 복원 데이터가 비정상이여서 restorecon 실행해서 픽스했던 바로 그 부분입니다. [2.2.8/E210SKSUGNA2/4.3]
  • profile
    context 권한을 유저가 추가로 지정하는 방법이 있을텐데 ㅋ 모르겠네요. 전 아직 xbin su 의 context를 해결하지 못해서 ㅜㅡㅜ 시스템에서 cp -va 옵션으로도 안되네요 ㅋ [2.2.8/E210SKSUGNA2/4.3]
  • profile
    마지막으로 질문하신 부분은. 지금 본인의 폰에 마운트된 /system 파티션은 이미 마운트 되어서 동작중이니까 따로 변환이나 마운트가 필요헙습니다. 실행할 위치는 make_ext4fs ... /sdcard/system.img /system 라고 입력한다면 아무데서나 실행해도 되겠고 그냥 저장할 파일의 이름만 입력하려면 저장할 위치에서 실행해야겠지요.
  • profile
    make_ext4fs [ -l ] [ -j ] [ -b ] [ -g ] [ -i ] [ -I ] [ -L
  • ?
    켈크
    14.03.23
    http://forum.xda-developers.com/galaxy-s2/general/ref-unpacking-repacking-stock-rom-img-t1081239/page23 이건 뭘까요 ? radiz// system -S parameter ?
  • profile
    ext4 생성 옵션으로 소문자 s 는 sparse 이미지 만드는 거구요. 대문자 S는 file contexts 설정 파일을 커스텀하는 옵션이더라구요. 근데 그게 기본 설정에 일부만 추가하는게 아니라 전체를 지정해야 해서 며칠 전에 깃허브에서 다운받아서 동작확인 했네요. 오후에 올려드릴게요. 이미지를 만드는건 해결했는데 ㅋ system etc install-recovery 스크립트보보면 체인파이어가 ㅋ 다른 커스텀롬에 이식하려면 이대로는 안되고 스크립트 수정해야 한다고 ㅋ 이걸 어카지? 하고 있습니다.
  • profile
    저 file_contexts 설정파일에는 시스템뿐 아니라 데이터 파티션의 설정값까지 regex 표현식으로 결정되는 있습니다. xbin/su 값이 체인파이어는 설정과 다르긴합니다만 ㅋ
  • ?
    감사합니다
댓글 쓰기 권한이 없습니다.
최신순 목록 검색 쓰기
등록된 글이 없습니다.
1 - 2