Ubuntu 12.04 でカーネルツリーを構築する実装プロセスの詳細な説明

Ubuntu 12.04 でカーネルツリーを構築する実装プロセスの詳細な説明

まず使用しているカーネルのバージョンを確認してください

lin@lin-仮想マシン:~$ uname -r
3.2.0-23-ジェネリック

システムのインストール時にソースコードが自動的にインストールされる場合。 /usr/src ディレクトリには対応するバージョン ディレクトリがあります。

lin@lin-virtual-machine:~$ cd /usr/src
lin@lin-仮想マシン:/usr/src$ ls
linux-headers-3.2.0-23 linux-headers-3.2.0-23-ジェネリック

ダウンロード可能なソースパッケージを確認してください

lin@lin-virtual-machine:/usr/src$ apt-cache linux-sourceを検索
linux-source - Ubuntu パッチを適用した Linux カーネル ソース
linux-source-3.2.0 - Ubuntu パッチを適用したバージョン 3.2.0 の Linux カーネル ソース

直接インストールするには、「linux-source-3.2.0 - Linuxカーネルソースバージョン3.2.0(Ubuntuパッチ付き)」を選択します。

lin@lin-virtual-machine:/usr/src$ sudo apt-get install linux-source-3.2.0

ダウンロードが完了すると、ファイル名は /usr/src の linux-source-3.2.0.tar.bz2 になります。これは圧縮されたパッケージです。これを解凍すると、カーネル全体のソース コードを取得できます。

pwdを使用して現在のパスを表示します

ls でフォルダ内のファイルを確認する

lin@lin-仮想マシン:/usr/src$ pwd
/usr/src
lin@lin-仮想マシン:/usr/src$ ls
linux-ヘッダー-3.2.0-23 linux-ソース-3.2.0
linux-headers-3.2.0-23-generic linux-source-3.2.0.tar.bz2

解凍

lin@lin-virtual-machine:/usr/src#sudo tar jxvf linux-source-3.2.0.tar.bz2

ディレクトリに入ります (cd linux-source-3.2.0)

lin@lin-virtual-machine:/usr/src$ cd linux-source-3.2.0/
lin@lin-virtual-machine:/usr/src/linux-source-3.2.0$ pwd
linux-source-3.2.0 のソース

カーネルの設定を開始し、最も速い元の設定(デフォルト)方法を選択します。

lin@lin-virtual-machine:/usr/src/linux-source-3.2.0$ sudo make oldconfig

1時間以上待つ必要があります。 。 。

lin@lin-virtual-machine:/usr/src/linux-source-3.2.0$ sudo make

数時間後

...システムは4826kBです
CR d5a51584
カーネル: arch/x86/boot/bzImage が準備完了 (#1)
 モジュールの構築、ステージ 2。
 MODPOST 3304 モジュール
エラー: "__modver_version_show" [drivers/staging/rts5139/rts5139.ko] 未定義です!
警告: modpost: セクションの不一致が 4 つ見つかりました。
詳細を確認するには、次のコマンドを使用してカーネルをビルドします。
'CONFIG_DEBUG_SECTION_MISMATCH=y にする'
make[1]: *** [__modpost] エラー1
make: *** [モジュール] エラー 2

解決策: http://ubuntuforums.org/showthread.php?t=1931029 より

lin@lin-virtual-machine:/usr/src/linux-source-3.2.0$ sudo gedit .config

おそらくRTS5139ドライバの問題でしょう。いずれにせよ、このドライバは使用されていないので、コンパイルに追加しないでください。.configを編集して変更します。

CONFIG_RTS5139=m

これを次の形式に変更します。

CONFIG_RTS5139=n

作り続ける

カーネルを圧縮形式でコンパイルする

bzImageを作成する

モジュールをコンパイルします。

モジュールを作る

モジュールをインストールします。

モジュールをインストールする

実行が完了すると、/lib/modulesの下に新しいディレクトリが生成されます。

lin@lin-virtual-machine:/lib/modules$ ls
3.2.0-23-ジェネリック3.2.79

成功したら再起動してください。

以上がこの記事の全内容です。皆様の勉強のお役に立てれば幸いです。また、123WORDPRESS.COM を応援していただければ幸いです。

以下もご興味があるかもしれません:
  • Ubuntu 16.04 カーネルのアップグレード手順
  • Ubuntuで余分なカーネルを削除する方法
  • Ubuntu Android ソースコードとカーネルのダウンロードとコンパイル
  • Ubuntu で Android 用の Linux カーネル ドライバーにアクセスするためのハードウェア抽象化レイヤー (HAL) モジュールの追加
  • Android 用 Linux カーネル ドライバーをテストするために Ubuntu に組み込みの C 実行可能プログラムを実装する
  • Ubuntu で Android システム用の Linux カーネル ドライバーを作成する方法
  • UbuntuにAndroidカーネルソースコードをダウンロード、コンパイル、インストールする

<<:  MySQL で単一のデータベースまたはテーブルを復元する方法と、起こりうる落とし穴

>>:  HiveメタデータをMySQLに設定するプロセス全体

推薦する

DockerでMongoDBコンテナをデプロイする方法

目次Dockerとは展開する1. イメージをプルする2. 画像を表示する3. コンテナを実行する4....

Linux で Oracle データベースをバックアップするためのスケジュールされたタスクの設定に関するチュートリアル

1. データベースの文字セットを確認するデータベースの文字セットは、Linux で設定された環境変数...

HTML スタイル タグと関連する CSS リファレンスの詳細な説明

HTML スタイル タグスタイルタグ - ドキュメント内でスタイルを宣言するときにこのタグを使用しま...

MacでのMySQL初期化パスワード操作

Macでデータベースを操作する際に個人が遭遇するデータベース起動の問題の簡単な記録1. Apple-...

IE における条件付きコメントの利点と欠点

IE の条件付きコメントは、通常の (X)HTML コメントに対する Microsoft 独自の (...

シェアしたい絶妙なApple風無料アイコン素材18セット

Apple マグカップのアイコンと追加機能 HD ストレージボックス – アドオンパックセイバースノ...

MySQL最適化ツール(推奨)

序文今日 GitHub を閲覧していたところ、SQL を最適化および書き換えるための sora とい...

テーブルタグ(TAGS)の詳細な紹介

テーブルの基本構文<table>...</table> - テーブルを定義し...

CenOS6.7 mysql 8.0.22 のインストールと設定方法のグラフィックチュートリアル

CenOS6.7 は MySQL8.0.22 (推奨コレクション) をインストールします1. MyS...

JavaScriptの記事では、Webフォームの操作方法を説明します。

1. はじめに先ほど、ウェブページの急速な発展について紹介しました。今回は、より深い内容についてお...

MySQL インデックス プッシュダウンを 5 分で理解する

目次インデックス プッシュダウンとは何ですか?インデックスプッシュダウン最適化の原理インデックスプッ...

Linux におけるドライバモジュールのパラメータ転送プロセスの分析

ドライバーモジュールに渡すパラメータ名、タイプ、権限を宣言します。 module_param(変数名...

CocosCreatorでシューティングゲームを作る詳しい解説

目次シーン設定ゲームリソース砲塔の回転動的に生成された弾丸衝突計算効果を高めるターゲットの動き弾薬庫...

カーソル ループを使用して、MySQL ストアド プロシージャで一時テーブルを読み取る

カーソルカーソルは、結果セット内のデータを表示または処理するために使用される方法です。カーソルを使用...

Docker イメージのダウンロードが遅すぎる場合の解決策

Docker イメージのダウンロードが停止したり、遅すぎたりするネットでいろいろな方法を検索しました...