Loading
4개 발견

커널 검색 결과

  1. 미리보기 2014.08.25

    [TW] [SHV-E250K/S/L] [KT/SKT/LG U+] WIDzard Kernel

  2. 미리보기 2014.08.18

    [AOSP][KT/SKT/LG U+] WIDzard Kernel V1.8

  3. 미리보기 2014.03.16

    안드로이드 커널 빌드 및 플래싱 파일 생성 방법

  4. 미리보기 2014.01.17

    안드로이드: 커스텀 커널이란?

2014. 8. 25. 21:55 - Str@wBerry

[TW] [SHV-E250K/S/L] [KT/SKT/LG U+] WIDzard Kernel






Features


3.0.101 - KitKat Kernel

SELinux Permissive

Compiler : Linaro Toolchain 4.9.1

Kernel LZ4 Compress 

Kernel LZ4 Decompress

-O3 Optimize 

AES and SHA1 routines Optimize

Triangle Away Support (Rooting Counter Reset)

Battery Charge Voltage Control

CPU Voltage Control (OC/UV)

GPU Voltage Control (OC/UV)

init.d Support

Implemented Dynamic FileSync

Add frandom

TouchWake/Slide2Wake/KnockOn

Adaptive Body Bias(ABB) Control 

f2fs FileSystem Support (@thx, arter97)

Implemented Boeffla / Wolfson Sound Engine

AIO (Backport 3.6.x Kernel)

LED Control (Like Cyanogen Mod LED)

Lastest Update 

LowMemoryKiller(LMK),ZRAM, ZCACHE,SNAPPY 

SLQB Memory Allocator (@thx, Nick piggin)

Implemented R/W Semaphore  : XCHGADD_ALGORITHM

ARM CPU Topology

Implemented intelli_plug

TW/AOSP Vibrator Control


CPU Governors

[Perfect Working]


zzmoove

lulzactiveQ

yankasusQ

pegasusQ

pegasusQ Plus

hotplug

adaptive

interactive

intelliactive

conservative

ondemand

userspace

powersave

performance


[Test Working]


badass

asswax

dancedance

smartassH3

nightmare

abyssplug

abyssplug V2

darkness

LionHeart


I/O Schedulers

noop

deadline

row

cfq

sio

vr

zen

fifo

bfq


TCP Congestion Control

cubic

bic

reno

westwood

highspeed

hybla


Feedback

Twitter : @supersunho
Line ID : widzard_dev



Changelog V1.8 -ENGLISH

 

Added:

                  intelli_plug driver

                  Vibration control for TouchWIZ / AOSP-based ROMs

                  New governors (test, not fully functional):

badass, asswax, dancedance, smartassH3, nightmare, abyssplug, darkness, lionheart, pegasusQ plus

                  New governor: intelliactive

 

Updated:

                  Scheduler: zzmoove 0.9beta3

                  Some tweaks for better performance

 

Extras:

                  Installs Synapse app on fresh install (Fixed Android is upgrading message error)

                  Synapse app partially translated to Korean (translation: kaldaris @WIDzard team)

 

 

Changelog V1.7 – 20140728

 

Added:

                  F2fs support (thanks @arter97)

                 

Updated:

                  Touchwake/Slide2Wake/KnockOn fully functional

                  Boeffla/Wolfson engines: Fixed speaker volume issue resolved

                  Changed toolchain to Linaro 4.9.1

                  Freezing issues during gaming resolved

 

Extras:

                  Synapse removed, please install from Play Store.

 

 

Changelog V1.6 – 20140722

 

Added:

                  TouchWake/Slide2Wake/KnockOn (Thanks @arter97)

                  mDNie applied as default (can be disabled and change settings)

                  Wolfson/Boeffla Sound engines (V1.6.6)

                  AIO (Backporting kernel 3.6.x)

                  Init.d support with tweaks

                  Synapse app optimised for WIDzard kernel

 

Updated:

                  Patched from linux kernel 3.0.31 to 3.0.101

                  SELinux Permissive (Check for stock kernel now disabled)

                  Freezing issues during gaming resolved

                  Fixed issue where sound is muted when playing music with screen turned off

                  Unnecessary log creation removed

 

