カーネルをgdbでリモートデバッグできるようにするかーとか思ってやってたわけです。 しかし、下記のような感じでちょっとハマってました。 ブレークポイントが効かなかったり vmlinuxとvmlinuzの組が合ってるのにシンボル名が出なかったり Cannot access memory at address 0xffffffff8124d730とかで落ちたり 原因はKASLRが有効だったため、実行時にアドレスがランダマイズされていたのが原因ですね\(^o^)/ 解決策はKASLRをoffにすれば良いだけです。そのためにカーネルの再ビルドは不要で、カーネルのコマンドラインでnokaslrを渡せばOKです。 そうすればこのようにいい感じに 以下はめも remote接続にシリアルコンソールを使う場合 qemuはこんな感じになる。 $ qemu-system-x86_64 -kernel vmlin
![Linux kernelをgdbでリモートデバッグするときはKASLRをoffにするのを忘れずに(´・ω・`) - φ(・・*)ゞ ウーン カーネルとか弄ったりのメモ](https://cdn-ak-scissors.b.st-hatena.com/image/square/f63f2b254ca4bbbdb5aa150d9bed6f19611d4e84/height=288;version=1;width=512/https%3A%2F%2Fcdn-ak.f.st-hatena.com%2Fimages%2Ffotolife%2Fm%2Fmasami256%2F20180215%2F20180215221450.png)