[완료] netlink test 시 console에서는 문제없이 실행되는 코드가 rcS 에 넣으면 실행이 안되는군요...
글쓴이: shimmany / 작성시간: 금, 2011/04/22 - 2:35오후
안녕하세요 ?
구글링을 아무리 해봐도.. 뾰족한 답이 없군요...
일단 시험환경은 MPC83xx 보드에 busybox 1.2.1, kernel 2.6.18 입니다. embedded 환경입니다.
드라이버에서 netlink 로 통지하는 예제를 작성해봤습니다. 드라이버는 커널 쓰레드로 2초마다 해당 소켓으로 통지를 날립니다.
간단한 user application은 드라이버서 create한 소켓을 열고 바인딩 하고, 드라이버에서 뭔가를 보내기를 기다리는 코드입니다.
부팅 상태에서 커널 모듈을 로드하고, 응용프로그램을 실행시키면, 커널에서 해당 user application을 통지를 잘 보내고, 잘 받습니다.
stand alone으로 돌리기 위해, /etc/rc.d/rcS에 드라이버를 insmod하고, 마지막에 user application을 실행하도록 했습니다.
리붓을 합니다.
커널모듈도 정상적으로 올라가고, user application도 제대로 실행되었습니다. 그런데, 커널로부터의 통지가 안옵니다. 뭐가 문제인지.. 통지가 안온다기 보다는 application이 동작하지 않습니다. 이 상태에서 다시 콘솔상에서 user_application을 실행하면 잘 동작합니다... 헤메고 있습니다.
조언 부탁드립니다...
Forums:
참고로 embedded 환경이 아닌경우에는 잘
참고로 embedded 환경이 아닌경우에는 잘 동작합니다. -_-;
같이 게시된 소스가 질문의 판단을 흐리는것 같아
같이 게시된 소스가 질문의 판단을 흐리는것 같아 삭제했습니다. ^^ 필요하신 분은 요청주세요..
busybox 의 단일 runlevel
busybox 의 단일 runlevel 때문이었습니다.. 거참... 여태 몰랐습니다.. -_-;
댓글 달기