Based on kernel version 6.12.4
. Page generated on 2024-12-12 21:02 EST
.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 | .. SPDX-License-Identifier: GPL-2.0 .. include:: ../../disclaimer-zh_TW.rst :Original: Documentation/arch/loongarch/booting.rst :翻譯: 司延騰 Yanteng Si <siyanteng@loongson.cn> ==================== 啓動 Linux/LoongArch ==================== :作者: 司延騰 <siyanteng@loongson.cn> :日期: 2022年11月18日 BootLoader傳遞給內核的信息 ========================== LoongArch支持ACPI和FDT啓動,需要傳遞給內核的信息包括memmap、initrd、cmdline、可 選的ACPI/FDT表等。 內核在 `kernel_entry` 入口處被傳遞以下參數: - a0 = efi_boot: `efi_boot` 是一個標誌,表示這個啓動環境是否完全符合UEFI 的要求。 - a1 = cmdline: `cmdline` 是一個指向內核命令行的指針。 - a2 = systemtable: `systemtable` 指向EFI的系統表,在這個階段涉及的所有 指針都是物理地址。 Linux/LoongArch內核鏡像文件頭 ============================= 內核鏡像是EFI鏡像。作爲PE文件,它們有一個64字節的頭部結構體,如下所示:: u32 MZ_MAGIC /* "MZ", MS-DOS 頭 */ u32 res0 = 0 /* 保留 */ u64 kernel_entry /* 內核入口點 */ u64 _end - _text /* 內核鏡像有效大小 */ u64 load_offset /* 加載內核鏡像相對內存起始地址的偏移量 */ u64 res1 = 0 /* 保留 */ u64 res2 = 0 /* 保留 */ u64 res3 = 0 /* 保留 */ u32 LINUX_PE_MAGIC /* 魔術數 */ u32 pe_header - _head /* 到PE頭的偏移量 */ |