OEM Unlock을 했더니 폰을 리부트하면 이렇게 된다. 엄청 작게 뭔가 텍스트가 써 있는데 확대해서 보면 '당신의 장치는 언락되서 신뢰할 수 없으며 5초 후에 부팅한다'는 것이다.
Orange State
Your Device has been unlocked and con't be trusted
Your Device will boot in 5 second
Oukitel 로고는 아무래도 상관없고 단지 하얀 화면에 저런 까만색 텍스트가 나오는게 마음에 안들었다. #ffffff의 하얀색인것 같으니 색상 반전만 시켜서 넣어주면 되겠다 싶었다.
검색해보니 'LogoBuilder'라는 프로그램이 있다고 한다. 말 그대로 로고를 만드는 프로그램이다. 이것도 러시아 사람이 만들었나 보다. 어쨌든 편집을 하려면 logo.bin 파일을 구해야 한다. 이 파일은 펌웨어에서 추출하거나 현재 장치에서 가져올 수 있다. 나는 후자의 방법으로 하기로 했다.
검색을 해보니 이런 명령을 쓰라고 한다. dd 명령이 뭐에 쓰는지는 모르겠지만 of= 부분에 있는 경로가 파일을 어디에 저장할지 지정하는 것이란걸 알 수 있다.dd if=/dev/logo of=/sdcard/logo.bin bs=3145728 count=1
sdcard의 경로는 기기마다 다를 수 있다. 내 경우에는 현재 [ /storage/E6AD-A5DF ]라는 이름으로 되어 있는데 이거는 펌웨어를 플래시 할때마다 달라지는것 같다. 타이핑 하기 어려운 관계로 심볼릭 링크를 만들면 과정을 좀 편하게 진행할 수 있다.
이렇게 하면 심볼릭 링크가 만들어져야 하지만 루트가 읽기 전용 상태라 만들 수 없다는 메시지가 나온다. 아무튼 이 문제를 해결하려면 mount 명령어를 사용하면 된다.ln -s /storage/E6AD-A5DF extsd
이렇게하면 루트에 extsd라는 이름의 심볼릭링크를 만들 수 있다.mount -o rw,remount /
뭔지 모를 이 dd 명령을 입력하면 다음과 같은 결과를 출력한다.dd if=/dev/logo of=/extsd/logo.bin bs=3145728 count=1
1+0 records in 1+0 records out 3145728 bytes transferred in 0.059 secs (53317423 bytes/sec)
![]() |
Logo Builder에서 Oukitel Logo.bin을 불러온 모습 1번과 39번은 흰색이었는데 색반전시켜서 검은색으로 만들었다. |
가져온 파일을 로고빌더 프로그램으로 열면 logo.bin 파일을 풀어서 지정한 폴더에 저장해 준다. 보아하니 img1.png 39번 파일을 편집하면 될 것 같아서 적당한 그림 편집 프로그램을 이용하여 색 반전 시켜줬다. 그 후 make 버튼을 눌러주면 update.zip 파일과 logo.bin 파일을 만들어 준다. 적용하려면 두가지 방법이 있는데 하나는 zip 파일을 리커버리에서 플래시 하는것이고 하나는 bin 파일을 fastboot에서 플래시 하는 것이다. 내 경우는 fastboot가 편하다.adb pull /extsd/logo.bin .
여담이지만 dd 명령에서 바로 /dev/logo 파일을 가져오면 되지 않을까 싶어서 ls 명령으로 보니까 이런 심볼릭 링크가 연속으로 연결된 형태로 되어 있다. - 사실 이게 심볼릭 링크인지 뭔지 나도 잘 모른다. 리눅스 넘나 어려운것 -fastboot flash logo logo.bin
/dev/logo <- /dev/block/platform/mtk-msdc.0/11230000.msdc0/by-name/logo <- /dev/block/mmcblk0p9
8900 brw-rw---- 1 root system 179, 9 2018-01-01 09:00 mmcblk0p9
권한 부분에 d라고 되어 있으면 디렉토리던데 b는 뭔지 모르겠다. boot partition의 b 같은게 아닐까? 아무튼 보통 파일은 아닌것 같고 그래서 단순히 cp 명령으로는 가져올 수 없는것 같다. dd 명령에 대한 참고자료 링크 - dd (유닉스) dd 명령어 옵션 설명
if=FILE : 표준입력대신 지정한 파일을 입력으로 받는다.
of=FILE : 표준 출력대신 지정된 파일에 출력한다.
bs=BYTES : 한 번에 BYTES씩 읽어 들이고 출력. ibs와 obs를 한 번에 지정한 것과 같다.
count=BLOCKS : 입력 블록의 ibs 크기만큼만 복사한다.
흠... 읽어봐도 대체 저 명령으로 어떻게 logo.bin 파일을 추출한건지 이해가 안된다. /dev 디렉토리를 보니 nvram도 있던데 그렇다면 이 명령을 제대로 알기만 한다면 nvram.bin 파일도 가져올 수 있지 않을까 싶다.
부트 애니메이션의 경우는 바꿀 생각은 없었고 그냥 소리만 좀 넣어보고 싶었다. 스톡 롬에서는 bootaudio.mp3 파일을 /system/media 경로에 넣으면 됐는데 LineageOS 에서는 이 방법으로는 안된다. 여러 방법이 있겠지만 최대한 쉬운 방법을 찾아 봤다.
/system/media/bootanimation.zip 파일을 가져와서 열어보면 다음과 같은 구조로 되어 있다.
/part0
/part1
/part2
/part3
/part4
dest.txt
여기서 dest.txt 파일을 열어보면 이렇게 되어 있다.
720 240 60
c 1 0 part0
c 0 0 part1
c 1 0 part2
c 1 1 part3
c 1 0 part4
width height frame/sec 인것 같다. 그림뷰어 프로그램으로 압축 파일을 보면 part0부터 4까지 그림을 쭉 바꿔가며 애니메이션 하는 방식이다. 소리는 여기에 audio.wav 파일을 넣으면 된다. 내 경우 애니메이션 시작때 소리가 나오게 하고 싶었으니 part0 폴더에 넣었다. 처음에는 소리가 나질 않았는데 나중에 알고보니 사운드 포멧을 32bit float으로 하면 안된다. 16bit int로 하면 잘 나온다. 스테레오 여부는 상관 없다. 시험삼아 ogg 파일을 넣어봤는데 안된다. wav 파일만 되는것 같다. 종료 애니메이션도 넣어보고 싶은데 이건 아직 방법을 모르겠다.
댓글 없음:
댓글 쓰기