タグ

ブックマーク / qiita.com/peo3@github (2)

  • Linux/arm64のブートプロセスについてのメモ - Qiita

    Linuxのブートプロセスを追うときに見るべきファイル(x86_64編)のarm64版のようなもの。 ブートストラップ linux/Documentation/arm64/booting.txt によると、現在のarm64用カーネルは、x86_64用カーネルが持つようなブートストラップの機能が存在しない。実際、arch/arm64/boot/以下にはx86_64のようなソースコード(head_64.S等)が存在しない。ブートローダがハードウェアの最低限の初期化をして、解凍された生のカーネルイメージ(ELFではない)を配置、エントリポイントにジャンプしてやらないといけない。カーネルに実行を移すときの要件も、booting.txtに書かれている。 ブートローダとしては、ubootやUEFIが使えると思われる。(Boot Wrapperというのも使えるみたいだが、今も使えるかは分からない。) a

    Linux/arm64のブートプロセスについてのメモ - Qiita
  • Linuxのブートプロセスを追うときに見るべきファイル(x86_64編) - Qiita

    4.0というか4/25時点のLinusツリーのHEAD リアルモードでbzImage(vmlinuz)の先頭から呼ばれる場合(LILOから呼ばれるときだっけ?) arch/x86/boot/header.S 圧縮されたカーネル(bzImage)の先頭にあるコード(setup.elf)のうちの一つ エントリポイント_startがある mainを呼ぶ arch/x86/boot/main.c mainがある いろいろハードウェアを初期化する go_to_protected_modeを呼ぶ arch/x86/boot/pm.c go_to_protected_modeがある setup_idtとかsetup_gdt等でプロテクトモードへ入る準備をする protected_mode_jumpでcode32_start(startup_32がある場所)へジャンプする startup_32は0x100

    Linuxのブートプロセスを追うときに見るべきファイル(x86_64編) - Qiita
  • 1