为什么要编译linux内核?
高洛峰
高洛峰 2017-04-17 14:29:54
0
5
803

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

高洛峰
高洛峰

拥有18年软件开发和IT教学经验。曾任多家上市公司技术总监、架构师、项目经理、高级软件工程师等职务。 网络人气名人讲师,...

全員に返信(5)
刘奇

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

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

いいねを押す +0
伊谢尔伦

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

いいねを押す +0
大家讲道理

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

いいねを押す +0
洪涛

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

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

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

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

いいねを押す +0
迷茫

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

リーリー

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

リーリー

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

リーリー

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

リーリー

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

いいねを押す +0
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート