2017年8月22日 星期二

BeagleBone - Auto Boot from micro SD

解決客製Linux 放到micro SD卡時,不需要按S2按鈕即可啟動該Linux
BeagleBone Black 開機簡易流程

簡單說,ROM code一開始會依照S2按鈕按下與否產生的電位差,來決定讀取哪邊的MLO檔案
但是我們沒辦法改ROM code來強迫讀取micro SD,所以網路上的方法幾乎是從MLO下手

方法1:修改eMMC內的MLO檔名,讓他讀取失敗,就會轉向micro SD卡的MLO

BBB插入電腦的時候,eMMC的partition 1 變成隨身碟,如果裡面有MLO檔案,將他改名成任意名稱即可
但是我這邊這張BBB裡面找不到MLO檔案,所以此方法對我不適用...(似乎是不同版本debian Image會有差別,我的image已經包含MLO)


方法2:將eMMC內的資料全部洗掉

先用SD卡按S2按鈕boot進入BBB後,輸入指令洗掉eMMC,此方法較暴力...
所以開機時,ROM code進到eMMC找MLO和 u-boot失敗 (eMMC裡面沒有任何東西),就會轉向micro SD卡
#mmcblk1為eMMC位置
dd if=/dev/zero of=/dev/mmcblk1 bs=1024 count=1024
#以防萬一可用以下指令確認eMMC,其結果如下圖,mmc-MMCxxxxx即eMMC,mmc-SDxxxx為micro SD卡
ls -al /dev/disk/by-id


方法3:改變SYSBOOT的電位值 

因為按下S2扭時,SYSBOOT2變成低電位,所以在P8 pin43外接一個小電阻到地(如下圖SYSBOOT2是LCD_DATA2,為P8 pin43),即可等效模擬按下S2按鈕,此方法驗證是可行的
『Building a removable jumper wire for connecting pin 43 on connector P8
to ground (pin 1) with a 1k resistor』




方法4:將micro SD卡的 MLO和u-image放到eMMC的partition1內

因為我的eMMC 的partition1內沒有MLO檔案,所以我自己嘗試將我的MLO與u-boot.img放過去,結果就跳過去micro SD卡開機了..
推測流程變成下圖,u-boot在make時,有寫上位址指向micro SD卡 (以刪除micro SD卡的MLO做驗證)


2 則留言:

  1. 您好,
    我目前也在嘗試從SD卡開機的流程,但碰上了一些問題。
    在方法四,要怎麼把MLO, uboot放到beaglebone的eMMC上?
    是直接複製過去嗎?那要複製到哪個路徑下?是/boot/uboot?
    希望能有更詳細的步驟教學


    回覆刪除
  2. Karl 的魔法書: Beaglebone - Auto Boot From Micro Sd >>>>> Download Now

    >>>>> Download Full

    Karl 的魔法書: Beaglebone - Auto Boot From Micro Sd >>>>> Download LINK

    >>>>> Download Now

    Karl 的魔法書: Beaglebone - Auto Boot From Micro Sd >>>>> Download Full

    >>>>> Download LINK

    回覆刪除

NoSQL Redis intro

Redis是一個使用ANSI C編寫的開源、支援網路、基於記憶體、可選永續性的鍵值對儲存資料庫。 支援rdb 及aof 兩種儲存方式 From  https://zh.wikipedia.org/wiki/Redis Redis 目前擁有兩種資料...