2013-02-17 1 views
0

기본 커널이 QNX에서 제공되고 모든 커널 소스가 바이너리로 제공되는 프로젝트에서 작업하고 있습니다. 예를 들어 블록 드라이버 용 CAM 레이어는 libcam.a로 존재하지만 찾을 수 없습니다. 프로젝트의 전체 소스 트리에 있어야하는 정확한 커널 바이너리.QNX 커널 이진 이름은 무엇입니까?

아무도 나를 찾을 수있는 방법을 말해 줄 수 있습니까 ??

+0

'모든 커널 소스가 바이너리로오고 있습니다. '- 무엇? – jweyrich

+0

예 대부분의 커널 소스는 바이너리로 제공됩니다. 바이너리 파일을 연결하기위한 래퍼를 작성했지만 커널 바이너리가 무엇인지 확실하지 않습니다. –

+0

왜 커널을 신경 쓸 필요가 있다고 생각합니까? –

답변

1

실행중인 커널은 PID가 1 인 프로세스입니다. ps -e을 사용하십시오.

제 경우에는 procnto입니다. 인스트루먼트 된 커널 (디버깅 용)을 실행하는 경우는 procnto-instr입니다. 마지막 procnto이라고

# 
# The build file for QNX Neutrino booting on a PC 
# 
[linker="ntox86-ld -T$QNX_TARGET/x86/lib/nto.link %(h!=0, -Ttext 0x%t%)%(d!=0, -Tdata 0x%d%) -o%o %i %[M -L%^i -uinit_%n -lmod_%n%]"] 
[virtual=x86,bios +compress] boot = { 
    startup-bios 

    # PATH is the *safe* path for executables (confstr(_CS_PATH...)) 
    # LD_LIBRARY_PATH is the *safe* path for libraries (confstr(_CS_LIBPATH)) 
    # i.e. This is the path searched for libs in setuid/setgid executables. 
    PATH=/proc/boot:/bin:/usr/bin:/opt/bin LD_LIBRARY_PATH=/proc/boot:/lib:/usr/lib:/lib/dll:/opt/lib procnto 

} ...

:

ps -e 
     PID TTY   TIME CMD 
     1 ?  12:25:42 procnto 
     4098 ?  00:00:00 pci-bios 
     4099 ?  03:40:47 io-usb 
     4100 ?  00:00:00 io-hid 
     4101 ?  00:00:00 devc-con-hid 
     4102 ?  00:58:14 devb-eide 
    20487 ?  00:00:00 /sbin/tinit 
    20488 ?  00:00:00 slogger 
    24585 ?  00:00:25 pipe 
    28682 ?  00:10:22 mqueue 

당신이 당신의 IFS 파일을 만드는 방법에 따라 다음과 같은 것을 포함하는 .build 파일을 가질 수있다 부트 로더에게 사용할 커널을 알려주는 것. 자세한 내용은 mkifs을보십시오.

+0

감사합니다 @Kmort, 어쨌든 우리는 동일한 procnto-smp-instr 이름으로 커널을 찾았습니다. –

+0

안녕 kmort,이 빌드 파일에서 리눅스 커널 바이너리를 링크 할 수있는 방법이 있습니까? 그렇지만 그 말은 좋아하지 않습니다. –

+0

정말 의심 스럽습니다. QNX 로더는 아마도 그런 일을 질식시킬 것입니다. 당신은 ELF 문제 전체를 다룰 것입니다 ... 아마 다른 것을 생각해내는 것이 가장 좋습니다. 왜 리눅스 로더를 사용하지 않는가? – kmort

관련 문제