検索

ホームページ  >  に質問  >  本文

为什么要编译linux内核?

鄙人新手,对一些概念不能很理解,总有人说自己编译了一下linux内核,这个具体什么意思呢?有什么好处?还有模块编译又是个啥?编译会不会导致原来的linux炸掉?原来的内核是不是就是被卸载了?或者推荐一些关于这方面的网站博客之类……我实在搜不到自己想要的……谢谢了

高洛峰高洛峰2837日前809

全員に返信(5)返信します

  • 怪我咯

    怪我咯2017-04-17 14:31:54

    このタイプのコンパイルの目的は、主に、コンパイルを通じて Linux カーネルのコンパイル プロセスを理解し、カーネルの動作原理を理解し、さらにいくつかの変更を加えることです。

    コンパイルはソース コードをプログラムにコンパイルするだけであり、現在のシステムを置き換えたり、現在のシステムの動作に影響を与えたりすることはありません。

    返事
    0
  • 伊谢尔伦

    伊谢尔伦2017-04-17 14:31:54

    カーネルのコンパイルと他のソフトウェアのコンパイルの間に本質的な違いはありません。コードからバイナリまでのすべてのプロセスです。カーネルのコンパイルは少し複雑です。
    コンパイルが完了したら、新しいカーネルを使用してブートするか、以前のカーネルを選択してブートすることができます。
    一般に、カーネルをカットする、新しいパッチを適用する、カーネル モジュールを自分で作成するなど、カーネルをカスタマイズする必要がない限り、カーネルを再コンパイルする必要はありません。

    返事
    0
  • 大家讲道理

    大家讲道理2017-04-17 14:31:54

    彼は何かを変更して、それが良い感じになったので、こう言いました... Linux カーネルをまとめました
    推奨される「Linux カーネルの深い理解」

    返事
    0
  • PHP中文网

    PHP中文网2017-04-17 14:31:54

    カーネルのコンパイルは、カーネル サイズ要件やカーネルの未使用部分の削除など、特定のニーズに応じて行われる場合があります。このシナリオは多くの場合、組み込みシステムで行われます。
    または、カーネル コードの一部を変更し、コンパイル後に機能を検証する必要があります。

    モジュールをコンパイルすると、一部の機能モジュールは .ko にコンパイルされます。insmod xxx.ko を使用すると、カーネルを再コンパイルせずにシステム内で記述されたコード関数を使用できます。

    カーネルをコンパイルした後、現在のカーネルは置き換えられません。コンパイルされた新しいカーネルは、多くの場合、次のようなディレクトリにあり、その名前はほとんどの場合 bzImage
    /usr/src/kernels/3.xx です。 x-.x86_64/arch/x86/boot/

    その後、システムの grub リストを編集して、それを使用する最新のカーネルを追加できます

    返事
    0
  • 迷茫

    迷茫2017-04-17 14:31:54

    コンパイルの必要はなく、Ubuntu によって正式に構築された Linux カーネルの最新バージョンを 1 分でインストールできます
    新しいカーネルには、Intel Core Display などの新しいドライバーが統合されています。

    リーリー

    システムは起動ファイルなどの複数のカーネルをインストールできますが、新しいカーネルは古いカーネルを上書きしません:

    リーリー

    新しいカーネルのインストール中に、VirtualBox などの一部のカーネル モジュールを再コンパイルする必要があります:

    リーリー

    新しいカーネルが適切に実行されない場合は、古いカーネルを選択して GRUB ブート プロセスで開始できます。
    次のように元のカーネルに戻すこともできます:

    リーリー

    VERSION は元のカーネルのバージョンです。

    返事
    0
  • キャンセル返事