作者 主題: 開發 embedded system 時遇到的 mknod 權限問題  (閱讀 7799 次)

0 會員 與 1 訪客 正在閱讀本文。

andrew

  • 實習板主
  • 懷疑的國中生
  • **
  • 文章數: 69
    • 檢視個人資料
我們在開發 embedded system 時遇到一個問題,
產生 firmware 的過成大約是這樣:
1. 產生 filesystem
2. 產生 kernel image
3. 整合 1 & 2 變成 firmware

但是1.的步驟需要用到 mknod 的指令建置 /dev 下的裝置檔.
一般的開發者都用自己的 Linux 環境, 所以自己是 root, 執行 mknod 沒有問題,
但是客戶要求我們可以用一般 user 的身份 build firmware,
這會使得產生 filesystem 的過程中發生 mknod 權限不符的錯誤.

請問各位有遇過這樣的問題嗎? 是如何解決的呢?

find /my_brain type sleepy -exec rm -rf {} \;

kenduest

  • 酷!學園 學長們
  • 俺是博士!
  • *****
  • 文章數: 3675
    • 檢視個人資料
    • http://kenduest.sayya.org
我們在開發 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 權限如何呢?

--
I am kenduest - 小州

my website: http://kenduest.sayya.org/

andrew

  • 實習板主
  • 懷疑的國中生
  • **
  • 文章數: 69
    • 檢視個人資料
我有想過這件事情耶.

不過~事實上, 他們希望我們把 code 上傳到他們的 server 進行遠端 build code 做驗證,
可以 build 出 firmware 我們才算完成任務. 所以才會遭遇這個問題~

如果要求他們在 server 上開啟 setuid, 我不確定他們會同意....(難道無解 :-[)

ps: 我嘗試過先用 root 建立好 /dev 下的檔案, tar 起來,
     但是一般 user 嘗試解壓縮它時, 一樣會遇到權限不符的問題喔.
find /my_brain type sleepy -exec rm -rf {} \;

kenduest

  • 酷!學園 學長們
  • 俺是博士!
  • *****
  • 文章數: 3675
    • 檢視個人資料
    • http://kenduest.sayya.org

然後呢 ?  既然不是你的系統,把問題丟給對方請對方給您解決方案就好了不是嗎 ?

--
I am kenduest - 小州

my website: http://kenduest.sayya.org/

thyme

  • 老人組
  • 俺是博士!
  • *****
  • 文章數: 1281
    • 檢視個人資料
用 devfs ,在載入 kernel module 時才自動該 device ,這樣可以嗎?

embedded system 通常應該很少用 devfs or udev 的 :-)

--
« 上次編輯: 2008-06-24 17:51 由 kenduest »

jserv

  • 榮譽學長
  • 憂鬱的高中生
  • ***
  • 文章數: 161
  • 性別: 男
    • 檢視個人資料
    • jserv's homepage
需要用到 mknod 的指令建置 /dev 下的裝置檔.
一般的開發者都用自己的 Linux 環境, 所以自己是 root, 執行 mknod 沒有問題,
但是客戶要求我們可以用一般 user 的身份 build firmware,
這會使得產生 filesystem 的過程中發生 mknod 權限不符的錯誤.

建議使用 Linux 2.6 hotplug + mdev (in busybox),已有簡潔明暸的 rules 可參考,效能好、彈性也夠。