Extras:

                  Aroma installer included: Can now remove Knox

                  Synapse app automatically installed

 

Changelog V1.5 – 20140716

 

Added:

                  Governor: Wheatley (3.4 kernel port)

                  GPU governor: simple

 

Updated:

                  USB charging issues fixed

 

Extras:

                  Aroma installer introduced

 

 

Changelog V1.4 – 20140706

 

Added:

                  SLQB memory allocator (Thanks @Nick Piggin)

                  Implemented R/W semaphore: XCHGADD_ALGORITHM

                  ARM CPU Topology

 

Updated:

                  Some memory tweaks

 

Extras:

                  Lag issues when gaming resolved

 

 

Changelog V1.3 – 20140704

 

Added:

                  Governor: intelliactive (3.4 kernel backport)

                  I/O Scheduler: BFQ (Version V7R2)

                  LED fading

                  Simple GPU algorithm

 

Updated:

                  LowMemoryKiller

                  Dynamic FSync

ZRAM

                  ZCache

                  LZO

                  SNAPPY

                  LZ4

                  ZZMOOVE Profile

                  GPU R3P2 Release3 => Release4

 

Extras:

                  DVFS: disable throttling when gaming

                  TouchWake disabled as default

                  PegasusQ updated: Fixed issue where only two cores are used





Change Log - KOREAN

Change Log V1.8 - 20140824

  • Add
    • Implemented intelli_plug 
    • TouchWIZ/AOSP Based ROM Vibrator_Control (진동세기 조절)
    • Add Governor : badass, asswax, dancedance, smartassH3,
                             nightmare, abyssplug, darkness, LionHeart, pegasusQ Plus
      빌드만 되게 넣었습니다. 기능이 100% 구현되지 않습니다. (테스트 용)
    • Add Governor : intelliactive (정상 작동)
  • Update
    • Scheduler : zzmoove 0.9 beta3
    • Some Tweaks.. (성능 향상)
  • etc.
    • 최초 설치시 Synapse 앱 다시 제공 (안드로에드 업그레이드중.. 문제 해결)
    • Synapse 앱 한글화 번역 ( 완벽한 번역은 아닙니다)
      번역 : Kaldaris ( @WIDzard Team )
Change Log V1.7 - 20140728

  • Add
    • f2fs Support (@thanks arter97-backport)
  • Update
    • TouchWake / Slide2Wake / KnockOn 정상 구동
    • Boeffla / Wolfson Engine : 스피커 값 고정 이슈 해결
    • Toolchain Change : Linaro 4.9.1
    • 게임 프리징 문제 해결 ( 1시간 테스트 결과 정상 )
  • etc.
    • 설치시 제공되던 Synapse 앱 제거, 마켓에서 다운로드 후 사용

Change Log V1.6 - 20140722

  • Add
    • TouchWake/Slide2Wake/KnockOn(Thx@arter97)
    • mDNie Hijack 기본 적용 (해제 및 조절 가능합니다.)
    • Wolfson/Boeffla Sound Engine(V1.6.6)
    • AIO (Backport Kernel 3.6.x)
    • init.d Support withe Some Tweaks
    • Synapse Optimized for WIDzard Kernel
  • Update
    • 3.0.31 -> 3.0.101로 Upstream
    • SELinux Permissive (Kernel이 순정커널인지 체크하는 문제 해결)
    • 게임 실행 시 프리징 현상 발생 문제 해결
    • 화면 끄고 음악들을때 끊기는 문제 해결
    • 불필요한 Log 발생 제거
  • etc.
    • Aroma Installer : Knox 제거하는 단계 추가
    • Synapse가 자동으로 설치됩니다. Kernel Control 가능합니다.

Change Log V1.5 - 20140716

  • Add
    • Governor : Wheatley (3.4 Kernel Port)
    • GPU Simple Algorithm 
  • Update
    • USB 충전 안되는것 수정
  • etc.
    • Aroma Installer 형식으로 리커버리 설치형식 변경

