본문 바로가기

Hello Android

삼성 커널 빌드


===================================================

커널 소스 다운로드

===================================================
http://opensource.samsung.com/

SHW-M110S_GB_Opensource_Update8.zip


===================================================

필요한 패키지 설치

===================================================

sudo apt-get install git-core gnupg flex bison gperf libsdl-dev libesd0-dev libwxgtk2.6-dev build-essential zip curl libncurses5-dev zlib1g-dev valgrind libreadline5-dev gcc-multilib g++-multilib libc6-dev  x11proto-core-dev libx11-dev libz-dev gawk texinfo automake libtool cvs libsdl-dev


===================================================

툴체인 설치 (Codesourcery G++ Lite 2009q3-67)

===================================================
http://www.codesourcery.com/sgpp/lite/arm/portal/package5383/public/arm-none-linux-gnueabi/arm-2009q3-67-arm-none-linux-gnueabi-i686-pc-linux-gnu.tar.bz2


mkdir ~/toolchain

mv ~/Downloads/arm-2009q3-67-arm-none-linux-gnueabi-i686-pc-linux-gnu.tar.bz2 ~/toolchain

cd ~/toolchain

tar xjf arm-2009q3-67-arm-none-linux-gnueabi-i686-pc-linux-gnu.tar.bz2

sudo mkdir /opt/toolchains

sudo ln -s /home/pastime0/toolchain/arm-2009q3 /opt/toolchains/arm-2009q3


===================================================

initramfs.cpio 추출

===================================================

M110S-Gingerbread-HOME-IMAGE-REV03-WF07-2145-USER.tar

1. zImage 에서 piggy.o 추출 - gzip으로 압축되어 있음  gzip의 magic number 1f 8b 08 을 찾아서 이전 부분을 모두 지워서 zImage_piggy.gz 파일을 만든다.

이 파일을 압축을 풀어서, zImage_piggy 파일을 추출 한다.



2. zImage_piggy 에서 initramfs 추출

  magic number 30 37 30 37 30 을 찾아서 이전 부분을 모두 지우고,

  string TRAILER!!! 을 찾아서 이후 부분을 모두 지워서,

  ramdisk.cpio 파일을 만든다.



===================================================

커널 환경설정

===================================================

/arch/arm/configs 에서 설정 파일들 확인


 $ make menuconfig


General Setup -> Initramfs source file(s) -> 추출한 cpio 파일의 경로(/home/pastime0/initramfs.cpio)
< Exit > -> Save an Alternate Configuration File -> < Exit >


 $ make ARCH=arm CROSS_COMPILE=/home/ruo91/arm-2009q3/bin/arm-none-linux-gnueabi-


===================================================

zImage 확인

===================================================

arch/arm/boot
tar cvf ruo91_kernel.tar {zImage,factoryfs.rfs,modem.bin}
압축한 파일을 윈도우로 복사하여 Odin(오딘)으로 펌웨어를 밀어 넣으면 됩니다.

'Hello Android' 카테고리의 다른 글

[우분투] VMWare 디스크 용량 늘리기  (4) 2014.01.23
linux 폴더 이동 쉽게  (0) 2013.11.12
zImage에서 initramfs 추출  (0) 2012.10.11
GVIM 환경설정  (3) 2012.08.30
[우분투] 환경설정  (0) 2012.08.07