2019-06-21
how to extract boot.img & recovery.img
출처 : https://unix.stackexchange.com/questions/64628/how-to-extract-boot-img
/*
download tools
*/
$ wget https://storage.googleapis.com/google-code-archive-downloads/v2/code.google.com/android-serialport-api/android_bootimg_tools.tar.gz
/*
unpack recovery.img
*/
$ mkdir recovery
$ ./unpackbootimg -i recovery.img -o recovery
$ cd recovery
$ mkdir ramdisk
$ cd ramdisk
$ gunzip -c ../recovery.img-ramdisk.gz | cpio -i
2019-03-21
DEVICE_PACKAGE_OVERLAYS, PRODUCT_PACKAGE_OVERLAYS
### DEVICE_PACKAGE_OVERLAYS, PRODUCT_PACKAGE_OVERLAYS
1. mk 파일에 overlay 폴더 지정.
DEVICE_PACKAGE_OVERLAYS += device_overlay_folder
PRODUCT_PACKAGE_OVERLAYS += product_overlay_folder
2. DEVICE_PACKAGE_OVERLAYS와 PRODUCT_PACKAGE_OVERLAYS에 동일한 item이 존재할 경우, PRODUCT_PACKAGE_OVERLAYS 의 내용이 적용됨.
3. PRODUCT_PACKAGE_OVERLAYS에 동일한 item이 존재할 경우, 앞의 item 값이 적용됨.
예) 다음과 같이 folder1,2가 순서대로 overlay되고, 두 폴더내에 동일한 item이 있을 경우, folder1의 값이 적용됨.
PRODUCT_PACKAGE_OVERLAYS += product_overlay_folder1
PRODUCT_PACKAGE_OVERLAYS += product_overlay_folder2
4. DEVICE_PACKAGE_OVERLAYS에 동일한 item이 존재할 경우, 앞의 item값이 적용됨.
### overlays 적용 후 확인 방법
1. frameworks/... 하위 폴더 내용
- target의 system/framework/framework-res.apk 파일에 적용됨.
- apktool로 framework-res.apk unpack 후 내용 확인.
download : https://ibotpeaches.github.io/Apktool/
unpack :
$ apktool d framework-res.apk
$ java -jar ~/bin/apktool.jar d framework-res.apk
2019-03-11
git command
### git tree로 보기
$ git log --graph
$ git log --pretty=format:"%h %s" --graph
### git diff
# 두 브랜치의 특정 폴더 비교
$ git diff branch1..branch2 folder/
# 두 브랜치 - 특정 폴더 제외하고 비교
$ git diff branch1..branch2 -- . ':!folder_exclude'
### git rename branch
$ git branch -m old_branch_name new_branch_name
$ git branch -m new_branch_name
### git - disable color ui
git color ui 질문 "Enable color display in this user account (y/N)?" 안뜨게 하기
$ git config --global color.ui false
### git difftool : meld
# git difftool config
$ git config --global diff.tool meld
# git difftool 실행(meld) 시 dbus 에러 발생 시 해결 방법
--- 에러 내용 ---
(meld:16516): GConf-WARNING **: Client failed to connect to the D-BUS daemon:
Failed to connect to socket /tmp/dbus-la2QE9V9o8: Connection refused
------------------
--- 해결 방법 ---
$ eval $(dbus-launch --sh-syntax)
$ export DBUS_SESSION_BUS_ADDRESS
$ export DBUS_SESSION_BUS_PID
-------------------
// 브랜치 비교
$ git difftool branch_a..branch_b
// folder 형식으로 비교
$ git difftool --dir-diff branch_a..branch_b
2019-03-08
mount ex4 image file
# ext4 이미지 파일을 mount 하는 방법
$ mount -t ext4 -o loop image_ext4.raw /mnt/ext4_target
@ read-only 마운드
$ mount -t ext4 -o loop,ro image_ext4.raw /mnt/ext4_target
$ ./simg2img system.img image_ext4.raw
2019-03-07
grep
### 특정 파일에서 검색 #1
$ grep -rn --include=\*.{c,cpp,h} szFindSting folder/
### 특정 파일에서 검색 #2
$ grep -rn --include="*.[ch]" szFindSting folder/
### 특정 파일 제외하고 검색
$ grep -rn --exclude={file1,file2,file3} szFindString folder/
$ grep -rn --exclude="*.ninja" szFindString folder/
### 특정 폴더 제외하고 검색
$ grep -rn --include=\*.{c,cpp,h} szFindSting folder/
### 특정 파일에서 검색 #2
$ grep -rn --include="*.[ch]" szFindSting folder/
### 특정 파일 제외하고 검색
$ grep -rn --exclude={file1,file2,file3} szFindString folder/
$ grep -rn --exclude="*.ninja" szFindString folder/
$ grep -rn --exclude-dir={dir1,dir2,dir3} szFindString folder/
### 대소문자 구분 안 함
$ grep -rn --ignore-case szFindString folder/
### 파일을 ascii로 인식
$ grep -rn -a szFindString folder/
### 여러 패턴 검색
$ grep -rn -e szFindString1 -e szFindString2 -e szFindString3 folder/
$ grep -rn --ignore-case szFindString folder/
### 파일을 ascii로 인식
$ grep -rn -a szFindString folder/
### 여러 패턴 검색
$ grep -rn -e szFindString1 -e szFindString2 -e szFindString3 folder/
Labels:
ascii,
file pattern,
folder,
grep,
ignore case
2019-01-15
[android] kernel boot parameter to propery
참고 : system/core/init/init.cpp
/proc/cmdline 의 androidboot.xxx=yyy 는 ro.boot.xxx=yyy 로 propery 세팅 됨.
Labels:
android,
androidboot,
boot parameter,
cmdline,
kernel,
property,
ro.boot
2018-11-06
add-radio-file for android recovery
# update package file(update.zip)에 기타 파티션(예, bootloader)를 추가 방법.
makefile에 다음과 같이 추가.
$(call add-radio-file,bootloader.img)
- INSTALLED_RADIOIMAGE_TARGET += bootloader.img
- $(LOCAL_PATH)/bootloader.img를 $(PRODUCT_OUT)/bootloader.img 로 복사
$(call add-radio-file,folder/bootloader.img)
- INSTALLED_RADIOIMAGE_TARGET += bootloader.img
- $(LOCAL_PATH)/folder/bootloader.img를 $(PRODUCT_OUT)/bootloader.img 로 복사
# 다른 방법
makefile에 아래 동작 추가
- INSTALLED_RADIOIMAGE_TARGET += bootloader.img
- bootloader.img를 $(PRODUCT_OUT)/bootloader.img에 복사
Labels:
android,
bootloader,
recovery,
update.zip
Subscribe to:
Posts (Atom)