Change Log V1.4 - 20140706

  • Add
    • SLQB memory Allocator (Thx@Nick Piggin)
    • R/W Semaphore implement : XCHGADD_ALGORITHM
    • ARM CPU Topology
  • Update
    • Memory Some Tweaks 
  • etc.
    • 게임시 발생되던 잔렉들 완벽히 제거
Change Log V1.3 - 20140704

  • Add
    • Governor : Intelliactive (Linux Kernel 3.1 Backport)
    • I/O Scheduler : BFQ (Version Update : V7R2)
    • LED Fading (AOSP처럼 부드럽게 반짝입니다.)
    • GPU Simple Algoritm
  • Update
    • LowMemoryKiller
    • Dynamic FSync
    • ZRAM 
    • ZCACHE
    • LZO
    • SNAPPY
    • LZ4
    • ZZMOOVE Profile
    • GPU R3P2 Rel3 -> Rel4
  • etc.
    • DVFS(스로틀링 해제) : 게임 실행 시 클럭 다운되는 현상 해결
    • Touch Wake Disabled : 통화시 화면이 켜지는 현상 해결
    • PegasusQ 수정 : Core가 2개만 활성화되는 현상 해결



TouchWake 설정 방법 설명
  • TouchWake : 한번의 터치로 화면이 켜집니다.
    • KnockOn 체크해제
    • Slide2Wake 체크해제
    • TouchWake Delay값 조절
  • Slide2Wake : (세로로 두었다고 가정했을때) 왼쪽에서 오른쪽으로 슬라이드하면 화면이 켜집니다.
    • TouchWake 체크
    • Slide2Wake 체크
    • TouchWake Delay 값 = 0으로 조절
  • KnockOn : LG에 있는 기능으로, 두번 노크했을때 화면이 켜집니다.
    • TouchWake 체크
    • KnockOn 체크
    • KeyPower Mode 체크
!!!!!!! TouchWake를 체크하시지 않으시면 Slide2Wake, KnockOn 작동하지 않습니다.!!!!!!!

  • KeyPower Mode 전원버튼으로 화면을 꺼도 지정한 TouchWake Delay만큼 반응합니다.
  • TouchWake Delay : 화면이 꺼진 후 설정한 시간동안 화면의 터치를 인식합니다.
  • Charging Delay : 충전시에 화면이 꺼진 후 설정한 시간동안 화면의 터치를 인식합니다.
  • KnockOn Delay : 노크를 인식하는 딜레이 입니다. 값을 0으로 할 경우 KnockOn이 작동하지 않으며
                            길게 설정했을 경우 한번의 터치로 여러번 화면을 눌렀을때 화면이 켜지게 됩니다. 
     
TouchWake/Slide2Wake/KnockOn 설정관련해서는 질문을 받아도 답해드리지 않겠습니다.
피드백은 받겠습니다. 





Download Links [New WebSite]






f2fs File System 적용방법

주의사항 : 모든 내장메모리가 삭제됩니다. 외장SD카드나 컴퓨터에 백업 후 진행해주세요.

1. WIDzard 블로그에서 배포되는 Recovery를 플래싱합니다.
2. WIDzard Kernel을 플래싱합니다.
3. Wipe and Format Options
4. Custom Format Options
5. Toggle f2fs <-> f2fs 선택
6. Format Cache 에서 f2fs 선택
7. Format /data and /data/media 에서 f2fs 선택
(TouchWiz ROM Not Support )
8 . Reboot

♥공감 한번씩 부탁드릴게요^__^♥

댓글 한번씩 남겨주세요^^


'WIDzard Kernel > Galaxy Note2' 카테고리의 다른 글

EFS Backup & Restore Tool for Note2  (3) 2014.12.08
[AOSP][KT/SKT/LG U+] WIDzard Kernel V1.8  (27) 2014.08.18
2014. 8. 18. 19:59 - Str@wBerry

[AOSP][KT/SKT/LG U+] WIDzard Kernel V1.8



Features


3.0.101 - KitKat Kernel

SELinux Permissive

Compiler : Linaro Toolchain 4.9.1

