首頁>Raspberry Pi>source

我正在跑 Debian Buster(Not Raspbian / RaspberryPiOS) 並需要安裝rpi使用者區才能訪問vcgencmd。

我尝試了以下操作:

cd /tmp
git clone https://github.com/raspberrypi/userland.git
sudo apt-get install cmake
cd userland
./buildme

這結束於5%標記附近,有许多錯誤行,最终顯示以下輸出:

/tmp/userland/interface/khronos/common/khrn_int_hash_asm.s: Assembler messages:
/tmp/userland/interface/khronos/common/khrn_int_hash_asm.s:36: Error: unknown architecture `armv6'
...
...
...
make[2]: *** [interface/khronos/CMakeFiles/khrn_client.dir/build.make:102: interface/khronos/CMakeFiles/khrn_client.dir/common/khrn_int_hash_asm.s.o] Error 1
make[1]: *** [CMakeFiles/Makefile2:439: interface/khronos/CMakeFiles/khrn_client.dir/all] Error 2
make: *** [Makefile:152: all] Error 2

我不確定该問题的解決方案是什麼. "未知的架構"似乎是一个很好的目標.但是,我不知道下一步是什麼。

任何建議/帮助將不胜感激。

最新回復
  • 5月前
    1 #

    该github頁面確實提到了您可以指定架構作為 buildme選項的事實。 ,例如. 64位版本將是 --aarch64 ,如果您執行的是64位Debian.否則你会想要 --arm7l (這些列在该 buildme的頂部 指令碼作為本地指令碼,即 在Pi上構建)。

    https://github.com/raspberrypi/firmware/tree/master/hardfp/opt/vc中有預編譯的版本 -它们可能会起作用,也可能不会起作用,但是如果您無法正常執行,則值得一試。

    未成年人nitpick那 /tmp 不是構建东西的好地方if這是一个值得 系統(通常是),因為它實際上在RAM中.編譯通常需要相当多的記憶體(尽管我认為vc lib的东西並不多),所以通過將輸出寫入RAM,您可以直接减少正在进行的編譯過程可用的記憶體量.如果您拥有4 GB以上的型號,那不是什麼大不了的事情,但是如果您還没有的话,要註意一點。 tmpfs

    這很有道理.可執行檔案通常鏈接到作為檔案系統中單独實體的庫.有一組預設路徑可搜尋,就像

    It looks like the following is needed to be able to get it to run: LD_LIBRARY_PATH=/opt/vc/lib /opt/vc/bin/vcgencmd

    適用於命令,但是鏈接器(用於查詢庫元件)使用二进製快取,该快取是从 $PATH中的配置檔案建立的 .主要的是 /etc ,该資源在 ld.so.conf中提供

    我註意到在当前的RpiOS 64位版本中,VideoCore庫位於常規位置,但是在32位版本中仍然存在 /etc/ld.so.conf.d ,並告知鏈接器,有一个 /opt/vc 一行:

    /etc/ld.so.conf.d/00-vmcs.conf
    

    如果這是您安裝的东西,只需重複一下即可.只要在 /opt/vc/lib中,该檔案的名稱都没有關係 它包含那條線.還要確保它只能由root寫入,因為這可能是一个非常讨厌的安全漏洞(所以拥有root.root並具有644權限,因為非特權程序確實需要讀取它).然後:

    /etc/ld.so.conf.d/
    

    這將讀取這些檔案並更新鏈接器快取,因此無需顯式設置 sudo ldconfig就可以找到VC庫。

    LIBRARY_PATH

相似問題

  • 我可以更新用於PI 4的PI 4上与PI3一起使用的SD卡吗?
  • pi 4:如何訪問我的樹莓派os lite的配置