기존 이솝 임베디드 포럼의 지식인 서비스가 게시판 형태로 변경되었습니다.

atmel at91sam9m10g-45  target board를 테스트 하고 있습니다.

 

보드를 받았을 때 android 가 올라가 있었는데 RoofFS가 jffs2로 되어 있더군요. 그래서 현재 RoofFS를 yaffs2로 바꾸는 작업을 하고 있습니다.

.config를 보니 yaffs2는 이미 체크되어 있는상태고 해서 MTD 파티션 나누고 이미지파일만 nand에 써주면 되겠다 싶었죠. 그래서 mtd block을 아래와 같이 나눴습니다.

static struct mtd_partition __initdata ek_nand_partition[] = {
        {
                .name   = "kernel",
                .offset = 2 * 1024 * 1024,      /* kernel + RootFS (start : 0x20_0000 = 2MB) */
                .size   = 3 * 1024 * 1024,      /* size : 5MB */
        },
        {
                .name   = "system",                                     /* yaffs2 android system : mtd@system */
                .offset = 5 * 1024 * 1024,   
                .size   = 95 * 1024 * 1024,
        },
        {  
                .name   ="userdata",                                    /* yaffs2 android userdata :  mtd@userdata */
                .offset = 100 * 1024 * 1024,
                .size   = 64 * 1024 * 1024,
        },
        {
                .name   = "cache",       
                .offset = 164 * 1024 * 1024,                            /*64 * 1024 * 1024*/  
                .size   = 60 * 1024 * 1024,
        },
        {
                .name   = "test",                                       /*for debug*/
                .offset = 224 * 1024 * 1024,                            /*64 * 1024 * 1024*/  
                .size   = MTDPART_SIZ_FULL,
        },
};
그리고 커널의 menuconfig에서 

"General Setup --> Initial Ram filesystem and RAM disk (initramfs/initrd)support"

"../mydroid/out/target/product/sam9m10/root" 로 설정해서 out/root 의 내용을

기반으로 Kernel의 uImage에 RootFS를 포함하게 했습니다.

 

그런다음 올리고 커널과 android를 컴파일 해서 sam-ba tool (atmel download tool) 로

0x200000에 uImage(kernel), 0x500000에 system.img(android),

0x6400000에 userdata.img(android)를 올렸습니다.

 

 

그리고 uboot env설정을

setenv bootargs 'mem=128M console=ttyS0,115200 root=/dev/mtdblock1 rw rootfstype=yaffs2 init=/init rootdelay=1'

또는
setenv bootargs 'mem=128M console=ttyS0,115200 root=/dev/mtdblock0'

 

이렇게 두가지로 바꾸고 부팅을 시켰더니 .....

 

-----------------------------------------------------------------------------

 

rtc-at91sam9 at91_rtt.0: hctosys: unable to read the hardware clock
atmel_mci atmel_mci.0: Using dma0chan0 for DMA transfers
atmel_mci atmel_mci.0: Atmel MCI controller at 0xfff80000 irq 11, 1 slots
atmel_mci atmel_mci.1: Using dma0chan1 for DMA transfers
atmel_mci atmel_mci.1: Atmel MCI controller at 0xfffd0000 irq 29, 1 slots
Freeing init memory: 408K
Warning: unable to open an initial console.
yaffs: dev is 32505857 name is "mtdblock1"
yaffs: passed flags ""
yaffs: Attempting MTD mount on 31.1, "mtdblock1"
block 425 is bad
block 426 is bad
block 583 is bad
android_usb gadget: high speed config #1: android
android_usb gadget: config #1
yaffs_read_super: isCheckpointed 0
yaffs: dev is 32505858 name is "mtdblock2"
yaffs: passed flags ""
yaffs: Attempting MTD mount on 31.2, "mtdblock2"
yaffs_read_super: isCheckpointed 0
yaffs: dev is 32505859 name is "mtdblock3"
yaffs: passed flags ""
yaffs: Attempting MTD mount on 31.3, "mtdblock3"
block 393 is bad
yaffs_read_super: isCheckpointed 0
init: cannot find '/system/bin/sh', disabling 'console'
init: cannot find '/system/bin/servicemanager', disabling 'servicemanager'
init: cannot find '/system/bin/vold', disabling 'vold'
init: cannot find '/system/bin/debuggerd', disabling 'debuggerd'
init: cannot find '/system/bin/app_process', disabling 'zygote'
init: cannot find '/system/bin/mediaserver', disabling 'media'
init: cannot find '/system/bin/installd', disabling 'installd'
init: cannot find '/system/etc/install-recovery.sh', disabling 'flash_recovery'
init: cannot find '/system/bin/keystore', disabling 'keystore'
enabling adb
adb_open
adb_release
adb_open
android_usb gadget: high speed config #1: android
android_usb gadget: config #1