Kernel LZ4 Compress 

Kernel LZ4 Decompress

-O3 Optimize 

AES and SHA1 routines Optimize

Triangle Away Support (Rooting Counter Reset)

Battery Charge Voltage Control

CPU Voltage Control (OC/UV)

GPU Voltage Control (OC/UV)

init.d Support

Implemented Dynamic FileSync

Add frandom

TouchWake/Slide2Wake/KnockOn

Adaptive Body Bias(ABB) Control 

f2fs FileSystem Support (@thx, arter97)

Implemented Boeffla / Wolfson Sound Engine

AIO (Backport 3.6.x Kernel)

LED Control (Like Cyanogen Mod LED)

Lastest Update 

LowMemoryKiller(LMK),ZRAM, ZCACHE,SNAPPY 

SLQB Memory Allocator (@thx, Nick piggin)

Implemented R/W Semaphore  : XCHGADD_ALGORITHM

ARM CPU Topology

Implemented intelli_plug

TW/AOSP Vibrator Control


CPU Governors

[Perfect Working]


zzmoove

lulzactiveQ

yankasusQ

pegasusQ

pegasusQ Plus

hotplug

adaptive

interactive

intelliactive

conservative

ondemand

userspace

powersave

performance


[Test Working]


badass

asswax

dancedance

smartassH3

nightmare

abyssplug

abyssplug V2

darkness

LionHeart


I/O Schedulers

noop

deadline

row

cfq

sio

vr

zen

fifo

bfq


TCP Congestion Control

cubic

bic

reno

westwood

highspeed

hybla


Feedback

Twitter : @supersunho
Line ID : widzard_dev



Change Log

  • Change Log V1.8-AOSP - 20140823

    • Add
      • Implemented intelli_plug 
      • TouchWIZ/AOSP Based ROM Vibrator_Control (진동세기 조절)
      • Add Governor : badass, asswax, dancedance, smartassH3,
                               nightmare, abyssplug, darkness, LionHeart 
        빌드만 되게 넣었습니다. 기능이 100% 구현되지 않습니다. (테스트 용)
      • Add Governor : intelliactive (정상 작동)
    • Update
      • Scheduler : zzmoove 0.9 beta3
      • Some Tweaks.. (성능 향상)
    • etc.
      • 최초 설치시 Synapse 앱 다시 제공 (안드로에드 업그레이드중.. 문제 해결)
      • Synapse 앱 한글화 번역 ( 완벽한 번역은 아닙니다)
        번역 : Kaldaris ( @WIDzard Team )
    Change Log V1.7 - 20140728

    • Add
      • f2fs Support (@thanks arter97-backport)
    • Update
      • TouchWake / Slide2Wake / KnockOn 정상 구동
      • Boeffla / Wolfson Engine : 스피커 값 고정 이슈 해결
      • Toolchain Change : Linaro 4.9.1
      • 게임 프리징 문제 해결 ( 1시간 테스트 결과 정상 )
    • etc.
      • 설치시 제공되던 Synapse 앱 제거, 마켓에서 다운로드 후 사용

    Change Log V1.6 - 20140722

    • Add
      • TouchWake/Slide2Wake/KnockOn(Thx@arter97)
      • mDNie Hijack 기본 적용 (해제 및 조절 가능합니다.)
      • Wolfson/Boeffla Sound Engine(V1.6.6)
      • AIO (Backport Kernel 3.6.x)
      • init.d Support withe Some Tweaks
      • Synapse Optimized for WIDzard Kernel
    • Update
      • 3.0.31 -> 3.0.101로 Upstream
      • SELinux Permissive (Kernel이 순정커널인지 체크하는 문제 해결)
      • 게임 실행 시 프리징 현상 발생 문제 해결
      • 화면 끄고 음악들을때 끊기는 문제 해결
      • 불필요한 Log 발생 제거
    • etc.
      • Aroma Installer : Knox 제거하는 단계 추가
      • Synapse가 자동으로 설치됩니다. Kernel Control 가능합니다.

    Change Log V1.5 - 20140716

    • Add
      • Governor : Wheatley (3.4 Kernel Port)
      • GPU Simple Algorithm 
    • Update
      • USB 충전 안되는것 수정
    • etc.
      • Aroma Installer 형식으로 리커버리 설치형식 변경

    Change Log V1.4 - 20140706

    • Add
      • SLQB memory Allocator (Thx@Nick Piggin)
      • R/W Semaphore implement : XCHGADD_ALGORITHM
      • ARM CPU Topology
    • Update
      • Memory Some Tweaks 
    • etc.
      • 게임시 발생되던 잔렉들 완벽히 제거
    Change Log V1.3 - 20140704

    • Add
      • Governor : Intelliactive (Linux Kernel 3.1 Backport)
      • I/O Scheduler : BFQ (Version Update : V7R2)
      • LED Fading (AOSP처럼 부드럽게 반짝입니다.)
      • GPU Simple Algoritm
    • Update
      • LowMemoryKiller
      • Dynamic FSync
      • ZRAM 
      • ZCACHE
      • LZO
      • SNAPPY
      • LZ4
      • ZZMOOVE Profile
      • GPU R3P2 Rel3 -> Rel4
    • etc.
      • DVFS(스로틀링 해제) : 게임 실행 시 클럭 다운되는 현상 해결
      • Touch Wake Disabled : 통화시 화면이 켜지는 현상 해결
      • PegasusQ 수정 : Core가 2개만 활성화되는 현상 해결




