ホームページ システムチュートリアル Linux PC コンパイル カーネルのセットアップ方法と設定: コンパイルのセットアップ

PC コンパイル カーネルのセットアップ方法と設定: コンパイルのセットアップ

Mar 13, 2024 pm 02:52 PM
パソコン カーネルをコンパイルする

PC コンパイル カーネルのセットアップ方法と設定: コンパイルのセットアップ

これはフリー ソフトウェアです。コピー条件についてはソースを参照してください。ありません。

保証;特定の目的での商品性やフィットネス性に関するものでも。

注: arm ツール チェーンはここからダウンロードできます。表示するには、「ARM」と返信してください。

2. コンパイルターゲットを設定します

カーネルを構成またはコンパイルする前に、まずターゲット CPU アーキテクチャとコンパイル中に使用するツール チェーンを決定する必要があります。これは、最初に決定する必要がある最も基本的な情報です。

現在使用している PC 用にカーネルをコンパイルしている場合は、設定する必要はありません。

それ以外の場合は、組み込み Linux トレーニングを明確に設定する必要があります。

ここではアームを例として説明します。

設定方法は2通りあります():

a)メイクファイルを変更する

カーネル ソース コードのルート ディレクトリにある Makefile を開き、次の 2 つの Makefile 変数を変更して保存します。

ARCH:=腕

CROSS_COMPILE:=arm-linux-

なお、ここでのcross_compileの設定は、使用するクロスツールチェーンのgccプログラム名がarm-linux-gccであることを前提としています。実際に使用される gcc 名が some-thing-else-gcc の場合は、some-thing-else- と入力するだけです。とにかく、gcc の最後の 3 文字は名前から省略する必要があります。

b) make コマンドを実行するたびに、この情報がコマンド ライン パラメーターを通じて渡されます。

これはmakeツールのコマンドライン引数で指定した変数の値のようです。

###例えば###

カーネルを構成する場合は、

を使用します

makeARCH=armCROSS_COMPILE=arm-linux-menuconfig

カーネルをコンパイルするときに

を使用します

makeARCH=armCROSS_COMPILE=arm-linux-

実際には、PC カーネルのコンパイルでは、ユーザーが明示的に設定しなくても、これら 2 つの項目が設定されていないことを意味するわけではないことに注意してください。ユーザーがこれら 2 つの項目を設定しない場合、カーネル ソース コードの先頭にある Makefile (ソース コードのルート ディレクトリにあります) が、次の方法でこれら 2 つの変数の値を生成するためです。

SUBARCH:=$(shelluname-m|sed-es/i.86/i386/-es/sun4u/sparc64/

-es/arm.*/arm/-es/sa110/arm/

-es/s390x/s390/-es/parisc64/parisc/

-es/ppc.*/powerpc/-es/mips.*/mips/

-es/sh[234].*/sh/)

ARCH?=$(サブアーチ)

CROSS_COMPILE?=

前のコードにより、ARCH は PC コンパイラのアーチ、つまり SUBARCH になりました。このため、PC 上の uname-m の出力が ix86 の場合、ARCH の値は i386 となります。

CROSS_COMPILE の値が構成されていない場合、空の文字列になります。このようにして、使用されるツール チェーン プログラムの名前には arm-linux- のような接頭辞が付けられなくなりました。これは、PC 上で gcc を使用するのと同等です。

最後に、もう少し一言言わせてください。ARCH の価値はさらに一般化される必要があります。カーネルソースコードのarchディレクトリにはi386ディレクトリが存在せず、sparc64などのディレクトリも存在しないためです。

したがって、SRCARCH 変数は最上階の Makefile で構築され、その値は次のコードによって生成されます。このようにして、SRCARCH 変数は最終的にカーネル ソース コード アーカイブ ディレクトリ内の特定のアーキテクチャ名と一致します。

SRCARCH:=$(ARCH)

ifeq($(ARCH),i386)

SRCARCH:=x86

endif

ifeq($(ARCH),x86_64)

SRCARCH:=x86

endif

ifeq($(ARCH),sparc64)

SRCARCH:=sparc

endif

ifeq($(ARCH),sh64)

SRCARCH:=sh

endif

3. カーネルを構成する

カーネルには非常に多くの機能があります。どの部分が必要か、各部分がどのようにコンパイルされるか (カーネルまたはモジュールに)、各部分の動作パラメータは何ですか? これらはすべて構成可能です。このため、コンパイルを開始する前に、構成リストを作成し、カーネル ソースのルート ディレクトリに配置し、.config ファイルという名前を付けて、この .config ファイルに従って必要なカーネルをコンパイルする必要があります。

しかし、カーネルの設定項目が多すぎて、Linux に環境変数をいちいち設定するのは面倒です。さらに、異なる CPU アーキテクチャに対して設定できる設定項目のセットも異なります。arm Linux カーネルでの arm 割り込み実装の詳細な説明。例えば、あるCPUの特定の機能をサポートするかどうかの設定項目 arm Linuxカーネルにおけるarm割り込み実装の詳細説明 は、CPUアーキテクチャに関する設定項目です。したがって、カーネルは簡単な構成方法を提供します。

armを例に挙げると、具体的な方法は以下の通りです。

a) ターゲット CPU アーキテクチャに基づいて、カーネル ソース コードの Arch/arm/configs ディレクトリから、ターゲット システムに最も近い構成ファイル (s3c2410_defconfig など) を見つけ、それをカーネル ソース コードのルート ディレクトリにコピーします。を選択し、 .config という名前を付けます。

