도와주세요!!
글 수 15,339
2008.12.13 19:32:55 (*.207.119.68)
6749
안녕하세요. 리눅스 부팅 문제로 다시 질문을 올립니다.
사용보드 : AT91rm9200-EK
부트로더 : U-boot 1.1.0
Ramdisk : Busybox 0.6버전 기반으로 생성된것
위 사항에서 보드에서 제공된 2.4 버전의 커널을 2.6.18버전으로 바꾸려 하고 있습니다.
그래서 커널 소스를 다운받아 AT91rm9200ek_defconfig로 커널 옵션을 설정해주고
TFTP다운하여 bootm으로 부팅을 시도 하였습니다. 하지만 모든 커널 초기화가 끝나고
램디스크상의 inittab 설정에 따른 초기 사용자 프로세스를 실행하는 과정의 마지막 로그인 쉘이
나타나지가 않습니다.
그래서 제공된 커널로 부팅시켰을때의 메세지와 바꾸려는 커널의 메세지를 비교하여 보니
2.6.18 버전의 커널 메시지에는 devfs를 /dev에 마운트 시켰다는 메세지가 없더군요
다시 구글링을 하여 뒤져 보니 구 버전의 devfs 파일 시스템은 더이상 사용하지 않는다는.... 글을 보았습니다.
저의 질문은 1). 2.6.18버전의 커널은 devfs 파일 시스템 대신에 어떻게 같은 기능을 구현하는지?
2). 제가 가지고 있는 램디스크는 devfs 파일 시스템에서 동작하도록 배포된 것인데 이 램디스크를
그대로 쓰면서도 1)항의 기능을 구현할수 있는지?
3) 제가 본 현상은 로그인 쉘이 나타나는 부분에서 화면에 아무것도 뜨지 않고 멈추어 버리는 현상인데
이것이 디바이스 파일 시스템이 마운트 되지 않아서 나타나는 현상이 맞는지?
입니다...
리눅스를 공부하는 초보자로서 잡다한 질문은 올리는 점 매우 송구하지만...
많은 고수님들의 조언을 부탁드리겠습니다.
사용보드 : AT91rm9200-EK
부트로더 : U-boot 1.1.0
Ramdisk : Busybox 0.6버전 기반으로 생성된것
위 사항에서 보드에서 제공된 2.4 버전의 커널을 2.6.18버전으로 바꾸려 하고 있습니다.
그래서 커널 소스를 다운받아 AT91rm9200ek_defconfig로 커널 옵션을 설정해주고
TFTP다운하여 bootm으로 부팅을 시도 하였습니다. 하지만 모든 커널 초기화가 끝나고
램디스크상의 inittab 설정에 따른 초기 사용자 프로세스를 실행하는 과정의 마지막 로그인 쉘이
나타나지가 않습니다.
그래서 제공된 커널로 부팅시켰을때의 메세지와 바꾸려는 커널의 메세지를 비교하여 보니
2.6.18 버전의 커널 메시지에는 devfs를 /dev에 마운트 시켰다는 메세지가 없더군요
다시 구글링을 하여 뒤져 보니 구 버전의 devfs 파일 시스템은 더이상 사용하지 않는다는.... 글을 보았습니다.
저의 질문은 1). 2.6.18버전의 커널은 devfs 파일 시스템 대신에 어떻게 같은 기능을 구현하는지?
2). 제가 가지고 있는 램디스크는 devfs 파일 시스템에서 동작하도록 배포된 것인데 이 램디스크를
그대로 쓰면서도 1)항의 기능을 구현할수 있는지?
3) 제가 본 현상은 로그인 쉘이 나타나는 부분에서 화면에 아무것도 뜨지 않고 멈추어 버리는 현상인데
이것이 디바이스 파일 시스템이 마운트 되지 않아서 나타나는 현상이 맞는지?
입니다...
리눅스를 공부하는 초보자로서 잡다한 질문은 올리는 점 매우 송구하지만...
많은 고수님들의 조언을 부탁드리겠습니다.
커널 2.6 에서는 /sys 디렉토리에서 특정 디비아스의 디렉토리안에 dev 라는 파일이 존재합니다.
이 파일을 cat 으로 읽어 보시면 메이져, 마이너 번호를 알수 있습니다.
그리고 커널에서 지원하는 기능중 하나가 메이져 번호를 자동으로 할당해 주는 기능입니다.
또한 커널 2.6 에서 디바이스 드라이버관련 여러기능이 대폭 확장되었습니다.
이런저런 이유로 devfs 를 지원하지 않는것 같군요
사용하시는 램디스크는 수정되거나 다른 램디스크로 사용하셔야 위의 문제를 해결하실수 있습니다.
쉘 프로그램이 실행되지 않는 이유는 /etc/inittab 안에서 getty 가 실행시키는 옵션중
시리얼 포트 지정 노드파일이 램디스크상에 없어서 안되는 문제로 보여집니다.
이 노드파일을 생성하신 후 테스트해 보시기 바랍니다.