TouchWake 설정 방법 설명

  • TouchWake : 한번의 터치로 화면이 켜집니다.
    • KnockOn 체크해제
    • Slide2Wake 체크해제
    • TouchWake Delay값 조절
  • Slide2Wake : (세로로 두었다고 가정했을때) 왼쪽에서 오른쪽으로 슬라이드하면 화면이 켜집니다.
    • TouchWake 체크
    • Slide2Wake 체크
    • TouchWake Delay 값 = 0으로 조절
  • KnockOn : LG에 있는 기능으로, 두번 노크했을때 화면이 켜집니다.
    • TouchWake 체크
    • KnockOn 체크
    • KeyPower Mode 체크

!!!!!!! TouchWake를 체크하시지 않으시면 Slide2Wake, KnockOn 작동하지 않습니다.!!!!!!!

  • KeyPower Mode 전원버튼으로 화면을 꺼도 지정한 TouchWake Delay만큼 반응합니다.
  • TouchWake Delay : 화면이 꺼진 후 설정한 시간동안 화면의 터치를 인식합니다.
  • Charging Delay : 충전시에 화면이 꺼진 후 설정한 시간동안 화면의 터치를 인식합니다.
  • KnockOn Delay : 노크를 인식하는 딜레이 입니다. 값을 0으로 할 경우 KnockOn이 작동하지 않으며
                            길게 설정했을 경우 한번의 터치로 여러번 화면을 눌렀을때 화면이 켜지게 됩니다. 
     
TouchWake/Slide2Wake/KnockOn 설정관련해서는 질문을 받아도 답해드리지 않겠습니다.
피드백은 받겠습니다. 

Download Links [New WEB Site]




테스트에 참여해주신 Windows8k(@develoid)정원이아빠(@Matcl) 두 분께 진심으로 감사드립니다.


LG Custom Rom Status (2014.08.17 기준) -  정원이아빠(@Matcl)

  • CM11, AOKP, PAC, Carbon, MIUI
    • 문자 : 수신, 발신 가능
    • MMS: 수신, 발신 가능
    • 전화 : 수신, 발신 가능
  • Omni
    • 문자 : 수신 가능, 발신 불가
    • MMS: 수신, 발신 불가
    • 전화 : 수신, 발신 가능
  • SOKP
    • 문자 : 수신, 발신 가능
    • MMS: 수신, 발신 불가
    • 전화 : 수신, 발신 가능
8월17일자 기준으로 이전 롬을 사용해주시기 바랍니다.

플레이스토어 및 LTE 사용하기 - (windows8k, @develoid)

1. 통화 >  *#*#4636#*#* > 휴대폰 정보에 들어갑니다.

