星期五, 7月 05, 2013

在 kernel module 裡參考 /proc/cmdline 裡的字串

基本上是不行,沒辦法取得。那在 u-boot 裡指定參數以後,又是誰收到?
所以我就參考 Documentation/kernel-parameters.txt,然後以 acpi_backlight 當例子去找。在 drivers/acpi/video_detect.c 的最後有看到宣告 static init __init acpi_backlight(char* str) {},這邊看起來是在處理字串,然後做處理;緊接其後則是 __setup("acpi_backlight=", acpi_backlight); ,而這行看起來就是 kernel 會有一個地方去 parse cmdline ,如果有符合 acpi_backlight,就把之後的字串丟給 acpi_backlight 函式去處理。
因此,就應該可以依樣畫葫蘆。在 u-boot 傳參數給 kernel,而 kernel 的 module 則用類似 acpi_backlight 的方式去處理,就可以解析到需要的字串。

沒有留言: