포럼 회원으로 등록하신분만 다운로드가 가능합니다. 최대 업로드 가능한 용량은 20MB 입니다.

안녕하세요?

 

이번에 S3C6410 프로세서용 Android Kernel 2.6.29 이식 강좌를 올리니, 많은 도움 되시길 바랍니다.

 

여기에 기술된 절차는 실제로 aESOP S3C6410 2.6.29 커널을 제작할 때 사용한 방법 입니다.

 

1. Android Kernel 2.6.29 개요

 

1) 현재 발표된 최신의 안정화된 Kernel Version
2) 향후 Linux 공식 Kernel Version에서 Android Kernel과 통합
3) Cupcake 1.5를 완전하게 지원
4) 이 커널을 기점으로 Processor Kernel 을 Android 이식 방법에서,

     Android Kernel을 Processor에 맞는 Kernel 을 이식하는 방법으로 Android 이식 절차가 변경 됨
5) 강의에서 사용될 커널은 삼성에서 릴리즈한 SMDK6410용 2.6.28 Kernel을 기준으로 설명

 

2. 커널 소스 다운로드 방법

 

1) SMDK6410용 2.6.28.6 소스 :
http://git.kernel.org/?p=linux/kernel/git/kki_ap/samsung-ap-2.6.git;a=summary 의 Snapshot을 사용

(4월 30일 버전 - 현재 이솝 포럼의 S3C6410 자료실에 있습니다.)

 

2) Android Kernel 2.6.29 소스 :
http://android.git.kernel.org/?p=kernel/common.git;a=tree;h=refs/heads/android-2.6.29;hb=android-2.6.29 의 Snapshot을 사용

 

3) 해당 소스를 다운로드 후, ~/Android-2.9-AESOP 디렉터리를 생성한 후 압축을 해제
4) 크로스 컴파일러는 이솝 포럼 자료실의 arm-s3c6410-linux-gnueabi-gcc 4.2.4 컴파일러를 사용

 

3. Kernel에 포팅할 드라이버 목록

 

SMDK6410 2.6.28 커널에서 Android Kernel 2.6.29로 이식할 드라이버 목록

 

SMDK6410용 2.6.28 커널에는 다음과 같은 드라이버들이 이식되어 있으며, 우선 Android 커널로 이식할

드라이버 목록들을 확인한다.

 

1) 아키텍쳐 드라이버

arch/arm/plat-s3c
arch/arm/plat-s3c64xx
arch/arm/mach-s3c6410

 

2) RTC 드라이버
rtc/rtc-s3c.c

 

3) MMC/SD 드라이버
mmc/host/s3cmci.h
mmc/host/s3c-hsmmc.c
mmc/host/s3cmci.c
mmc/host/sdhci-s3c.c

 

4) IRDA 드라이버
net/irda/s3c-sir.c

 

5) Watch Dog Timer
watchdog/s3c2410_wdt.c

 

6) Frame Buffer 드라이버
video/s3c2410fb.h
video/s3c2410fb.c
video/samsung/s3cfb.c
video/samsung/s3cfb_ltv350qv.c
video/samsung/s3cfb_lte480wv.c
video/samsung/s3cfb.h
video/samsung/s3cfb_fimd5x.c
video/samsung/s3cfb_lts222qv.c
video/samsung/s3cfb_fimd4x.c
video/samsung/s3cfb_spi.c

 

7) SPI 드라이버
spi/spi_s3c24xx.c
spi/spi_s3c24xx_gpio.c

 

8) Serial 드라이버
serial/s3c6400.c

 

9) One-NAND 드라이버
mtd/onenand/s3c_onenand.c
mtd/onenand/s3c_onenand.h
mtd/nand/s3c_nand.c

 

10) I2C 드라이버
i2c/busses/i2c-s3c2410.c

 