2. GSM/CDMA 망으로 변경 후 플레이스토어에 로그인합니다.
    (안되시는 경우, 재부팅 후 로그인하면 됩니다.)

3. 다시 통화 > *#*#4636#*#* > 휴대폰 정보에 들어갑니다.

4. LTE/GSM/CDMA 으로 변경합니다.


f2fs File System 적용방법

주의사항 : 모든 내장메모리가 삭제됩니다. 외장SD카드나 컴퓨터에 백업 후 진행해주세요.

1. WIDzard 블로그에서 배포되는 Recovery를 플래싱합니다.
2. WIDzard Kernel을 플래싱합니다.
3. Wipe and Format Options
4. Custom Format Options
5. Toggle f2fs <-> f2fs 선택
6. Format Cache 에서 f2fs 선택
7. Format /data and /data/media 에서 f2fs 선택
8 . Reboot

♥공감 한번씩 부탁드릴게요^__^♥


참고사항
컨버팅 과정 거치실 필요 없습니다. 컨버팅 하지 말아주세요.






2014. 3. 16. 08:20 - 알 수 없는 사용자

안드로이드 커널 빌드 및 플래싱 파일 생성 방법


안녕하세요, 칼다리스입니다. 환경 구축에 대한 글을 쓴지도 꽤 시간이 지났네요. 이사준비 등 바쁜 일이 많아 커널은 거의 건드리지 못했네요. 지난 글에선 커널 빌드를 위한 개발환경 구축에 대해 알아보았으니 이번엔 커널을 빌드하는 과정과 배포를 위한 커스텀 리커버리 플래싱 파일을 만드는 방법을  알아보겠습니다.



커널 소스

커널 빌드는 시간이 좀 걸린다는 것 뿐이지 실제로 어려운 점은 별로 없습니다. 우선 빌드하고자 하는 커널의 소스코드를 다운로드해 시작해야겠죠? 각 제조사마다 오픈소스 사이트를 운영해 커널 소스를 공개해둡니다:

삼성 http://opensource.samsung.com/

LG http://www.lg.com/global/support/opensource/index

팬택 http://opensource.pantech.com/model/list.asp?Category=Mobile

HTC http://www.htcdev.com/devcenter/downloads

소니 http://developer.sonymobile.com/downloads/opensource/


대부분 사이트는 갤럭시 S3, 베가 R3 식이 아닌 M440S, A850K처럼 모델명을 이용하니 모델명을 먼저 알아둘 필요가 있습니다. 압축파일일 경우 압축을 풀면 arch, block같은 폴더들이 나오니 바로 커널 소스입니다. 여러분이 사용하는 디바이스의 클럭, 그래픽 외 상당 수의 기능들이 이 소스를 트윅하여 개발됩니다.



램디스크

커널 소스에서 빌드되는 파일들은 zImage와 ko확장자를 가진 모듈입니다. 하지만 커널을 완성하기 위해선 램디스크라는 것이 필요한데 이미 존재하는 커널에서 추출해야 합니다. 인터넷에서 검색을 통해 찾으셔도 되며 직접 디바이스에서 boot.img를 추출하셔도 됩니다. boot.img에서 램디스크를 추출하는 프로그램은 여러 개발자들이 배포해 여러가지가 존재합니다. 제 경우엔 Koush님의 AnyKernel을 약간 수정해 디바이스에서 직접 언팩을 해 필요한 파일들을 추출했습니다.


직접 추출을 하시려면 먼저 디바이스에서 파일탐색기를 이용해 /dev/block/platform/msm_sdcc.1/by-name으로 들어가 boot폴더의 링크 경로를 찾아야 합니다. 보통 /dev/block/mmcblk0p#형식입니다. 다음은 이 링크를 통해 kernelunpacker.zip을 받으신 후 /META-INF/com/google/android/updater-script를 열어 9번째 줄에 mmcblk0p7을 아까 찾은 경로로 수정합니다. 이후 커스텀 리커버리에서 zip파일을 플래싱하면 내장메모리에 램디스크를 비롯해 boot.img-로 시작하는 커널을 만드는데 필요한 여러 파일들이 내장메모리에 생성됩니다.



