有沒有辦法在啓動時找到傳遞給內核(/ proc/cmdline)的參數,而無需讀取proc中的任何文件?我可能有一個需要在/ proc掛載之前讀取引導參數的進程。讀取Linux內核參數
回答
看起來內核會將引導行上的任何內容作爲參數傳遞給init,除非存在'='或''。 '
我敢肯定有一個更好的辦法,但我看到它在dmesg的
humm ...我不認爲這也可以。我希望在C庫中有一個函數可以提供信息。也許我應該將C標籤添加到問題中。需要此信息的進程將作爲init(它將是第一個進程)運行,並且需要在exec()真正的init進程之前消化信息。 – tMC 2011-05-09 01:01:36
@tMC:首先想到的。讓你的程序掛載'/ proc'。 :-) – Mikel 2011-05-09 01:13:27
@mikel - 它可能也有。但我希望以不同的方式對啓動過程進行分組。我只是希望在libs中有一個函數可以通過ctypes或我可以在啓動啓動過程之前啓動的接口執行。 – tMC 2011-05-09 01:17:36
我想了解您的需求更好,因爲你幾乎保證有/proc
安裝。安裝/proc
是init
所做的第一件事情之一。
與Ubuntu的新貴:/etc/init/mountall.conf
,在startup
事件
的Fedora與啓動腳本的一部分:/etc/rc.sysinit
,第二件事情它(設置主機名之後)
您的代碼幾乎可以肯定在此之後運行。
看到,因爲您要更換init
,看看init
是怎麼做的。 init git repo。
似乎有一個全球性的符號叫做boot_command_line
。
我正在用中斷語言(python)重寫init。我想將路徑傳遞給python中斷程序作爲引導選項,但由於init將是一個python腳本,我需要知道中斷程序的路徑在exec()init過程之前的位置。 – tMC 2011-05-09 01:14:18
LOL,Python作爲*中斷*語言 - 使我的一天:) – 2011-05-09 01:36:24
- 1. Linux內核寫入()和讀取()函數
- 2. 使用C讀取linux內核版本?
- 3. 其中是tcp_delack_min linux tcp內核參數?
- 4. Linux內核中的nr_cpus啓動參數
- 5. linux dirty_writeback_centisecs內核參數沒有效果
- 6. 被忽略的linux內核參數'rootwait'
- 7. Linux內核sendpage函數
- 8. linux內核函數page_address()
- 9. 如何在Linux內核模塊中讀取/寫入文件?
- 10. 在Linux內核中讀取和寫入原子操作實現
- 11. 從Linux內核中讀取文件系統事件(不帶Inotify)
- 12. 使用C/C++在Linux中讀取內核信息
- 13. 如何在Linux內核空間讀取環形緩衝區?
- 14. 無緩衝misc_device讀取-linux內核驅動程序
- 15. 內核的參數
- 16. OpenCL內核參數
- 17. CUDA內核參數
- 18. 在運行時從linux內核模塊獲取內核版本
- 19. 讀取內核內存無需驅動
- 20. Linux網絡內核
- 21. asm__volatile()在Linux內核
- 22. 配置Linux內核
- 23. setscheduler()在Linux內核
- 24. glib和linux內核
- 25. Linux內核調試
- 26. linux內核的config.h
- 27. Linux內核調度
- 28. 構建Linux內核
- 29. Linux內核調度
- 30. Linux內核編程
我相信init會將它們設置爲一個環境變量。 – 2011-05-10 13:42:45