11) Video 4 Linux 드라이버
media/video/samsung/fimd/s3c_fimd5x_regs.c
media/video/samsung/fimd/s3c_fimd.h
media/video/samsung/fimd/s3c_fimd_core.c
media/video/samsung/fimd/s3c_fimd_cfg.c
media/video/samsung/fimd/s3c_fimd_v4l2.c
media/video/samsung/g2d/s3c_fimg2d2x.h
media/video/samsung/g2d/s3c_fimg2d2x.c
media/video/samsung/post/s3c_post_regs.c
media/video/samsung/post/s3c_post_v4l2.c
media/video/samsung/post/s3c_pp_common.c
media/video/samsung/post/s3c_pp.h
media/video/samsung/post/s3c_post_core.c
media/video/samsung/post/s3c_pp_6400.c
media/video/samsung/post/s3c_post_cfg.c
media/video/samsung/post/s3c_post.h
media/video/samsung/post/s3c_pp_common.h
media/video/samsung/mfc10/s3c_mfc_inst_pool.h
media/video/samsung/mfc10/s3c_mfc_config.h
media/video/samsung/mfc10/s3c_mfc_base.h
media/video/samsung/mfc10/s3c_mfc_sfr.c
media/video/samsung/mfc10/s3c_mfc_instance.h
media/video/samsung/mfc10/s3c_mfc_databuf.h
media/video/samsung/mfc10/s3c_mfc_bitproc_buf.c
media/video/samsung/mfc10/s3c_mfc_sfr.h
media/video/samsung/mfc10/s3c_mfc.c
media/video/samsung/mfc10/s3c_mfc_yuv_buf_manager.c
media/video/samsung/mfc10/s3c_mfc_instance.c
media/video/samsung/mfc10/s3c_mfc_databuf.c
media/video/samsung/mfc10/s3c_mfc_params.h
media/video/samsung/mfc10/s3c_mfc_intr_noti.h
media/video/samsung/mfc10/s3c_mfc_bitproc_buf.h
media/video/samsung/mfc10/s3c_mfc_inst_pool.c
media/video/samsung/mfc10/s3c_mfc_init_hw.c
media/video/samsung/mfc10/s3c_mfc.h
media/video/samsung/mfc10/s3c_mfc_yuv_buf_manager.h
media/video/samsung/mfc10/s3c_mfc_types.h
media/video/samsung/mfc10/s3c_mfc_init_hw.h
media/video/samsung/mfc10/s3c_mfc_set_config.c
media/video/samsung/fimc/s3c_fimc_v4l2.c
media/video/samsung/fimc/s3c_csis.h
media/video/samsung/fimc/s3c_fimc3x_regs.c
media/video/samsung/fimc/s3c_fimc_core.c
media/video/samsung/mfc40/s3c_mfc_intr.h
media/video/samsung/mfc40/s3c_mfc_opr.h
media/video/samsung/mfc40/s3c_mfc_common.h
media/video/samsung/mfc40/s3c_mfc_buffer_manager.h
media/video/samsung/mfc40/s3c_mfc_opr.c
media/video/samsung/mfc40/s3c_mfc_fw.h
media/video/samsung/mfc40/s3c_mfc_logmsg.h
media/video/samsung/mfc40/s3c_mfc_memory.h
media/video/samsung/mfc40/s3c_mfc_intr.c
media/video/samsung/mfc40/s3c_mfc_interface.h
media/video/samsung/mfc40/s3c_mfc_types.h

 

12) LED 드라이버
leds/leds-s3c24xx.c

 

13) Direct Memory Interface Driver
char/s3c_mem.c
char/s3c_mem.h

14) Key-Pad Driver (SMDK Board용)
input/keyboard/s3c-keypad.h
input/keyboard/s3c-keypad.c

 

15) Touch Screen Driver
input/touchscreen/s3c-ts.c

 

16) USB-OTG Gadget Driver
usb/gadget/s3c_udc_otg_xfer_slave.c
usb/gadget/s3c2410_udc.h
usb/gadget/s3c_udc_otg.c
usb/gadget/s3c_udc_otg_xfer_dma.c
usb/gadget/s3c2410_udc.c
usb/gadget/s3c_udc.h

 

17) USB Host Driver
usb/host/ohci-s3c2410.c

 

