私は単純なカーネルキャラクタデバイスドライバを書いていますが、VMではなく自分のマシンのOS上でそれを行うことがどれほど安全であるのだろうかと思います。自分のマシンで単純なLinuxカーネルモジュール/ドライバを開発するのはどれだけ安全ですか?
カーネルパニックが破壊的になる可能性がありますか?
私は単純なカーネルキャラクタデバイスドライバを書いていますが、VMではなく自分のマシンのOS上でそれを行うことがどれほど安全であるのだろうかと思います。自分のマシンで単純なLinuxカーネルモジュール/ドライバを開発するのはどれだけ安全ですか?
カーネルパニックが破壊的になる可能性がありますか?
デバイスドライバの作成を開始したときにこれらの問題が発生しました。
実際のカーネル開発者はVMを使いこなすことはありません。実際のマシンでテストしコード化するのを恐れないでください。私はデバイスドライバをテストするための専用のカーネルをコンパイルしました。私はテスト用のカーネルとアプリケーションプログラミング用のカーネルが1つあります。
新しくビルドされたカーネルでドライバをテストする場合は、thisが新しいカーネルのインストールに関する素晴らしいガイドです。
これは一般的に安全です。ほとんどの場合に起こりうる最悪の事は、カーネルの起動に失敗し、GRUBや使用しているブートローダの中で別のカーネルを選択しなければならないことです。これが起こった場合に備えて、既知の良いカーネルを保つようにしてください。
これは一般的なケースです。もちろん、より具体的になると、より複雑になります。ストレージドライバをハッキングしている場合、クラッシュによってデータが破損する可能性がありますか?絶対に。ビデオドライバを使いこなしている場合、無効な解像度/リフレッシュレートをスクリーンに出力して、損傷を引き起こす可能性がありますか?もちろん可能です。 SPIコマンドを使用して充電器を制御するドライバを作成しますか?データシートの仕様を超えて充電しないでください。そうしないと、火災の原因となります。
1日の終わりに、VMは実際のハードウェアでのテストの代わりにはなりません。あなたがやっていることとその変化の潜在的な結果を念頭に置いておいてください。通常、再起動は何も修正されません。理論的には、何かを壊すことは可能です。