2013-02-23 59 views
3

我試圖在/ sys/devices/platform中添加一些文件來測試我的程序,但看起來像sysfs是不可編輯的。有沒有辦法可以添加/僞造一個/ sys入口?在/ sys文件系統中創建條目

+1

簡短的回答:否。如果驅動程序沒有進行正確的條目;司機有問題。問:你究竟想完成什麼?也許還有另一個不同的解決方案來解決你的潛在問題? – paulsm4 2013-02-23 00:22:42

+2

創建你自己的'sysfs'驅動程序? – 2013-02-23 00:22:45

+0

如何使用/ proc或/ debugfs來代替? – 2013-02-23 00:28:04

回答

2

如果你想真正地在那裏添加文件,你可以使用一個linux內核模塊,但是我會建議不要這個來測試一個程序。

chroot可能被用來製作假文件系統來運行你的代碼,但這可能過於複雜。

我建議使用SYS_PATH的值,所以你可以重新編譯你的程序進行測試,並讓它看起來在別處。

#ifdef DEBUG 
#define SYS_PATH "/home/user/myfakesys" 
#else 
#define SYS_PATH "/sys" 
#endif 

...

FILE *f = fopen(SYS_PATH "/devices/platform/...", "wb"); 
+0

謝謝!我沒有它的源代碼,但它顯然是從SYSFS_PATH環境變量讀取的,我可以將其設置爲假的sys目錄。 :d – user2101303 2013-02-23 01:25:51

相關問題