Q88의 펌웨어의 주요 스크립트 (/init.sun5i.rc)같은거 내용을 수정하기 위해서는 다음 중 하나를 해야할듯 합니다.

- rom kitchen을 사용하여 사용하는 펌웨어 image를 unpacking한 후 cygwin이나 ubuntu를 통해서 unpacking된 파일시스템을 마운트한 후 내용을 수정하고 다시 packing하여 수정된 image를 만들어서 livesuit로 다시 굽기..

- 또는 CWM을 이용하여 수정하기..


일단 본 내용은 위의 두번째 방법을 하기 위한 기본으로 CWM을 설치하는 내용입니다.


일단 Q88에 맞는 CWM을 찾는게 일입니다.


http://4pda.ru/forum/index.php?showtopic=358472&st=3420


위 사이트에서 CWM을 얻었는데 일단 좋은 점은 서브 메뉴에서 Back이 나와서 Q88에 적합한거 같습니다.


http://narod.ru/disk/63007818001.e77d2c9dee406ed99be7f3c05b34c7ce/AllWinner%20A13_Recovery%20(driver)_by_Kavoch.rar.html


위 사이트에서 숫자 입력하고 버튼 누르면 CWM을 다운받게 됩니다.


이 후 Q88을 부팅 한 후 시스템 설정 메뉴에 개발자 옵션에서 USB 디버깅 모드를 체크 한 후 

Q88을 PC와 USB 연결 하고 드라이버 설치 창이 나오거나 안나오면 내컴퓨터 속성창 가서 직접 수동으로 선택해서 Driver ADB (YeahPad A13)에 있는 드라이버를 설치합니다.

이 후 Recovery YeahPad A13 디렉터리에 있는 Autorun.bat를 실행 하고 1, 2 실행 하고 root 권한 잘 얻어온다 싶으면 3을 누르고 y를 누르면

CWM을 설치합니다. 이후 자동으로 Q88이 리붓되어 CWM 모드로 부팅되며 이때 Q88과 PC의 USB 연결을 끊어줍니다.




백업하기


사실 Q88을 처음 사게 되면 설치되어 있는 롬을 백업받아야 합니다.


먼저 Q88에 microsd 카드를 넣어야 합니다. 최소 1G이상되는 걸로..

시작-> 실행 -> cmd하면 커맨드창을 실행됩니다. 이 후 위에 받았던 위치로 갑니다.

cd D:\Downloads\AllWinner A13_Recovery (driver)_by_Kavoch\Recovery YeahPad A13


Q88과 PC USB 연결하고 잘 되어 있는지 확인하기 위해서 adb Devices를 실행하여 뭔가 잡히는지 확인 하고

adb shell을 실행합니다.

그러면 Q88의 파일 시스템에 접근하는 쉘이 뜨게 됩니다.

그리고 쉘에서 하기 처럼 mkdir /mnt/extsd/Backup으로 디렉터리를 sd카드에 생성하여 백업받을 수 있게 준비하고

백업할 파티션들이 있는지 cat /proc/partitiions를 실행해서 봅니다.


이제 하기와 같이 하나씩 실행해서 백업합니다.

dd if=/dev/block/nanda of=/mnt/extsd/Backup/boot.img 

dd if=/dev/block/nandb of=/mnt/extsd/Backup/root.img

dd if=/dev/block/nandc of=/mnt/extsd/Backup/system.img 

dd if=/dev/block/nandd of=/mnt/extsd/Backup/data.img

dd if=/dev/block/nandf of=/mnt/extsd/backup/recovery.img 


그러면 sd카드에 위의 내용들이 저장되게 됩니다.


복원하기


쉘에서 아래와 같이 실행해줍니다. (백업할 떄와 반대로 하면 됩니다)

dd if=/mnt/extsd/Backup/boot.img of=/dev/block/nanda 

dd if=/mnt/extsd/Backup/root.img of=/dev/block/nandb 

dd if=/mnt/extsd/Backup/system.img of=/dev/block/nandc 

dd if=/mnt/extsd/Backup/data.img of=/dev/block/nandd 

dd if=/mnt/extsd/backup/recovery.img of=/dev/block/nandf 




이후에 Q88과 PC USB 연결을 끊고 Q88을 리붓시키면 nand 플래쉬에 들어있던 내용으로 부팅이 됩니다.




init.sun5i.rc 수정하기


먼가 동작이 제대로 안되면 /init.sun5i.rc 등을 수정해야 할일이 있습니다.

백업하기에서 nandb에서 백업한 root.img에 /init.sun5i.rc가 들어있었습니다.


ubuntu를 이용하는 방법도 있겠으나 일단 cygwin으로 가볍게 가보려고 하기의 페이지를 참조해서 cygwin을 설치했습니다.

http://forum.xda-developers.com/showthread.php?t=1630130


이때 root.img를 c:\cygwin\boot디렉터리에 boot.img라고 이름을 바꿔서 넣어야 합니다.


그런 후 페이지에서 설명대로 하면 C:\cygwin\boot\out\ramdisk 위치에 init.sun5i.rc가 있음을 확인할 수 있었습니다.

수정은 메모장으로 하면 unix파일 시스템이라 줄바꿈 문자가 깨지기 때문에 Notepad++같은 프리웨어를 다운받아서 이걸로 수정해야 안전합니다.


일단 테스트 삼아서 csi 부분의 #으로 주석달린 줄들을 풀어보았습니다...

원래는 #이 달려있었습니다..

#csi module

insmod /system/vendor/modules/videobuf-core.ko

insmod /system/vendor/modules/videobuf-dma-contig.ko

insmod /system/vendor/modules/gc0308.ko

insmod /system/vendor/modules/sp0838.ko

insmod /system/vendor/modules/sun5i_csi0.ko



그리고 위에 나온 방식대로 ./packboot를 하면 boot-new.img가 나오는데 이를 Q88의 extsd/Backup/root.img로 이름 바꾸어 넣고

복원하기의 dd if=/mnt/extsd/Backup/root.img of=/dev/block/nandb 를 실행하고 USB 연결 끊고 Q88을 리붓하고 

다시 adb shell로 들어가서 cat /init.sun5i.rc를 보면 수정이 적용되어 있는걸 확인 할 수 있습니다..




+ Recent posts