1
我是內核開發的新手,所以爲了增加我的技能,我想創建一個簡單的內核模塊,它將設備/ dev/hwrng設置爲並生成一些熵與光標位置。製作一個使用光標位置生成熵的/ dev/hwrng內核模塊
目前我已經找到推出的/ dev/hwrng的方式,只有零熵=>http://main.lv/writeup/kernel_dev_hwrng.md
生成得到光標位置我知道型動物的方式:
- 從庫X11 /Xlib.h - >我可以得到我的光標的絕對位置,從
/dev/input/mice
- 和
/dev/input/mouse0
- >我能得到的相對位置 - 形式
/dev/input/event<X>
其中X是NU mber這是找到命令cat /proc/bus/input/devices
所以我知道如何獲得用戶的土地光標位置,但我不知道如何從內核土地獲得它。我已經閱讀了關於IOCTL的一些內容,但爲了這一點而在用戶空間和內核空間之間建立聯繫似乎很奇怪。 感謝您的幫助。
我懷疑光標的絕對位置在內核中是已知的。 X服務器知道,因爲它正在繪製它(我認爲),但這是相對於設備驅動程序的鼠標移動。但X服務器是一個用戶登陸進程,無法看到爲什麼會回到內核。如果您認爲X服務器可以通過網絡遠程訪問,那麼它完全獨立於底層內核。 – bazza
我同意,內核沒有理由知道光標的位置。所以我試圖用我的熵模塊作爲光標位置的輸入,我正在考慮使用/ dev/input設備之一,但是我不知道是否可能僅僅使用內核空間,如果是這樣,我不會不知道該怎麼做。 – Gram
當然,但是在您的內核模塊中,來自輸入設備的隨機性只能從用戶在本地登錄時的行爲中獲得。如果他們已遠程登錄,那麼本地沒有任何輸入,這將是考慮到你的想法是壞事;這將是恆定的零輸入。 – bazza