18) USB-OTG Host Driver
usb/host/s3c-otg
usb/host/s3c-otg/s3c-otg-scheduler-scheduler.c
usb/host/s3c-otg/s3c-otg-transfer-transfer.h
usb/host/s3c-otg/s3c-otg-transferchecker-common.c
usb/host/s3c-otg/s3c-otg-transferchecker-bulk.h
usb/host/s3c-otg/s3c-otg-transferchecker-checker.h
usb/host/s3c-otg/s3c-otg-oci.c
usb/host/s3c-otg/s3c-otg-common-const.h
usb/host/s3c-otg/s3c-otg-transferchecker-interrupt.h
usb/host/s3c-otg/s3c-otg-transfer-periodic.c
usb/host/s3c-otg/s3c-otg-hcdi-hcd.h
usb/host/s3c-otg/s3c-otg-common-errorcode.h
usb/host/s3c-otg/s3c-otg-hcdi-hcd.c
usb/host/s3c-otg/Makefile
usb/host/s3c-otg/s3c-otg-common-datastruct.h
usb/host/s3c-otg/s3c-otg-hcdi-debug.h
usb/host/s3c-otg/s3c-otg-transferchecker-common.h
usb/host/s3c-otg/s3c-otg-common-common.h
usb/host/s3c-otg/s3c-otg-hcdi-list.h
usb/host/s3c-otg/s3c-otg-scheduler-scheduler.h
usb/host/s3c-otg/s3c-otg-transferchecker-bulk.c
usb/host/s3c-otg/s3c-otg-common-regdef.h
usb/host/s3c-otg/s3c-otg-transfer-common.c
usb/host/s3c-otg/s3c-otg-isr.h
usb/host/s3c-otg/s3c-otg-hcdi-driver.c
usb/host/s3c-otg/s3c-otg-oci.h
usb/host/s3c-otg/s3c-otg-transferchecker-control.h
usb/host/s3c-otg/s3c-otg-roothub.c
usb/host/s3c-otg/s3c-otg-scheduler-ischeduler.c
usb/host/s3c-otg/s3c-otg-scheduler-readyq.c
usb/host/s3c-otg/s3c-otg-transferchecker-control.c
usb/host/s3c-otg/s3c-otg-transferchecker-interrupt.c
usb/host/s3c-otg/s3c-otg-isr.c
usb/host/s3c-otg/s3c-otg-transfer-nonperiodic.c
usb/host/s3c-otg/s3c-otg-roothub.h
usb/host/s3c-otg/s3c-otg-hcdi-memory.h
usb/host/s3c-otg/s3c-otg-hcdi-kal.h
usb/host/s3c-otg/s3c-otg-hcdi-driver.h

 

19) IRDA 드라이버
hid/hid-samsung.c

 

20) 그 외 기타 드라이버

2편에서 계속~ :)

profile

인생은 연극이고 세상은 무대이다!

이솝 임베디드 포럼 운영 및 비즈니스와 관련된 것 이외에 E-Mail이나 메신저 및 휴대폰 등을 통한 개인적인 질문 및 답변은 받지 않습니다. 문의 사항은 이솝 임베디드 포럼 게시판을 이용해 주시면 감사하겠습니다.

엮인글 :
http://www.aesop.or.kr/index.php?mid=Board_Documents_Android_Frameworks&document_srl=34790&act=trackback&key=705

고현철

2009.09.04 07:51:02
*.32.117.22

나이스.......짝짝짝........

 

이거 끝나면 내가 받아서 강좌를 해야하나.....쩝

한영민

2009.09.04 18:26:20
*.89.172.2

재훈아...........

 

머하니~.~~~

List of Articles
번호 제목 글쓴이 날짜 조회 수sort
» S3C6410 프로세서용 Andoird Kernel 2.6.29 이식 방법 #1 [2] 김재훈 2009-09-04 15823
23 [실습-03] android source compile시 battery 부분 patch하기 [7] 고도리 2010-05-24 15897
22 Android 2.1 source tree 설명 file [20] 고도리 2010-09-02 15901
21 삼성 안드로이드폰(갤럭시) 리눅스 커널 소스코드 file [3] 유형목 2009-09-01 15909
20 Android OpenCore 모임추진 ? [8] 장석원 2009-08-07 16001
19 Android 부팅 및 초기화 절차 김재훈 2009-04-09 17000
18 Android 윈도우에서 git로 소스 받기.. [3] 2009-07-14 17021
17 [번역] Android Opencore Multimedia Framework 번역본 file [7] 고도리 2009-08-25 17636
16 PV와 Android [5] 이제현 2009-04-19 18163
15 android를 6410에 포팅하면서... [7] 전병환 2009-04-10 18228
14 Android audioflinger 분석자료 입니다. file [11] 고현철 2009-07-30 18819
13 Android Debug Bridge(ADB) 사용 가이드 김재훈 2009-04-09 18864
12 Android 2.x AudioFlinger와 HAL의 연결 구조 분석 [2] JhoonKim 2010-04-08 19343
11 Android make옵션 [3] 2009-07-16 19464
10 [번역] Android Camera Framework 번역 file [7] 고도리 2009-09-10 19665
9 S3C6410 target으로의 Android porting에 대하여(1) [3] 고현철 2009-04-23 20133
8 Android에서의 Linux Network 환경 설정 방법 [1] 김재훈 2009-04-21 20516
7 Android용 root filesystem으로 cramfs 구성 할 때의 주의사항 [7] 김영문 2009-04-09 21375
6 [참고] Android wifi howto - 아직 테스트는 다 못했습니다. file [10] 고도리 2009-09-22 21723
5 OpenGL ES와 Android [3] 이제현 2009-04-18 22839

사용자 로그인