blogこの広告は、90日以上更新していないブログに表示しています。2013-01-15kexecの実装linuxユーザランドのkexecコマンドへ再起動後のカーネルを渡します。ELFパーサとかbzImageカーネルイメージパーサとか種類あるみたいだけど、それらがカーネルのレイアウト読み取って解釈を行なって、最終的にイメージとメモリレイアウトをシステムコール経由でカーネルへ渡します。flags);}カーネル側では渡されたデータの解釈を行なって最終的に変数「kexec_image」に保存しときます。このカーネルでリブートするわけではありません。}新しいカーネルで再起動するのはrebootを呼んだ時です。特別なモードのrebootを呼ぶ必要があるようです。-1;}カーネル側でLINUX_REBOOT_CMD_KEXECがハンドルされkexecのルーチンが呼ばれます。break;#endifいろいろあってアーキテクチャごとのルーチンが呼ばれます。machine_kexec(kexec_image);そこでセグメントレジスタやGDTR・IDTRをリセットし、最終的にアセンブリのルーチンをコールします。image->preserve_context);アセンブリのコードでは、レジスタの初期化を行い、カーネルのリロケーション(ロード先へカーネルをコピー)を行い、新しいカーネルへジャンプします。これで新しいカーネルが起動してくるのでした。03:30kexecの実装Tweet広告を非表示にする関連記事2013-04-24netconsoleを使ってみるnetconsoleは、dmesgの出力をUDPでリモートホストへ送る機能。week4&5:week3のバグを直して擬似BIOS動くようにしたこれが動いていなかったので、直した。月別アーカイブ参加グループプログラミングはてなブログをはじめよう!syuu1228さんは、はてなブログを使っています。ブログを報告するスターをつけました引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。