커널 빌드

커널 빌드 환경 구축은 복잡했지만 직접적인 빌드 과정은 그리 어렵지 않습니다. 터미널을 이용해 몇가지 명령어만 적어주고 기다리면 필요한 이미지가 나오게 되죠. 명령어는 디바이스나 제조사에 따라 약간 다르지만 다음과 비슷합니다:

  • export ARCH=arm
  • export CROSS_COMPILE=<툴체인 경로>
  • make clean <<= 커널 빌드 후 새로운 빌드를 위해 코드 잔해 제거
  • make ####_defconfig <<= 커널 빌드 시 적용할 설정
  • make <<= 커널 빌드

이렇게 명령어를 실행하면 커널의 한부분인 zImage와 제조사에 따라 함께 필요한 .ko 모듈 파일들이 생성됩니다. 처음 2개의 명령어는 공통적이지만 나머지는 제조사에 따라 다르니 커널 소스와 함께 배포되는 README 파일을 참조하시기 바랍니다.
물론 빌드 자체는 쉽지만 소스코드를 수정해 기능을 추가하는 것이 어려운 작업이죠. 소스코드를 수정하는데 대한 팁과 깃헙사용법은 다음에 다루도록 하겠습니다.



커널 리팩

zImage와 램디스크, 모듈이 준비되었다면 boot.img형식으로 리팩을 해야합니다. boot.img 언패킹과 마찬가지로 repack하는 도구가 따로 있으나 이 역시 여러가지가 존재합니다. 전 언팩과 마찬가지로 디바이스에서 리팩하는 형식을 이용합니다. 전 AnyKernel을 직접 수정해 사용 중이지만 귀차니즘이 발동하신 분들은 Koush님의 AnyKernel을 다운로드해 /kernel폴더에 zImage를, /system/lib/modules폴더에 .ko 모듈을 삽입한 후 플래싱하시면 됩니다.


만약 램디스크를 수정하셨다면 스크립트를 약간 수정하셔야 플래싱 가능합니다. 제 커널을 다운로드해 kernel폴더의 내용 중 base, cmdline, pagesize, ramdisk.gz, zImage를 디바이스에 맞는 파일들로 수정하셔야 합니다. 이 때 앞부분의 "boot.img-"는 제거하시면 됩니다. system폴더의 etc폴더는 삭제하신 후 모듈이 있다면 /system/lib/modules 경로에 넣으세요. 이후 updater-script를 열어 다음 내용을 넣습니다:

  • mount("MTD", "system", "/system");
  • package_extract_dir("system", "/system");
  • package_extract_dir("kernel", "/tmp");
  • set_perm(0, 0, 0777, "/tmp/mkbootimg.sh");
  • set_perm(0, 0, 0777, "/tmp/mkbootimg");
  • set_perm(0, 0, 0777, "/tmp/busybox");
  • run_program("/tmp/mkbootimg.sh");
  • run_program("/tmp/busybox", "dd", "if=/tmp/newboot.img", "of=/dev/block/mmcblk0p#"); <<경로 수정하세요
  • unmount("/system");


*주의* 직접할 땐 몰랐는데 여러 디바이스를 위해 쓰려니 어렵네요. zImage형식으로 배포되는 같은 디바이스를 위한 커널 플래싱 파일을 참고하시는게 최고입니다.



위와 같이 준비하셨다면 플래싱할 준비가 되었습니다. 우선 사용 중인 커널을 백업해두신 후 새로 빌드하신 커널을 플래싱해 성공하시면 여러분 역시 커널 개발자(?)가 되었습니다!


2014. 1. 17. 08:03 - 알 수 없는 사용자

안드로이드: 커스텀 커널이란?


안녕하세요, 칼다리스입니다! 이번 글에선 커스텀 롬과 함께 안드로이드 커스터마이징의 양대산맥을 이루고 있는 커스텀 커널에 대해 알아보려 합니다. 프로세서 클럭 속도나 전압조절 등 커스텀 롬과는 또 다른 종류의 성능향상을 제공하는 부분이 바로 커스텀 커널입니다. 현재 사용 중인 커널은 폰정보 아래 Kernel version에서 확인하실 수 있습니다.




