기본 커널이 QNX에서 제공되고 모든 커널 소스가 바이너리로 제공되는 프로젝트에서 작업하고 있습니다. 예를 들어 블록 드라이버 용 CAM 레이어는 libcam.a로 존재하지만 찾을 수 없습니다. 프로젝트의 전체 소스 트리에 있어야하는 정확한 커널 바이너리.QNX 커널 이진 이름은 무엇입니까?
아무도 나를 찾을 수있는 방법을 말해 줄 수 있습니까 ??
기본 커널이 QNX에서 제공되고 모든 커널 소스가 바이너리로 제공되는 프로젝트에서 작업하고 있습니다. 예를 들어 블록 드라이버 용 CAM 레이어는 libcam.a로 존재하지만 찾을 수 없습니다. 프로젝트의 전체 소스 트리에 있어야하는 정확한 커널 바이너리.QNX 커널 이진 이름은 무엇입니까?
아무도 나를 찾을 수있는 방법을 말해 줄 수 있습니까 ??
실행중인 커널은 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을보십시오.
감사합니다 @Kmort, 어쨌든 우리는 동일한 procnto-smp-instr 이름으로 커널을 찾았습니다. –
안녕 kmort,이 빌드 파일에서 리눅스 커널 바이너리를 링크 할 수있는 방법이 있습니까? 그렇지만 그 말은 좋아하지 않습니다. –
정말 의심 스럽습니다. QNX 로더는 아마도 그런 일을 질식시킬 것입니다. 당신은 ELF 문제 전체를 다룰 것입니다 ... 아마 다른 것을 생각해내는 것이 가장 좋습니다. 왜 리눅스 로더를 사용하지 않는가? – kmort
'모든 커널 소스가 바이너리로오고 있습니다. '- 무엇? – jweyrich
예 대부분의 커널 소스는 바이너리로 제공됩니다. 바이너리 파일을 연결하기위한 래퍼를 작성했지만 커널 바이너리가 무엇인지 확실하지 않습니다. –
왜 커널을 신경 쓸 필요가 있다고 생각합니까? –