----------------------------------------------------------------------

 

라고 뜨고 멈춰버립니다.

 

대충 원인을 생각하기에

1. system 폴더가 yaffs2로 mount가 잘못되었나??

-> out/root/에 있는 init.rc에는 mount yaffs2 mtd@system /system 이라고 mount를 하기는

했음. 근데 이게 잘못되었나?

 

2. sam-ba로 system.img를 nan에 write 할 때 잘못되었나??

-> 구글에서 찾으니 uboot에서 yaffs2 파일을 다운할 때는 nand.write.yaffs2라고 방식을 좀 틀리

게 해야 된다 더군요.

 

3. RootFS를 인식을 못하나?

-> kernel menuconfig 로 merge 하기는 했는데 이렇게 하면 안되나?

 

등등 여러생각은 나지만 확실히 뭐가 문제인지 모르겠네요.. 고수님들의 의견을 부탁드립니다.

 

고도리

2011.04.14 19:59:12
*.200.239.234

인식도 잘 하고, 마운트도 잘 된 듯 합니다......

 

2번이 조금 의심스럽기는 합니다.

정낙주

2011.04.14 22:23:51
*.183.237.222

2.번 같습니다.

u-boot에서 yaffs2 이미지를 NAND에 write할 때는

u-boot#nand write.yaffs  <sorce addr>  <target addr>  <file size>

와 같은 형식을 씁니다.

List of Articles
번호 제목 글쓴이 날짜 조회 수
4488 s3c6410 camera msdma 사용 문제 어흥야옹 2011-04-18 519
4487 aesop 6410 보드에서 usb 인식시 문제입니다 [1] 우르멜 2011-04-17 482
4486 UBOOT 에서 EXT4 설정문의 [1] LeonardKim 2011-04-16 720
4485 mba2440보드에 u-boot2010.09버전으로 포팅시 tftp문제입니다. 똘이형 2011-04-15 536
4484 시리얼 통신 시... 궁금한 점이 있습니다. [1] pulpy 2011-04-15 534
4483 S5PV210 에서 G2D 성능 관련 [3] 아침햇살 2011-04-15 1008
4482 유선랜 패킷 에라 곰마 2011-04-15 505
» 안드로이드 system 폴더를 잘 인식못해요 [2] 김영일 2011-04-14 983
4480 ez-x5와 openice사용에 관련된 질문입니다 [1] 잉여양파 2011-04-14 669
4479 터치 설정 어떻게 해야하는걸까요?? [1] 그린돼지 2011-04-14 711
4478 usb modem 접속 [1] 이학남 2011-04-13 618
4477 essid 설정 시 생기는 문제.... [1] pulpy 2011-04-13 636
4476 libpcap 설치 [1] Apostasy 2011-04-12 43889
4475 'ANDROID...'깜박거리고 그 뒤에 커널 패닉이 일어납니다. [2] 그린돼지 2011-04-11 568
4474 발열이 적은 PC/104 SBC 추천해주세요. just4you 2011-04-11 575
4473 오드로이드 7 무선랜 설정 할 때 [1] pulpy 2011-04-11 604
4472 [질문]odroid에 uboot->kernel->ramdisk 부팅하기 마무리 질문있습니다... [1] 준히오빠 2011-04-10 1091
4471 영상 출력을 변환하는 방법 질문드립니다. 김성재 2011-04-09 492
4470 이솝프로젝트의 aesop v210 kernel 2.6.32-1026 버전관련 질문.. [1] 하얀전구 2011-04-08 469
4469 Android app관련 질문입니다. [1] 공두 2011-04-07 491

사용자 로그인