1. 材料を準備する必要に応じて対応する資料を準備できます。 開発環境: VMware オペレーティングシステム: Ubuntu 開発バージョン: PaiTu i2S-6UB 2. Linuxカーネルファイルをダウンロードする以前にUBootファイルをダウンロードしたことがある方は、各開発バージョンの情報に対応するファイルがあることをご存じでしょう。ない場合は、開発バージョンを購入したストアに問い合わせてください。 ダウンロード後、ファイルを Linux システムにコピーして解凍します。解凍後のディレクトリは下図のようになります。 注意: コンパイルするときは、現在のパスでコンパイルする必要があります。 3. コンパイル1. クリーンアッププロジェクト
2. デフォルトの設定ファイルを設定する
コンパイルが完了すると、以下に示すように「.config」が生成されます。 注意: PaiTu のデフォルトの設定ファイルは「i2som_imx6_defconfig」です。メーカーによってデフォルトの設定ファイルは異なります。対応するドキュメントに従って確認できます。 Paituの公式サイトに記載されているように、下の図に示すように 3. コンパイルしてkernrlファイルを生成する
4. コンパイルして.dtbファイルを生成する
注: この時点でカーネルとデバイス ツリーのコンパイルは完了しています。注意して見ると、コマンドが長い理由がわかります。各命令で「ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf-」を使用して、コンパイラをクロス コンパイラとして設定します。コンパイル手順をより簡潔にするために、Makefile ファイルに ARCH と CROSS_COMPILE の設定を追加することができます。 今後は、次の図に示すように、コンパイル時にコマンドの「ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf-」の部分を省略することができます。 5. ファイルパスを生成する zImage: /arch/arm/boot/ ディレクトリ内 dtb: /arch/arm/boot/dts ディレクトリ内 4. TFTp 経由で zImage および .dtb ファイルを書き込む1. zImageファイルと.dtbファイルをtftpサーバーに置きます 2. UBootの開発版のコマンドラインを入力し、TFTPサービスアドレスを設定します。
3. zImageファイルをダウンロードする
4. .dtbファイルをダウンロードする
5. zImageとdtbファイルの読み込みを開始する
6. 成功を確認する 書き込みが完了すると、カーネルの起動時にコンパイル時間が表示されます。時間が正しければ、成功したことを意味します。起動情報は、次の図に示されています。 5. よくある質問1. zImage をコンパイルして生成するときに発生する可能性のあるエラーを下図に示します。 このエラーは主に、開発環境に「lzop」ツールがインストールされていないために発生します。インストールして再コンパイルするだけで済みます。
2. 起動が「カーネルを起動しています...」で停止します。以下を参照してください。 私の開発環境に問題があるのか分かりませんが、コンパイルが正しければ、他のファイルを変更しても設定エラーは発生しないことが多いので、このような状況に遭遇した場合は、何度か試してみて下さい。 3. 図のようにシステムを起動できます。PaiTuの開発バージョンもファイルを置き換えることで更新できます。システムの開発バージョンに入ったら、以下の手順に従ってください。
公式チュートリアルは以下の通りです。 4. 起動後、正常に起動できないことがわかります。これは、ルート ファイルが存在しないためです。 上記は、Linuxカーネルとデバイスツリーのコンパイルと書き込みの分析の詳細な内容です。Linuxカーネルとデバイスツリーのコンパイルと書き込みの詳細については、123WORDPRESS.COMの他の関連記事に注目してください。 以下もご興味があるかもしれません:
|
>>: ウェブページをデザインするには?ウェブページを作成するには?
コンテナの自動起動Docker は、コンテナが終了したとき、または Docker が再起動されたとき...
背景最近、面接でデータベース トランザクションについてよく質問されます。通常は、@Transacti...
目次序文リスナーと計算プロパティの違いvue3 で watch を使用するにはどうすればいいですか?...
Array の filter、find、some、reduce メソッドの違いを区別し、使用シナリオ...
前回の記事では、Navicat for Mysql 接続エラー 1251 (接続失敗) の問題を解決...
目次1. 単一データベースのバックアップ2. 圧縮バックアップ3. マルチデータベースバックアップ4...
目次1. 二重連結リストとは何か2. 双方向リンクリストのカプセル化3. 双方向リンクリストの一般的...
01. コマンドの概要whatis コマンドは、システム コマンドの簡単な説明を含むいくつかの特別な...
この記事では、二次リンク効果を実現するためのReactの具体的なコードを参考までに共有します。具体的...
1. 問題複数のフローティング要素は親要素の幅を拡張できず、親要素の高さが 0 になる可能性がありま...
目次1. インデックスの基本1.1 はじめに1.2 インデックスの仕組み1.3 インデックスの種類1...
目次1. grub.cfg ファイルの紹介1. grub.cfg ファイルの場所2. grub.cf...
目次1. letキーワード1.1 基本的な使い方1.2 変動昇進はない1.3 一時的なデッドゾーン1...
/etc/my.cnf または /etc/mysql/my.cnf ファイルを変更する [クライアン...
目次親コンポーネントと子コンポーネント間でパラメータを渡すルーティングパラメータステータスの改善コン...