리눅스 디바이스 드라이버라는 책을 사서 열심히 공부중인 리눅스 초보 개발자 입니다. 

 1.

  책에 나와 있는 드라이버 작성 예제를 보고 드라이버를 만들어서 디바이스 파일을 등록

  하고 PC 에서 실행 시키면 정상 동작 하는데 EZ-AU1200 보드에 드라이버를 적재 시키면 

  아래 ERROR 메세지가 뜹니다. 

     [root@falinux  ] insmod XXX.ko 
    insmod: cannot insert XXX.ko : invalid module format (-1): Exec format error 

  원인에 대해 나름대로 생각한 바로는 PC 리눅스 커널과 보드 리눅스 커널 버전이 않
  맞아서 그런거 같은데 맞는지요?

  PC : Centos 5  리눅스 커널 버전 :  2.6.18  -92.el5
                  보드 리눅스 커널 버전 : 2.6.21  -falinux
  
  만일 버전이 않맞아서 그런거라면 PC 리눅스 커널을 업그레이드 시켜야 될거 같은데 
 
  커널만 원하는 버전으로 업그레이드 시킬수 있는 건가요? 할 수 있다면 업그레이드 

  를 어떻게 해야 되나요? 

 2. PC 에서 작성한 실행 파일을  보드 ( EZ-AU1200 ) 에서 실행 시키려면 컴파일 할때 
   
   보드에 실장된 CPU 사양에 맞게 옵션을 줘야 되는걸로 알고 있습니다. 

  AU1200 의 경우  mipsel - linux - gcc  xxxx   처럼 컴파일 하면 되는데 그렇다면 드라이버를 

 만들때도 타겟 보드에 따라 컴파일 옵션을 달리 해야 되나요?