學校工作我必須添加自定義helloworld系統調用freebsd。我用以下鏈接作爲我的指南:http://members.tripod.com/s_mathur/bsdhowto.html 行! 在第二步我得到了問題:root沒有運行它的權限,所以我用:「make sysent」來代替。似乎沒問題。 第4步說:4.修改Makefile以包含sys_hello.c等,並重新編譯內核。 哪個makefile?以及如何編譯它以及如何調用系統調用hello? tnx提前freebsd通過編譯內核來添加自定義系統調用?
1
A
回答
1
如果sys_hello.c包含您的系統調用實現 - 它在sys/kern/sys_hello.c中 - 然後將此文件添加到conf /文件。搜索例如。 「kern_fork.c」,並以類似的方式添加sys_hello.c。之後,重建並重新安裝內核和世界(make buildkernel buildworld installkernel installworld);世界重建需要將用戶空間部分放入libc.so.至於調用 - 好吧,就像調用另一個系統調用一樣。您需要在某處添加syscall聲明。
相關問題
- 1. 向FreeBSD內核添加一個帶參數的系統調用
- 2. 錯誤使用自定義的系統編譯Linux內核模塊調用
- 3. 不Debian的系統使用FreeBSD內核和紅帽系統採用GNU內核?
- 4. Linux內核3.3.4中的自定義系統調用
- 5. 如何避免停止自定義FreeBSD內核編譯的警告?
- 6. 使用內核模塊(LKM)添加系統調用
- 7. 如何通過庫調用C編譯器而不是通過系統調用?
- 8. 在FreeBSD中通過KLD創建新的系統調用
- 9. 在FreeBSD-11.0-RELEASE-amd64上添加一個新的系統調用
- 10. 在FreeBSD 10.1上添加新的系統調用
- 11. 在沒有kldload的情況下向FreeBSD添加系統調用
- 12. 將新設備添加到FreeBSD內核
- 13. 在Linux內核3.3中添加一個新的系統調用
- 14. 將系統調用添加到linux內核3.8.8
- 15. 在Minix系統添加一個新的內核調用3
- 16. FreeBSD從另一個系統調用發出系統調用
- 17. CMake:如何添加自定義通用編譯規則?
- 18. 關於通過自定義編譯過程在Groovy中添加導入包
- 19. 使用自定義頭文件編譯Linux內核模塊
- 20. 來自GCC內聯彙編的系統調用
- 21. C++中的「Static plugin」系統(通過編譯系統)
- 22. 通過編譯參與者自定義編譯器錯誤
- 23. MINIX 2 - 系統調用內核
- 24. 內核模塊監控系統調用?
- 25. 冗餘的Linux內核系統調用
- 26. Linux內核中的系統調用
- 27. Linux內核AIO,開放系統調用
- 28. 更改linux內核系統調用號
- 29. Android內核,WiFi掃描系統調用
- 30. 如何通過疊加硒ide來添加自定義命令?
是的,sys_hello.c在sys/kern中。但sys/conf中沒有.c文件,所以它就是這個地方。在kern_fork.c中不包含sys_hello.h。我該怎麼辦? –
sys/conf /文件 - 從字面上看,「files」,沒有擴展名 - 包含內核源文件列表(除了基於sys/modules /中的Makefiles構建的內核模塊外)。至於sys_hello.h - 是的,我不知道這個文件可能來自哪裏;只是不包括它? –