도와주세요!!
글 수 15,339
2004.06.17 20:36:32 (*.121.192.104)
10910
저도 몇번 망설이다가 2.6 버전은 일반적으로 해 왔던 암패치가 없다는 말씀을 듣고 해 봤는데요...
이지보드용 드라이버만 강좌에 있는데로 조금씩 고쳐가며 추가해서 진행 했습니다.
경과를 게시팜에 올리려고 했는데, 회사에서 이것저것 잡일이 많아 시간을 많이 할애하질 못하구 있습니다ㅜ.ㅜ
전 커널 사이트에 가보니 버전이 2.6.6까지 있길래 겁도없이 2.6.6을 덜컥 다운받아서 시작했구요...
(falinux에서는 2.6.3까지해 보셨다고 하셨는데..)
간단히 말씀드리면요..
1. Serial Port의 패치는 강좌대로 하면 됩니다.
단, 커널 옵션에서 필요 없다고 생각되는 건 그냥 통밥으로 꺼 주세요.
이때까지만 해도 일이 순조롭게 풀리는 듯 하여 좋았었는데..
2. cs8900 살리기에서 한번 좌절이 옵니다.
강좌의 내용보다도 많이 바꿔야 한다는...
아무튼 이건 약간의 삽질로 끝났고, 아래 커널 메시지에서 보이는 8번 같은 칩을 잡는 문제도 해결 했구요
3. mtd... 이거 암초에 걸립니다.
mtd의 파티션 작업을 위해서 커맨드란인 메시지를 파싱하는 부분이 있습니다.
strtok()으로 되 있습니다만, 언젠가 훗날을 위해 strtok을 가급적 쓰지 말라는 recomendation을 읽은 기억이 있었는데,
그날이 오늘일줄은 몰랐네요..
2.6.6버전에서 strtok 함수가 그냥 사라져 버렸습니다.
이걸 strsep()으로 대체 했구요, 몇몇 헤더화일들의 체계가 달라져 이걸 또 한참 해메서 찾았답니다.
아뭏든 이렇게 해서 nand flash 인식과 파티션까지 완료 되었는데...
덴장... yaffs 화일 씨스템이 문젭니다. 이거 아직 2.6 정식에서 쓸 수 있는 버전이 안나왔더군요..
yaffs2가 있긴 하던데, 뭔지 잘 모르겠고..
암튼 시험삼아 jffs2를 nand에 올려 봤습니다.
근데, 매뉴얼 충고대로 이건 별로 안좋은 방법인 듯 합니다.
그래서 여기서 일단 중단했구요...
그동안 출장에다 뭐다 통 시간이 없어서 못하구 있습니다.
다 정리되면 게시판에 올리도록 할께요..
그나저나 LCD가 걱정이네요..
언제 이걸 다 살리려나..
암튼 조금씩 강좌를 따라 해 보시면 그래도 길이 보입니다.
저도 그렇게 조금씩 배워가고 있습니다.
그럼, 즐거운 개발 하시길 바랍니다^^
최원갑 wrote..
: 안녕하세요. :)
:
: 궁금한게 생겼는데요...
: 움 커널 패치가 없는데 패치 화일을 어떻게 하셨는지 궁금합니다.
: 공부하고 있는 학생이라 프로그램 소스 분석 능력이 많이 떨어져서요... ㅡ.ㅡ
:
: 지금 pre-release 버전으로 (test2) 커널 포팅을 해보고는 있는데.. 영 안되네요..
:
: 커널 옵션에서 잘못 된 것인지... 확실한 이유를 모르겠네요. 삽질을 더 해봐야 할것 같은데 -_-;
:
: 그럼 즐거운 하루 되세요~ :)
:
: 포크레인 wrote..
: : 그냥 커널을 2.6.6 으로 만들어 올렸습니다.
: :
: : 어차피 컴파일러를 2.6 커널을 위해 3.3 버전으로 한 것이니,
: : 이 일을 계기로 올려보게 됬네요..
: : (2.6 커널은 패치가 없다는 FALinux 관계자 분의 말씀을 듣고 용기를 내어^^)
: :
: : 강좌에 정리해 주신대로 올리긴 했는데, Prereleased Test Version과의 약간의 차이가 있긴 합니다.
: :
: : 일단 지금은 CS8900A 까지 살려 놨구요..
: : 아직 mtd 가 남은 상태이긴 합니다.
: :
: : 전에 스트롱암 이지보드용으로 만들어 놓았던 프로그램도 PXA용으로 컴파일만 다시 해서 돌려보니 잘 돌아 갑니다.
: :
: : 아직은 CS8900 디텍트 하는 부분이 eth0~7 까지 같은 주소로 잡혀버리는 문제가 있긴 하지만 eth0 만 지정하면
: : 동작엔 지장이 없네요... 이건 차츰 고쳐 보도록 하고..
: : -> 이건 space.c 에서 무조건 8번을 디리 돌리는군요...
: : 일단은 probe 함수에서 유니트가 0 넘어가면 에러를 리턴하게 고쳐서 해결 했습니다.
: : 나중에 디바이스 룩업 테이블 같은걸 만들어서 같은 주소이거나 같은 irq를 설정하면
: : 에러를 리턴하는 식으로 바꿔야 겠네요
: :
: : 정리가 되는대로 진척사항을 또 올리지요..
: : 기념 샷 하나 올립니다
: :
: : 그럼 모두들 즐삽 합시다^^
: :
: : =========================================================================
: : 커널 2.6.6 부팅 메시지
: :
: : WELCOME EZBOOT.X5 V1.5 ..................for PXA255
: : Program by You Young-chang, fooji ( J.D&T Co.,Ltd )
: : Last Modify 2004.03.27
: :
: : Boot Flash Check ......................
: : Detect MX29LV400T Flash : 22B9
: : SIZE 4M-BIT [512Kbyte]
: :
: : NAND Chip Check .......................
: : Detect SAMSUNG [ec:76] 64MByte
: : BAD BLOCK SCAN -> Kernel, Ramdisk Bad Block [0]
: :
: : CS8900 Init............................
: : Mac Address : [00 A2 55 F2 26 25]
: : Detect value : [3000:3000]
: : Chip ID : [0E63:0009]
: :
: :
: : Copy Kernel Image .....
: : Copy Ramdisk Image .....
: : Starting kernel [MARCH 359]...
: : Uncompressing Linux.............................................................
: : ....... done, booting the kernel.
: : Linux version 2.6.6-ez-x5 (root@kkamzie) (gcc version 3.3) #13 Sat Jun 12 13:47:
: : 19 KST 2004
: : CPU: XScale-PXA255 [69052d06] revision 6 (ARMv5TE)
: : CPU: D undefined 5 cache
: : CPU: I cache: 32768 bytes, associativity 32, 32 byte lines, 32 sets
: : CPU: D cache: 32768 bytes, associativity 32, 32 byte lines, 32 sets
: : Machine: WWW.FALINUX.COM EZ-X5 for PXA255 Board
: : Check ezboot Magic Value [20030702]
: : Check ezboot Magic String [CMD=]
: : Check ezboot Command Line [ mem=64M initrd=0xa0800000,8M root=/dev/ram0 ramdisk=
: : 8192 console=ttyS02,115200 ip0=150.54.50.150 nandparts=1,4,59]
: : Memory policy: ECC disabled, Data cache writeback
: : Memory clock: 99.53MHz (*27)
: : Run Mode clock: 398.13MHz (*4)
: : Turbo Mode clock: 398.13MHz (*1.0, inactive)
: : On node 0 totalpages: 16384
: : DMA zone: 16384 pages, LIFO batch:4
: : Normal zone: 0 pages, LIFO batch:1
: : HighMem zone: 0 pages, LIFO batch:1
: : Built 1 zonelists
: : Kernel command line: mem=64M initrd=0xa0800000,8M root=/dev/ram0 ramdisk=8192
: : console=ttyS02,115200 ip0=150.54.50.150 nandparts=1,4,59
: : PID hash table entries: 512 (order 9: 4096 bytes)
: : Console: colour dummy device 80x30
: : Memory: 64MB = 64MB total
: : Memory: 54528KB available (1599K code, 475K data, 72K init)
: : Calibrating delay loop... 397.31 BogoMIPS
: : Dentry cache hash table entries: 8192 (order: 3, 32768 bytes)
: : Inode-cache hash table entries: 4096 (order: 2, 16384 bytes)
: : Mount-cache hash table entries: 512 (order: 0, 4096 bytes)
: : CPU: Testing write buffer coherency: ok
: : POSIX conformance testing by UNIFIX
: : checking if image is initramfs...it isn't (no cpio magic); looks like an initrd
: : Freeing initrd memory: 8192K
: : NET: Registered protocol family 16
: : NetWinder Floating Point Emulator V0.97 (double precision)
: : Initializing Cryptographic API
: : ttyS0 at MMIO 0x40100000 (irq = 15) is a FFUART
: : ttyS1 at MMIO 0x40200000 (irq = 14) is a BTUART
: : ttyS2 at MMIO 0x40700000 (irq = 13) is a STUART
: : RAMDISK driver initialized: 16 RAM disks of 8192K size 1024 blocksize
: : loop: loaded (max 8 devices)
: : Using anticipatory io scheduler
: : nbd: registered device at major 43
: : eth0: cs8900 rev J Base 0xF1000300<6>, IRQ 44, MAC 00:A2:55:F2:26:25
: : eth1: cs8900 rev J Base 0xF1000300<6>, IRQ 44, MAC 00:A2:55:F2:26:25
: : eth2: cs8900 rev J Base 0xF1000300<6>, IRQ 44, MAC 00:A2:55:F2:26:25
: : eth3: cs8900 rev J Base 0xF1000300<6>, IRQ 44, MAC 00:A2:55:F2:26:25
: : eth4: cs8900 rev J Base 0xF1000300<6>, IRQ 44, MAC 00:A2:55:F2:26:25
: : eth5: cs8900 rev J Base 0xF1000300<6>, IRQ 44, MAC 00:A2:55:F2:26:25
: : eth6: cs8900 rev J Base 0xF1000300<6>, IRQ 44, MAC 00:A2:55:F2:26:25
: : eth7: cs8900 rev J Base 0xF1000300<6>, IRQ 44, MAC 00:A2:55:F2:26:25
: : mice: PS/2 mouse device common for all mice
: : NET: Registered protocol family 2
: : IP: routing cache hash table of 512 buckets, 4Kbytes
: : TCP: Hash tables configured (established 4096 bind 8192)
: : NET: Registered protocol family 1
: : NET: Registered protocol family 17
: : RAMDISK: Compressed image found at block 0
: : VFS: Mounted root (ext2 filesystem) readonly.
: : Freeing init memory: 72K
: : INIT: version 2.84 booting
: : INIT: Entering runlevel: 3
: : mount: Mounting /dev/mtdblock2 on /app failed: No such device
: : Starting system logger: syslogd
: : Starting INET services: inetd
: :
: :
: : Welcome to J.D&T EZ-X5 ( www.falinux.com )
: : XScale(PXA255) Linux
: : ez-x5 login:
이지보드용 드라이버만 강좌에 있는데로 조금씩 고쳐가며 추가해서 진행 했습니다.
경과를 게시팜에 올리려고 했는데, 회사에서 이것저것 잡일이 많아 시간을 많이 할애하질 못하구 있습니다ㅜ.ㅜ
전 커널 사이트에 가보니 버전이 2.6.6까지 있길래 겁도없이 2.6.6을 덜컥 다운받아서 시작했구요...
(falinux에서는 2.6.3까지해 보셨다고 하셨는데..)
간단히 말씀드리면요..
1. Serial Port의 패치는 강좌대로 하면 됩니다.
단, 커널 옵션에서 필요 없다고 생각되는 건 그냥 통밥으로 꺼 주세요.
이때까지만 해도 일이 순조롭게 풀리는 듯 하여 좋았었는데..
2. cs8900 살리기에서 한번 좌절이 옵니다.
강좌의 내용보다도 많이 바꿔야 한다는...
아무튼 이건 약간의 삽질로 끝났고, 아래 커널 메시지에서 보이는 8번 같은 칩을 잡는 문제도 해결 했구요
3. mtd... 이거 암초에 걸립니다.
mtd의 파티션 작업을 위해서 커맨드란인 메시지를 파싱하는 부분이 있습니다.
strtok()으로 되 있습니다만, 언젠가 훗날을 위해 strtok을 가급적 쓰지 말라는 recomendation을 읽은 기억이 있었는데,
그날이 오늘일줄은 몰랐네요..
2.6.6버전에서 strtok 함수가 그냥 사라져 버렸습니다.
이걸 strsep()으로 대체 했구요, 몇몇 헤더화일들의 체계가 달라져 이걸 또 한참 해메서 찾았답니다.
아뭏든 이렇게 해서 nand flash 인식과 파티션까지 완료 되었는데...
덴장... yaffs 화일 씨스템이 문젭니다. 이거 아직 2.6 정식에서 쓸 수 있는 버전이 안나왔더군요..
yaffs2가 있긴 하던데, 뭔지 잘 모르겠고..
암튼 시험삼아 jffs2를 nand에 올려 봤습니다.
근데, 매뉴얼 충고대로 이건 별로 안좋은 방법인 듯 합니다.
그래서 여기서 일단 중단했구요...
그동안 출장에다 뭐다 통 시간이 없어서 못하구 있습니다.
다 정리되면 게시판에 올리도록 할께요..
그나저나 LCD가 걱정이네요..
언제 이걸 다 살리려나..
암튼 조금씩 강좌를 따라 해 보시면 그래도 길이 보입니다.
저도 그렇게 조금씩 배워가고 있습니다.
그럼, 즐거운 개발 하시길 바랍니다^^
최원갑 wrote..
: 안녕하세요. :)
:
: 궁금한게 생겼는데요...
: 움 커널 패치가 없는데 패치 화일을 어떻게 하셨는지 궁금합니다.
: 공부하고 있는 학생이라 프로그램 소스 분석 능력이 많이 떨어져서요... ㅡ.ㅡ
:
: 지금 pre-release 버전으로 (test2) 커널 포팅을 해보고는 있는데.. 영 안되네요..
:
: 커널 옵션에서 잘못 된 것인지... 확실한 이유를 모르겠네요. 삽질을 더 해봐야 할것 같은데 -_-;
:
: 그럼 즐거운 하루 되세요~ :)
:
: 포크레인 wrote..
: : 그냥 커널을 2.6.6 으로 만들어 올렸습니다.
: :
: : 어차피 컴파일러를 2.6 커널을 위해 3.3 버전으로 한 것이니,
: : 이 일을 계기로 올려보게 됬네요..
: : (2.6 커널은 패치가 없다는 FALinux 관계자 분의 말씀을 듣고 용기를 내어^^)
: :
: : 강좌에 정리해 주신대로 올리긴 했는데, Prereleased Test Version과의 약간의 차이가 있긴 합니다.
: :
: : 일단 지금은 CS8900A 까지 살려 놨구요..
: : 아직 mtd 가 남은 상태이긴 합니다.
: :
: : 전에 스트롱암 이지보드용으로 만들어 놓았던 프로그램도 PXA용으로 컴파일만 다시 해서 돌려보니 잘 돌아 갑니다.
: :
: : 아직은 CS8900 디텍트 하는 부분이 eth0~7 까지 같은 주소로 잡혀버리는 문제가 있긴 하지만 eth0 만 지정하면
: : 동작엔 지장이 없네요... 이건 차츰 고쳐 보도록 하고..
: : -> 이건 space.c 에서 무조건 8번을 디리 돌리는군요...
: : 일단은 probe 함수에서 유니트가 0 넘어가면 에러를 리턴하게 고쳐서 해결 했습니다.
: : 나중에 디바이스 룩업 테이블 같은걸 만들어서 같은 주소이거나 같은 irq를 설정하면
: : 에러를 리턴하는 식으로 바꿔야 겠네요
: :
: : 정리가 되는대로 진척사항을 또 올리지요..
: : 기념 샷 하나 올립니다
: :
: : 그럼 모두들 즐삽 합시다^^
: :
: : =========================================================================
: : 커널 2.6.6 부팅 메시지
: :
: : WELCOME EZBOOT.X5 V1.5 ..................for PXA255
: : Program by You Young-chang, fooji ( J.D&T Co.,Ltd )
: : Last Modify 2004.03.27
: :
: : Boot Flash Check ......................
: : Detect MX29LV400T Flash : 22B9
: : SIZE 4M-BIT [512Kbyte]
: :
: : NAND Chip Check .......................
: : Detect SAMSUNG [ec:76] 64MByte
: : BAD BLOCK SCAN -> Kernel, Ramdisk Bad Block [0]
: :
: : CS8900 Init............................
: : Mac Address : [00 A2 55 F2 26 25]
: : Detect value : [3000:3000]
: : Chip ID : [0E63:0009]
: :
: :
: : Copy Kernel Image .....
: : Copy Ramdisk Image .....
: : Starting kernel [MARCH 359]...
: : Uncompressing Linux.............................................................
: : ....... done, booting the kernel.
: : Linux version 2.6.6-ez-x5 (root@kkamzie) (gcc version 3.3) #13 Sat Jun 12 13:47:
: : 19 KST 2004
: : CPU: XScale-PXA255 [69052d06] revision 6 (ARMv5TE)
: : CPU: D undefined 5 cache
: : CPU: I cache: 32768 bytes, associativity 32, 32 byte lines, 32 sets
: : CPU: D cache: 32768 bytes, associativity 32, 32 byte lines, 32 sets
: : Machine: WWW.FALINUX.COM EZ-X5 for PXA255 Board
: : Check ezboot Magic Value [20030702]
: : Check ezboot Magic String [CMD=]
: : Check ezboot Command Line [ mem=64M initrd=0xa0800000,8M root=/dev/ram0 ramdisk=
: : 8192 console=ttyS02,115200 ip0=150.54.50.150 nandparts=1,4,59]
: : Memory policy: ECC disabled, Data cache writeback
: : Memory clock: 99.53MHz (*27)
: : Run Mode clock: 398.13MHz (*4)
: : Turbo Mode clock: 398.13MHz (*1.0, inactive)
: : On node 0 totalpages: 16384
: : DMA zone: 16384 pages, LIFO batch:4
: : Normal zone: 0 pages, LIFO batch:1
: : HighMem zone: 0 pages, LIFO batch:1
: : Built 1 zonelists
: : Kernel command line: mem=64M initrd=0xa0800000,8M root=/dev/ram0 ramdisk=8192
: : console=ttyS02,115200 ip0=150.54.50.150 nandparts=1,4,59
: : PID hash table entries: 512 (order 9: 4096 bytes)
: : Console: colour dummy device 80x30
: : Memory: 64MB = 64MB total
: : Memory: 54528KB available (1599K code, 475K data, 72K init)
: : Calibrating delay loop... 397.31 BogoMIPS
: : Dentry cache hash table entries: 8192 (order: 3, 32768 bytes)
: : Inode-cache hash table entries: 4096 (order: 2, 16384 bytes)
: : Mount-cache hash table entries: 512 (order: 0, 4096 bytes)
: : CPU: Testing write buffer coherency: ok
: : POSIX conformance testing by UNIFIX
: : checking if image is initramfs...it isn't (no cpio magic); looks like an initrd
: : Freeing initrd memory: 8192K
: : NET: Registered protocol family 16
: : NetWinder Floating Point Emulator V0.97 (double precision)
: : Initializing Cryptographic API
: : ttyS0 at MMIO 0x40100000 (irq = 15) is a FFUART
: : ttyS1 at MMIO 0x40200000 (irq = 14) is a BTUART
: : ttyS2 at MMIO 0x40700000 (irq = 13) is a STUART
: : RAMDISK driver initialized: 16 RAM disks of 8192K size 1024 blocksize
: : loop: loaded (max 8 devices)
: : Using anticipatory io scheduler
: : nbd: registered device at major 43
: : eth0: cs8900 rev J Base 0xF1000300<6>, IRQ 44, MAC 00:A2:55:F2:26:25
: : eth1: cs8900 rev J Base 0xF1000300<6>, IRQ 44, MAC 00:A2:55:F2:26:25
: : eth2: cs8900 rev J Base 0xF1000300<6>, IRQ 44, MAC 00:A2:55:F2:26:25
: : eth3: cs8900 rev J Base 0xF1000300<6>, IRQ 44, MAC 00:A2:55:F2:26:25
: : eth4: cs8900 rev J Base 0xF1000300<6>, IRQ 44, MAC 00:A2:55:F2:26:25
: : eth5: cs8900 rev J Base 0xF1000300<6>, IRQ 44, MAC 00:A2:55:F2:26:25
: : eth6: cs8900 rev J Base 0xF1000300<6>, IRQ 44, MAC 00:A2:55:F2:26:25
: : eth7: cs8900 rev J Base 0xF1000300<6>, IRQ 44, MAC 00:A2:55:F2:26:25
: : mice: PS/2 mouse device common for all mice
: : NET: Registered protocol family 2
: : IP: routing cache hash table of 512 buckets, 4Kbytes
: : TCP: Hash tables configured (established 4096 bind 8192)
: : NET: Registered protocol family 1
: : NET: Registered protocol family 17
: : RAMDISK: Compressed image found at block 0
: : VFS: Mounted root (ext2 filesystem) readonly.
: : Freeing init memory: 72K
: : INIT: version 2.84 booting
: : INIT: Entering runlevel: 3
: : mount: Mounting /dev/mtdblock2 on /app failed: No such device
: : Starting system logger: syslogd
: : Starting INET services: inetd
: :
: :
: : Welcome to J.D&T EZ-X5 ( www.falinux.com )
: : XScale(PXA255) Linux
: : ez-x5 login: