Covid-19の影響により、オペレーティングシステムのクラスは自宅で実施する必要があります。条約によれば、コンピュータールームは生徒によって和らげられており、比較的安定しているはずであり、コンピュータールームは一般に教師が提供するソフトウェアとより一致しているため、コンピュータールームで実行する必要があります。
ただし、誰かが自宅でこのコース設定を完了し、VMware15と彼がすでにインストールしていたUbuntu18.04を使用して完了しました。彼は無数の落とし穴に踏み込んで、10回以上再インストールしました。今、私は痛みを伴う経験を使って、皆のために穴を埋めます。
操作エラーの瞬間に、別の日を始めましょう。 $ k $実験を行う前に、$ i $実験を入れてください(
正式な実験の前にいくつかの小さな実験があります。ここにいくつかの予防策があります。あなたがそれに遭遇しない場合、それはあなたがその後の実験でそれに遭遇しないという意味ではありません:
学校バージョンを使用してみませんか?
ヒント:
学校が提供するカーネルをコンパイルしないでください。公式ウェブサイトから最新のものをダウンロードするか、フォルダー「Lab1カーネルコンピレーション」(それ以外の場合は、GCCバージョン、コンピレーションエラーなどに矛盾があります)で提供されます。 4つのバージョンを選択することを強くお勧めします(低いバージョンと比較してミスはそれほど多くありません。5バージョンと比較した利点は、2番目の実験に反映されます)。
最初に学校のビデオを視聴し、手順を理解し、次にCSDNチュートリアル4バージョンのカーネルとCSDNチュートリアル5バージョンのカーネルを参照して、カーネルコンパイルを完成させることをお勧めします。
環境でUbuntuの下で5つのバージョンをコンパイルするには、18.04:
sudo apt-get install gcc make libncurses5-dev openssl libssl-dev
sudo apt-get install build-essential
sudo apt-get install pkg-config
sudo apt-get install libc6-dev
sudo apt-get install bison
sudo apt-get install flex
sudo apt-get install libelf-dev
sudo make -j4
- なぜ異なるカーネルをコンパイルしますか?
- 学校の完全な作業を完了することは困難です。さまざまなカーネルバージョンにはボーナスポイントがあり、新しいカーネルバージョンは簡単です。
ヒント:
この実験には2つの部分があります。最初のものは次のように教師が言ったことであり、主なものは2番目のものです。
この実験の最大の利点は、カーネルをコンパイルする必要がないことです。
Linux/ubuntu18.04(カーネルコンパイル方法|モジュールの追加)の下でシステムコールを追加する2つの方法を参照し、[カーネルモジュールメソッドを使用して簡単なシステム呼び出しを追加します。
注:まず、ブログのプロンプトに従って使用可能なシステムコール番号を見つけ、ブログで与えられたコマンド(複数のテーブルアドレスがある場合は、最も通常の名前を見てください)を介してシステムコールテーブルのアドレスを見て、最初に実行されているブログコードに基づいてブログコードを直接変更してください。