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の他の関連記事に注目してください。 以下もご興味があるかもしれません:
|
>>: ウェブページをデザインするには?ウェブページを作成するには?
HTML における相対と絶対の違い: 正直に言うと、HTML は世界で最もシンプルな言語です。タグ言...
目次1. デップ2. 観察者を理解する3. 監視と観察者を理解する4. トリガーの依存性5. プロセ...
目次MySQL ベースの検索エンジンの実装1. ngram全文パーサー2. 全文インデックスを作成す...
システムをインストールした後、毎回いくつかのソフトウェアを再インストールする必要があります。ソフトウ...
日々の開発で遭遇した様々な問題と、その解決策を閲覧しながら、日々の開発でよく使用するスキルや知識ポイ...
ダイナミックレム1. まず、現在の長さの単位を紹介しましょうpx em Mの幅 / 漢字の幅 1em...
序文JavaScript では、document.querySelector("#demo...
1. まず、移行サーバー上のデータ ファイルを見つけます。MySQL 5.7 とデフォルトのインスト...
「読み取り専用」と「無効」はどちらも、ユーザーがフォーム フィールドの内容を変更できないようにします...
1. リストクエリインターフェースの効果コード処理ロジックを紹介する前に、まずは感覚的に理解し、レン...
違い: 1. InnoDB はトランザクションをサポートしていますが、MyISAM はサポートしてい...
1.公式サイトからダウンロードして解凍する参考: 2. 環境変数を設定するMYSQL_HOMEをMy...
【1】中央の要素の幅と高さを知る絶対値 + 負のマージンコードの実装 .wrapBox5{ 幅: 3...
目次1. なぜ vue3 が必要なのでしょうか? 2. vue3の利点3. 応答原則の違い4. ライ...
目次1. 概要2. Nginxインストールパッケージをダウンロードする3. 依存パッケージをインスト...