커널이란?

커스텀 커널을 알기 위해 우선 커널이 무엇인가 알아볼 필요가 있습니다. 커널은 모든 운영체제의 가장 기본적인 요소이며 쉽게 말해 소프트웨어와 하드웨어를 연결해주는 다리라고 보시면 됩니다. 여기서 소프트웨어는 여러분이 사용중이신 안드로이드 "운영체제", 하드웨어는 디스플레이, 스피커 등 물리적인 부품을 말하는 것이죠. 다음과 같은 그림으로 보면 쉽게 이해가 됩니다.

하드웨어 <=> 커널 <=> 소프트웨어


예를 들어 앱을 실행하기 위해 스크린을 터치하는 것도 실제론 복잡한 과정을 거칩니다. 화면의 터치를 인식하는 계수기(digitiser)에서 터치를 인식하면 좌표가 생성되어 커널을 통해 시스템(운영체제)에 전달됩니다. 시스템은 현재 보여지고 있는 화면에서 그 좌표는 앱실행을 의미하는 것을 알고 앱을 실행합니다. 앱이 실행될 경우 디스플레이에 보여야 하는 이미지가 바뀌기에 시스템은 커널을 통해 디스플레이에 띄워야 할 데이터를 보내 화면으로 비춰지게 되는 것이죠.

예가 좀 복잡했을 수도 있지만 앱실행 외에도 통화, 화면밝기 조절 등 커널이 빠지는 곳은 거의 없습니다. 만약 커널이 없다면 개발자들은 여러 디바이스에 존재하는 모든 하드웨어에 대한 각 이벤트 (터치, 버튼 누르기 등)에 대조되는 하드웨어 액션에 대한 코드를 일일이 개발해야 합니다. 한마디로 불가능이죠. 커널이 존재함으로 소프트웨어 개발자는 구글에서 제공하는 커널인터페이스인 안드로이드 API만 활용할 수 있으면 되며 하드웨어 개발자들 역시 하드웨어가 커널과 소통할 수 있도록 드라이버만 개발하면 되는 것입니다.



커스텀 커널

디바이스 제조사에 의해 배포되는 "순정" 커널은 제한된 부분이 많습니다. 예를 들면 안정성을 위해 전압량을 일정 수준으로 유지되도록 코드를 설계해두는 것이죠. 반면 커스텀 커널은 제조사가 아닌 개인 개발자들이 오픈소스로 공개된 제조사의 커널 소스코드를 이용해 코드를 수정하거나 추가함으로써 기존 제한되었던 기능들을 사용가능하게 합니다. 프로세서 클럭 속도가 가장 자주 언급되는 예로 추가적인 코드를 통해 프로세서가 더 높은 속도를 낼 수 있도록 할 수 있습니다. 또는 유저들이 앱을 통해 전압을 수정할 수 있도록 코드를 추가해 전압을 낮춰 배터리를 절약할 수도 있습니다. 그 외에도 사운드관련 트윅도 가능하며 각종 트윅을 통해 디바이스의 성능을 최대한 끌어낼 수 있습니다.

제가 드린 설명으론 어렵거나 헷갈릴 수도 있습니다. 커스텀 커널을 가장 쉽게 이해하는 방법은 직접 사용해보면서 몸으로 느끼는 것입니다. 커스텀 커널을 사용해 직접 여러가지 설정을 건드려보면 유저들이 왜 커스텀 커널을 원하는지 쉽게 체험할 수 있습니다.



개발자에 따라 커널이 지원하는 기능은 천차만별입니다. 커널 역시 리커버리와 마찬가지로 정해진 디바이스에서만 사용이 가능합니다. 대부분의 경우 커스텀 리커버리를 통한 ZIP설치파일로 배포되지만 갤럭시 디바이스의 경우 TAR형식으로 오딘 프로그램을 이용해 설치하는 방식으로도 배포되는 경우도 있습니다.