酷!學園
技術討論區 => Embedded 討論版 => 主題作者是: andrew 於 2008-06-17 17:19
-
我們在開發 embedded system 時遇到一個問題,
產生 firmware 的過成大約是這樣:
1. 產生 filesystem
2. 產生 kernel image
3. 整合 1 & 2 變成 firmware
但是1.的步驟需要用到 mknod 的指令建置 /dev 下的裝置檔.
一般的開發者都用自己的 Linux 環境, 所以自己是 root, 執行 mknod 沒有問題,
但是客戶要求我們可以用一般 user 的身份 build firmware,
這會使得產生 filesystem 的過程中發生 mknod 權限不符的錯誤.
請問各位有遇過這樣的問題嗎? 是如何解決的呢?
-
我們在開發 embedded system 時遇到一個問題,
產生 firmware 的過成大約是這樣:
1. 產生 filesystem
2. 產生 kernel image
3. 整合 1 & 2 變成 firmware
但是1.的步驟需要用到 mknod 的指令建置 /dev 下的裝置檔.
一般的開發者都用自己的 Linux 環境, 所以自己是 root, 執行 mknod 沒有問題,
但是客戶要求我們可以用一般 user 的身份 build firmware,
這會使得產生 filesystem 的過程中發生 mknod 權限不符的錯誤.
請問各位有遇過這樣的問題嗎? 是如何解決的呢?
投機取巧方式,把 mknod 改成 root-setuid 權限如何呢?
--
-
我有想過這件事情耶.
不過~事實上, 他們希望我們把 code 上傳到他們的 server 進行遠端 build code 做驗證,
可以 build 出 firmware 我們才算完成任務. 所以才會遭遇這個問題~
如果要求他們在 server 上開啟 setuid, 我不確定他們會同意....(難道無解 :-[)
ps: 我嘗試過先用 root 建立好 /dev 下的檔案, tar 起來,
但是一般 user 嘗試解壓縮它時, 一樣會遇到權限不符的問題喔.
-
然後呢 ? 既然不是你的系統,把問題丟給對方請對方給您解決方案就好了不是嗎 ?
--
-
用 devfs ,在載入 kernel module 時才自動該 device ,這樣可以嗎?
embedded system 通常應該很少用 devfs or udev 的 :-)
--
-
需要用到 mknod 的指令建置 /dev 下的裝置檔.
一般的開發者都用自己的 Linux 環境, 所以自己是 root, 執行 mknod 沒有問題,
但是客戶要求我們可以用一般 user 的身份 build firmware,
這會使得產生 filesystem 的過程中發生 mknod 權限不符的錯誤.
建議使用 Linux 2.6 hotplug + mdev (in busybox),已有簡潔明暸的 rules 可參考,效能好、彈性也夠。