2017年4月9日

bpi 調整記事

bpi調整記事,感謝miky協助

那應該可以bpi-update -c bpi-m64.conf 看看 如果不行 就要檢查 systemctl 看有沒有跑bpi-init 因為7月以前的不是太成熟

 為了要使系統兼容不同的板子 我們image 不再使用/etc/modules 的機制載入 module , 當然個別載入特定的還是可以,我們都改用bpi-init 然後參照/var/lib/bananapi/bpi-init.d 裡面的腳本 依據不同的板子 載入不同的驅動

 這樣才能讓我們很輕鬆使用bpi-update 或bpi-migrate 去優化個別板子


然後/etc/rc.local 也被我們改寫 變成autorun , 參照/var/lib/bananapi/bpi-autorun.d 這裡面可以依據不同的板子 在開機時啟動不同的程序
 

其中 bpi-hw -A 在開機時 優先被執行 用來辨識這是哪個板子


 這是bpi-init 裡面的一個腳本執行的

 所以開完機 bpi-hw 可以顯示目前是哪個板子

 /var/lib/bananapi/board.sh 裡面就存放 曾經切換的板子 跟目前開機是哪個板子


 有了這些 我目前正在移植最新的wiringpi 跟rpi.gpio 這樣我們的image 可以正常使用 C or python or nodejs 來控制 gpio , 當然node-red 也會改好 已經知道如何改了 目前就是希望一套code 自動讀取/var/lib/bananapi/board.sh 來辨識是哪個板子 就不需要安裝不同版本wiringpi

 以後只要使用bpi-bootsel 切換板子就好

 如果以後主流的uboot 把我們bananapi 板子都支持的話 我最希望 一套uboot 直接辨識 全志的板子 連bpi-bootsel都省了 實際上我們目前給A20的uboot 其實已經有自動判斷M1 M1+ R1 的能力 只是偶爾會誤判 主要我們沒有特別的硬件設計來區別板子

命令安裝新版的bpi-tools
 curl -sL https://github.com/BPI-SINOVOIP/bpi-tools/raw/master/bpi-tools | sudo -E bash -

張貼留言