我工作的地方底層內核是由QNX和所有的內核源代碼來作爲二進制項目,例如CAM層塊驅動程序是存在libcam.a但找不到在整個項目源樹中應該存在的確切的內核二進制文件。什麼是QNX內核二進制文件名
誰能告訴我什麼是找到它的出路?
我工作的地方底層內核是由QNX和所有的內核源代碼來作爲二進制項目,例如CAM層塊驅動程序是存在libcam.a但找不到在整個項目源樹中應該存在的確切的內核二進制文件。什麼是QNX內核二進制文件名
誰能告訴我什麼是找到它的出路?
運行的內核將是與PID 1.使用ps -e
過程中才能看到它。
對我來說,這是procnto
。如果你正在運行檢測內核(用於調試),它是procnto-instr
。
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文件,其中包括類似以下內容:
#
# 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
} ...
這最後procnto
是什麼告訴引導程序使用哪個內核。查看mkifs瞭解更多信息。
感謝@Kmort,無論如何我們找到了與我們的nto內核具有相同的procnto-smp-instr名稱。 – 2013-03-08 09:41:19
嗨kmort,有沒有什麼辦法從這個構建文件鏈接Linux內核二進制文件,試圖這樣做,但它的說唱liker沒有找到 – 2013-03-08 18:53:38
我真的懷疑它。 QNX裝載程序可能會窒息這樣的事情。你會有整個ELF問題來處理...可能最好拿出別的東西。爲什麼不使用Linux加載程序? – kmort 2013-03-08 19:02:53
'所有內核源代碼都以二進制形式出現 - - 什麼? – jweyrich 2013-02-17 07:07:29
是幾乎所有的核心資源來爲二進制,我們已經寫了一些包裝這些二進制文件掛鉤,但不知道這是內核二進制 – 2013-02-17 07:20:40
爲什麼你認爲你需要關心的內核? – 2013-02-17 07:23:06