Source: http://www.aesop.or.kr/?document_srl=46778
---------------------------------------
계속 삼성 bsp에 의존하다가
몇년만에 직접 포팅하려고 하니.. 옛생각도 나면서.. (집나가면 개고생이라는... CF문구가 생각나네요)
주말에 Aesop에서 Android를 공개한다고 하니.. 기다려 보렵니다.
공개전에 한번 해보고 싶었는데... 인내하고 기다려야 겠네요.. ^^
작업했던 내용 간단하게 적어보겠습니다.
1. kernel
kandroid의 소스를 다운 받았습니다.
git clone git://www.kandroid.org/samsung-s3c6410-android.1.0
2. config 파일은 다음 파일을 기본으로 사용했습니다.
samsung-s3c6410-android.1.0/arch/arm/configs/smdk6410mtd_android.081213
3. 컴파일러
aesop에서 제공한 gcc 4.2.4 와
삼성에서 제공한 gcc 4.2.2 아무거나 사용해도 됩니다.
단 삼성에서 제공한 gcc 4.3.1은 link에서 error가 발생되더군요..
4. root file system
이거 고생좀 했습니다. 어느 업체에서 얻어논 file system을 사용했다가...
고현철님께서 알려주신곳에서 참고해서 만들었습니다.
4.1 http://benno.id.au/blog/2007/11/14/android-busybox android용으로 컴파일된 busybox를 다운 받습니다.
(처음에.. pull 로 파일을 다 받아야 하나 생각했었는데... 역시 잔머리가..)
4.2 emulator (저는 Windows PC에서 작업했습니다.)
working location "android-sdk-windows-1.0_r2\tools"
4.2.1 sd card image 생성 ( emulator의 파일 시스템이 read only가 많아서.. 이렇게 했습니다.)
#makesdcard 128M sd.img
4.2.2 emulator 실행 (dos 창 1)
#emulator --sdcard sd.img
menu --> Dev Tools --> Media Scanner ( sd.img 인식)
4.2.3 adb (dos 창 2)
#adb push busybox /sdcard (sd.img에 4.1에서 받은 busybox를 push)
#adb shell <-- 접속)
#chmod 777 /sdcard/busybox
#/sdcard/busybox tar -cf /sdcard/system.tar /system
#/sdcard/busybox tar -cf /sdcard/data.tar /data
#/sdcard/busybox tar -cf /sdcard/dev.tar /dev
# exit
4.3 sd.img, ramdisk.img 가져오기
"android-sdk-windows-1.0_r2\tools\sd.img"
"android-sdk-windows-1.0_r2\tools\lib\ramdisk.img"
4.4 ramdisk 통합하기
위에서 생성된 모든 파일을 linux PC에서 작업
ramdisk.img , sd.img
#mkdir sd
#mount -o loop sd.img sd
#mkdir root_disk
# gzip -cd ramdisk.img > ramdisk
# cp ramdisk root_disk
# cpio -iv -F ramdksk
# rm ramdisk
# cd ..
# tar xvf sd\system.tar -C root_disk
# tar xvf sd\data.tar -C root_disk
# tar xvf sd\dev.tar -C root_disk
4.5 init.rc 수정 (최종환님께서 얄려주셨습니다.)
loglevel 3 --> loglevel 6
아래사항 주석처리
몇년만에 직접 포팅하려고 하니.. 옛생각도 나면서.. (집나가면 개고생이라는... CF문구가 생각나네요)
주말에 Aesop에서 Android를 공개한다고 하니.. 기다려 보렵니다.
공개전에 한번 해보고 싶었는데... 인내하고 기다려야 겠네요.. ^^
작업했던 내용 간단하게 적어보겠습니다.
1. kernel
kandroid의 소스를 다운 받았습니다.
git clone git://www.kandroid.org/samsung-s3c6410-android.1.0
2. config 파일은 다음 파일을 기본으로 사용했습니다.
samsung-s3c6410-android.1.0/arch/arm/configs/smdk6410mtd_android.081213
3. 컴파일러
aesop에서 제공한 gcc 4.2.4 와
삼성에서 제공한 gcc 4.2.2 아무거나 사용해도 됩니다.
단 삼성에서 제공한 gcc 4.3.1은 link에서 error가 발생되더군요..
4. root file system
이거 고생좀 했습니다. 어느 업체에서 얻어논 file system을 사용했다가...
고현철님께서 알려주신곳에서 참고해서 만들었습니다.
4.1 http://benno.id.au/blog/2007/11/14/android-busybox android용으로 컴파일된 busybox를 다운 받습니다.
(처음에.. pull 로 파일을 다 받아야 하나 생각했었는데... 역시 잔머리가..)
4.2 emulator (저는 Windows PC에서 작업했습니다.)
working location "android-sdk-windows-1.0_r2\tools"
4.2.1 sd card image 생성 ( emulator의 파일 시스템이 read only가 많아서.. 이렇게 했습니다.)
#makesdcard 128M sd.img
4.2.2 emulator 실행 (dos 창 1)
#emulator --sdcard sd.img
menu --> Dev Tools --> Media Scanner ( sd.img 인식)
4.2.3 adb (dos 창 2)
#adb push busybox /sdcard (sd.img에 4.1에서 받은 busybox를 push)
#adb shell <-- 접속)
#chmod 777 /sdcard/busybox
#/sdcard/busybox tar -cf /sdcard/system.tar /system
#/sdcard/busybox tar -cf /sdcard/data.tar /data
#/sdcard/busybox tar -cf /sdcard/dev.tar /dev
# exit
4.3 sd.img, ramdisk.img 가져오기
"android-sdk-windows-1.0_r2\tools\sd.img"
"android-sdk-windows-1.0_r2\tools\lib\ramdisk.img"
4.4 ramdisk 통합하기
위에서 생성된 모든 파일을 linux PC에서 작업
ramdisk.img , sd.img
#mkdir sd
#mount -o loop sd.img sd
#mkdir root_disk
# gzip -cd ramdisk.img > ramdisk
# cp ramdisk root_disk
# cpio -iv -F ramdksk
# rm ramdisk
# cd ..
# tar xvf sd\system.tar -C root_disk
# tar xvf sd\data.tar -C root_disk
# tar xvf sd\dev.tar -C root_disk
4.5 init.rc 수정 (최종환님께서 얄려주셨습니다.)
loglevel 3 --> loglevel 6
아래사항 주석처리
#mount yaffs2 mtd@userdata /data nosuid nodev
#mount yaffs2 mtd@cache /cache nosuid nodev
여기 까지...
혹시 빠진 부분이 있으면 지적해 주세요..
#mount yaffs2 mtd@cache /cache nosuid nodev
여기 까지...
혹시 빠진 부분이 있으면 지적해 주세요..
---------------------------------------
-----
Cheers,
June