在make 一個模塊時,提示:
arm-none-linux-gnueabi-ld cannot open output file XXX.o Permission denied
想到切換用戶,但 sudo make 會提示:
command not found
因而用su切換用戶.
但用su時:
$ su - root
Password:
su: Authentication failure
Sorry.
這時候輸入
$ sudo passwd root
Enter new UNIX password:
Retype new UNIX password:
passwd: password updated successfully
可以到root用戶.
但再次編譯時,出現:
/Makefile: No such file or directorysrc/arch/arm
gcc: Command not foundnueabi-
查了半天,想到應該編譯器路徑不對,但source envsetup.sh已經把環境搭好了啊.
再查,注意到source envsetup.sh時會出現: command not found的提示,但看了很久,envsetup.sh和原來一樣啊,沒有改動什麼.
最後用比較器比較,終於發現和舊的envsetup.sh相比,這個envsetup.sh裏面的回車鍵全沒有了.(不知那個編輯器自動把其去掉了,可能是sourceinsight),替回原來的,就可以了
但是最開始的Permission denied問題還沒解決啊,可是我重新編譯這個模塊時,Permission denied這個問題沒有了,這是怎麼回事?(爲什麼原先會有呢?和envsetup.sh有關?)
網上說:
最後查找su 和sudo 的區別,終於理解了,原來是工作環境的問題。希望此貼以後對其它人有幫助!
su 和 sudo 的區別:
1.共同點:都是root用戶的權限;
2.不同點:su僅僅取得root權限,工作環境不變,還是在切換之前用戶的工作環境;sudo是完全取得root的權限和root的工作環境。
不知是否正確