題 是否有基於ARM的計算機的啟動標準?


正如問題標題中所述 - 眾所周知,有標準,根據這些標準,如果你格式化你的pendrive,在那里安裝一個x86引導加載程序和一個分區與系統,你可以得到一個幾乎可以啟動的x86 USB記憶棒任何電腦。使用ARM處理器的計算機(如筆記本電腦)是否有類似的標準?


5
2018-03-21 22:01


起源


您在詢問Linux或任何操作系統或內核嗎? - sawdust
最優選的是,任何操作系統。 - d33tah
“......在任何計算機上啟動”  - 你的意思是“任何基於原始IBM PC及其BIOS的PC”。 - sawdust


答案:


曾經有過“Booting ARM Linux”的多頁文檔。不幸的是,該文檔的Web鏈接現在已被破壞,但似乎是一個副本 這裡。但是,該文檔沒有在引導介質上指定或建議特定的引導加載程序或任何文件/數據組織。

我記得的內容應該是內核之類的內容,應該在物理主內存+ 0x8000的開頭執行。

ARM Linux還需要在內存緩衝區中將各種內存,板和機器參數(稱為ARM標記或ATAG列表)列表引導到內核。引導加載程序將負責在內存緩衝區中構造ATAG和內核命令行。 ATAG顯然已被棄用,並且 由設備樹替換 在較新的Linux內核版本中。

預計引導加載程序也會設置並初始化RAM(這意味著設置時鐘/振盪器),進行初始化 一個串口 或控制台,並檢測ARM機器類型。

請注意,大多數ARM SoC採用多級引導序列,實際加載Linux內核的引導加載程序有時是第三階段引導加載程序。


2
2018-03-22 09:14





沒有標準。每個SoC供應商都使用自己的引導加載程序。


0
2018-03-21 22:25



如果您可以在答案中添加一些上下文和/或提供一些鏈接,這將使您的答案更有幫助 - Shekhar
@Shakehar,我看過3家主要SoC供應商的bootloader代碼。所有這三個都是不同的(使用不同的內部數據結構/等) - 我願意披露的背景。如果您有更多信息 - 請發表您自己的答案。 - Alex P.
我沒有挑戰你的答案,建議只是為了提高答案的質量,讓後來發現這個帖子的人更有信息量。 - Shekhar