看板 LinuxDev 關於我們 聯絡資訊
請教一下 我接觸過的板子 裡面都會有bootloader partition 最近在玩樹莓派 我下載網路上的image更新到SD card後 我在SD card裡面卻找不到bootloader的file 它的bootloader是有另外燒在板子上嗎? 沒有的話 它是怎麼知道要讀uEnv.txt來開到kernel? 感謝 -------------------------------------------------------- 拍謝更新一下 因為手上除了RPI3之外還有Pine A64 看來RPI3的sd card是有bootcode.bin 而之前上續的檔案結構是Pine A64 也就是Pine A64找不到boodloder partition or file -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 220.130.45.196 ※ 文章網址: https://www.ptt.cc/bbs/LinuxDev/M.1517900514.A.8C4.html
filiaslayers: bootloader應該是在機器上吧?不然怎麼開機 02/06 15:51
我之前板子的都是存在nor or nand or emmc
leolarrel: 樹梅派的bootloader 不就是uboot 嗎? 02/06 15:59
hizuki: 你仔細看說明,是寫到一個SD卡上一個規定位置上面去 02/06 16:24
hizuki: 至於這個位置,是晶片固化好的位置,使用MMC設備時候都去 02/06 16:25
hizuki: 讀這個位置到SRAM中,然後整個bootloader會初始化記憶體 02/06 16:26
我沒看到特別的位置 sd card就二個partition, 一個是放開機的檔案包含kernel,另一個則是rootfs
chuegou: 你以前的板子有跑os嗎 02/06 20:05
有壓 ※ 編輯: awaysu (220.130.45.196), 02/07/2018 15:24:43
leolarrel: 因為bootloader放在sd卡的區域,正好沒有標在partition 02/08 08:57
leolarrel: 區域裡,所以你看partition自然看不到bootloader 02/08 08:58
hizuki: 請先補充儲存系統的基本常時吧,看看UEFI,BIOS的啟動流程 02/10 08:55
galic: 純噓樓上... 嵌入式平台你跟我談UEFI? 02/10 14:27
hizuki: UEFI在ARM平台上的使用你不知道嗎?只是一個標準,讓你好 02/11 11:04
hizuki: 理解而已 02/11 11:04
hizuki: 不然每個平台在load 1st bootloader的細節上差異都很大, 02/11 11:05
hizuki: 你讓人怎麼理解 02/11 11:05
GaliTW: 要我再次強調「嵌入式」嗎?有需要這麼複雜嗎?標準又如何 02/11 11:16
GaliTW: ?那是Intel跟小老弟們養的小圈圈。這又跟儲存系統有何關 02/11 11:16
GaliTW: 係?笑死 02/11 11:16
GaliTW: 要理解開機流程不就看ARM跟Raspberry PI的Spec就好,在那 02/11 11:17
GaliTW: 亂推薦東西,不要誤導人啊 02/11 11:17
GaliTW: 你就算讀懂UEFI,對PI的啟動程序一點幫助都沒有 02/11 11:18
GaliTW: 你自己都強調差異很大了,那不是更應該根據平台來決定該讀 02/11 11:21
GaliTW: 什麼資料嗎? 02/11 11:21
hizuki: 要理解存在差異必須知道一般作法。就拿取偏移來載loader來 02/11 15:19
hizuki: 講,這個是BIOS時代針對MS 分割表就存在的內容。另外現代A 02/11 15:20
hizuki: RM晶片為了兼容GPT對讀取位置也做了相應更改。這設計是一 02/11 15:20
hizuki: 個過程而不是停留過去 02/11 15:20
galic: 可是這篇是Raspberry Pi耶 你到底在說三小? 02/11 16:47
galic: ARM兼容GPT不就是要打入UEFI圈圈 那是for 64bit Server應用 02/11 16:48
galic: 的「策略」 不是UEFI就叫「一般作法」就是「走在前面」 02/11 16:48
galic: 你要不要等到人家原生就走UEFI在來說你的笑話阿? 02/11 16:53
hizuki: 要不要我給你舉ARMv7的晶片,還停留在自己的世界不懂外界 02/12 07:49
hizuki: 變化嗎?無論如何本意上只是要說明這種期待方式和電腦無異 02/12 07:49
hizuki: 不要覺得奇怪 02/12 07:49
leolarrel: 贊成不要新手去搞懂什麼UEFI for ARM,那個太複雜了, 02/12 10:54
smmoon: 有大大可以講解pi的啟動流程嗎? 最近在學習中 感恩! 02/13 09:04
如我後來說的 我現在是在看PINE A64 開機流程可以參考 https://linux-sunxi.org/Pine64#Boot_sequence https://linux-sunxi.org/BROM#A64 至於RPI的可參考 就是SD Card的bootcode.bin https://raspberrypi.stackexchange.com/questions/10442/what-is-the-boot-sequence 另外回一下hizuki 我自己做嵌入式做過Wince, linux 到現在andoird 是還沒有碰過用UEFI 可能我接觸不夠廣 ※ 編輯: awaysu (1.169.131.125), 02/13/2018 20:57:26
explora26: 其實linaro有在幾個平臺上搞UEFI 02/15 07:57
explora26: 可以參考Android官方支援的Hikey Board 02/15 07:58
GaliTW: 除非你要用windows iot 不然現在搞UEFI根本自爽而已 02/17 00:10
GaliTW: RPI的啟動流程還比UEFI還屌 人家可是先用GPU開機的 還能吃 02/17 00:11
GaliTW: EFI的Image 你根本不知道高通在裡面搞了啥神奇的東西 02/17 00:12
GaliTW: 你還在亂推新手去讀ARM怎麼吃UEFI 真的不要讓人笑死 02/17 00:13
tjjh89017: ARM很自由der,u-boot也是很自由的,ODROID系列也是 02/21 00:48
tjjh89017: uboot,但是他的uboot,是去讀sd卡的first sector 02/21 00:49
tjjh89017: 很類似IBM BIOS的玩法,而rpi2的uboot則是去讀sd卡的 02/21 00:49
tjjh89017: FAT找uENV.txt,然後吃kernel.img。然其他的uboot還有 02/21 00:50
tjjh89017: 不同玩法。 02/21 00:50
askacis: 基本上都是看SOC怎麼設計開機flow,FW跟著做而已 02/21 12:32
hizuki: 多做點Google的項目再來嘴我吧。 02/24 15:09
jiansu: arm通常用Uboot或是自己寫的小bootloader 就夠了,UFEI不 03/25 23:56
jiansu: 常見,有些大廠確實用UFEI的 但是還不是主流的樣子 03/25 23:56
qwaszx771129: 的確在嵌入式上使用UEFI還不是主流。 08/28 18:24
qwaszx771129: 推askacis,通常就看boot flow怎麼設計 fw跟著做。 08/28 18:25
qwaszx771129: 扯到UEFI的確比較遠一點。 08/28 18:26