2010年8月15日日曜日

kernel001


NVRAMリセットが可能であることを確認

  • コマンドラインから以下を実行。これで起動時にlinux等でおなじみの詳細なレポートが画面に出る。
$ nvram boot-args="-v"
  • 一旦電源を落とし、cmd+opt+p+r を押しながら電源投入。キーは押し続ける。
  • そのうち再起動がかかって詳細起動画面ではなくいつものリンゴ画面が出ればNVRAMリセットができたと言うことでOK.

カーネルをコピー

$ sudo cp BUILD/obj/mach_kernel /mac_kernel.custom
$ sudo chmod 644 /mach_kernel.custom
$ sudo chown root.wheel /mach_kernel.custom

起動カーネル変更

$ sudo nvram boot-args="-v Kernel=mach_kernel.custom"
起動時にカーネルビルド日付が出るので、
カーネルの日付になっていることを確認する。
(日本語環境でビルドすると文字化けする。その場合は化けていることを確認。)

結果

手元の環境では起動が非常に遅く、ログイン画面でキーボードが反応しないと言う状態に。。
トラックパッドは反応していた。
NVRAMリセットで元のカーネルに戻して正常に戻った。

うまく動きはしなかったけど、気軽に起動カーネル
変更できる手段が見つかったことは非常に嬉しい。
カーネルをいじって遊ぶことができる。
ああ 2010/02/12 22:55> 手元の環境では起動が非常に遅く

http://lists.apple.com/archives/darwin-kernel/2009/Dec/msg00000.html
に情報があるのですが、公開されているソースからビルドしたカーネルを使う場合は AppleProfileFamily.kext を無効にしてやらないといけないようです。
自分の MacBook3,1 では、これでまともに動作するようになりました。

http://lists.apple.com/archives/darwin-kernel/2009/Dec/msg00032.html
によると、AppleProfileFamily.kext が動作できるようにするにはオープンソースでない(今後もオープンソースにはなりそうにない)ソースが必要だそうです。
teru_kusuteru_kusu2010/02/17 01:03>あ さん
コメントありがとうございます。
おおおおおおおおおおおおお!
正しく同じ現象です!
なるほどー。そういうことだったのか。
今度試してみます。

0 件のコメント:

コメントを投稿