現在の PC 用にカーネルをコンパイルしている場合は、次のファイルを初期構成ファイルとしてカーネル ソースのルート ディレクトリにコピーするのが最善であることに注意してください。このファイルは、現在 PC 上で実行されているカーネルをコンパイルするときに使用される設定ファイルです。

/lib/modules/`uname-r`/build/.config

ところで、ここで少し言っておきたいのですが、PC カーネル設定ファイルには非常に多くの機能から選択できます。コンパイルしないとわかりません。コンパイルして初めてわかります。 Linux 発行者がこれを行う目的は、配布する Linux をユーザーのさまざまなニーズを満たすようにすることかもしれません。

b) makemenuconfig を実行して、この構成に必要な変更を加え、終了時に保存を選択すると、新しい構成が .config ファイルに更新されます。

###注記###

以上がPC コンパイル カーネルのセットアップ方法と設定: コンパイルのセットアップの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

SEDコマンドを使用したテキスト操作のマスター SEDコマンドを使用したテキスト操作のマスター Mar 16, 2025 am 09:48 AM

Linuxコマンドラインインターフェイスは、豊富なテキスト処理ツールを提供します。最も強力なツールの1つはSEDコマンドです。 SEDは、テキストファイルとストリームの複雑な処理を可能にする多機能ツールであるStream Editorの略語です。 SEDとは何ですか? SEDは、パイプライン入力またはテキストファイルで動作する非対話的なテキストエディターです。ディレクティブを提供することにより、ファイルまたはストリームでテキストを変更および処理することができます。 SEDの最も一般的なユースケースには、テキストの選択、テキストの交換、元のファイルの変更、テキストへの行の追加、またはテキストから行の削除が含まれます。 Bashおよびその他のコマンドラインシェルのコマンドラインから使用できます。 SEDコマンド構文 sed

PILET:Raspberry Piを搭載したモジュラーのポータブルミニコンピューター PILET:Raspberry Piを搭載したモジュラーのポータブルミニコンピューター Mar 06, 2025 am 10:11 AM

PILETを発見:レトロフューチスティックでオープンソースのミニコンピューター クラシックなスタイルと最先端のテクノロジーをブレンドするミニコンピューターをお探しですか? Raspberry Pi 5を搭載したモジュール式のオープンソースマーベルであるPiletに会いましょう。

Linuxでファイルとディレクトリを数える方法:初心者のガイド Linuxでファイルとディレクトリを数える方法:初心者のガイド Mar 19, 2025 am 10:48 AM

Linuxでファイルとフォルダーを効率的にカウントする:包括的なガイド Linuxでファイルやディレクトリを迅速にカウントする方法を知ることは、システム管理者や大規模なデータセットを管理している人にとっては重要です。このガイドは、単純なコマンド-Lを使用して示しています

Linuxの複数のグループにユーザーを追加する方法 Linuxの複数のグループにユーザーを追加する方法 Mar 18, 2025 am 11:44 AM

Linux/UNIXシステム管理には、ユーザーアカウントとグループメンバーシップを効率的に管理することが重要です。 これにより、適切なリソースとデータアクセス制御が保証されます。 このチュートリアルでは、LinuxおよびUNIXシステムの複数のグループにユーザーを追加する方法を詳しく説明しています。 私たちは

LinuxシステムをLikorixカーネルで充電するための秘密兵器 LinuxシステムをLikorixカーネルで充電するための秘密兵器 Mar 08, 2025 pm 12:12 PM

Liquorixカーネル:Linuxシステムのパフォーマンスを向上させる強力なツール Linuxは、柔軟性、セキュリティ、高性能で知られており、開発者、システム管理者、上級ユーザーにとって選択のオペレーティングシステムになります。ただし、ユニバーサルLinuxカーネルは、最大のパフォーマンスと応答性を求めるユーザーのニーズを常に満たしているわけではありません。これは、Likorixカーネルが登場する場所です。これは、Linuxシステムを強化することを約束するパフォーマンスが最適化された代替手段です。この記事では、Liquerixカーネルとは何か、なぜそれを使用したいのか、システムを最大限に活用するためにインストールして構成する方法について説明します。 Liquorixカーネルの詳細な説明 Liquorixカーネルは、設計された事前コンパイルされたLinuxカーネルです

Keep-AliveでLinuxシステムを目覚めさせる方法 Keep-AliveでLinuxシステムを目覚めさせる方法 Mar 06, 2025 am 11:13 AM

Keep-Aliveでコンピューターを楽に目覚めさせてください! この軽量ツールは、システムが睡眠を防ぎ、長いダウンロード、継続的なプロセス、または単にシステムアクティビティの維持に最適です。 Linux、macos、およびWindowsと互換性があります。

Ubuntu LinuxでIndian Rupeeシンボルを入力する方法 Ubuntu LinuxでIndian Rupeeシンボルを入力する方法 Mar 22, 2025 am 10:39 AM

この簡単なガイドでは、Linuxオペレーティングシステムでインドルピーシンボルを入力する方法について説明します。先日、Word文書に「Indian Rupee Symbol(£)」を入力したかったのです。私のキーボードにはルピーシンボルがありますが、入力する方法がわかりません。後

コマンドラインからインストールされているすべてのLinuxカーネルをリストまたは確認する方法 コマンドラインからインストールされているすべてのLinuxカーネルをリストまたは確認する方法 Mar 23, 2025 am 10:43 AM

Linuxカーネルは、GNU/Linuxオペレーティングシステムのコアコンポーネントです。 1991年にLinus Torvaldsによって開発されたこのため、無料のオープンソース、モノリシック、モジュール式、マルチタスクUnixのようなカーネルです。 Linuxでは、歌に複数のカーネルをインストールすることが可能です

See all articles