삽질의 연속..

장문의 글을 썼으나 날려먹은 관계로 간단히 요약.

수요일… init의 실행이 안되는 것이

  1. 실제로 init이 없음
  2. init이 필요한 공유라이브러리가 없음
  3. init이나 공유라이브러리의 퍼미션이 잘못 되었음

중의 하나임을 http://kelp.or.kr에서 알아냄.

busybox에서 파일을 찾을 수 없다고 하는 것도 init과 같은 경우가 아닌가 생각하여 공유라이브러리를

복사하고 실행하였으나 같은 결과….

토요일…공유라이브러리를 몽땅 /lib에 복사. 실행 성공. 공유라이브러리에서 필요로 하는 다른 공유라이브러리가 없어서 실행이 안됐던 것임

loadandrun을 실행하면 80008008 에러가 나며, 에러의 내용은 ‘일반적인 오류 발생’.

모듈을 올리지 않아도 같은 에러로 가는 걸로 봐서 모듈이 제대로 작동하지 않는 것으로 보임.

모듈을 새로 컴파일하자 consistent_alloc()과 consistent_free()가 없다는 오류가 나고 모듈이 올라기지 않음. -fno_common을 추가하여 컴파일하라고 하지만 상태는 같음.

해당 함수는 일반적으로 asm/io.h에 선언되어 있으나, 2.6의 asm-arm/io.h에는 없음. 위의 두 함수와 같이 선언되어 있던 consistent_sync()는 2.6의 dma_mapping.h에서 발견. 그러나 역시 방법이 없음.(아마 이 함수들은 DMA와 관련하여 메모리 할당/해제에 쓰이는 거 같음)

결국 두 함수를 쓰는 부분을 주석처리 하고 올려봤으나 허가되지 않은 동작이라면서 올라가지 않음. 그리고 리셋을 할때 까지 해당 모듈 리소스가 사용중이라는 메시지와 함께 insmod가 계속 실패함.

===

쩝.. 아깐 이거 보다 더 잘적었었는뎅..T-T

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 항목은 *(으)로 표시합니다