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の他の関連記事に注目してください。 以下もご興味があるかもしれません:
|
>>: ウェブページをデザインするには?ウェブページを作成するには?
この記事の例では、ボタンをクリックすることで画像を切り替えることを実現するJavaScriptの具体...
目次パーティションテーブルとはパーティションテーブルの適用シナリオパーティションテーブルの制限パーテ...
要素UIとはelement-ui は、Ele.me のフロントエンド チームが開発者、デザイナー、製...
目次1.Json文字列1.1Json構文1.2 例2. クッキー2.1 使い方は? 3. ローカルス...
目次LAMPアーキテクチャ1.ランプの紹介2. WebサービスワークフローWebサーバーのリソースは...
1. 括弧の役割1.1 角括弧 [ ]属性名が角括弧で囲まれている場合、右側には式の値が割り当てられ...
1. シェルスクリプトcrontab.shを書く #!/bin/bash step=1 #ステップ間...
目次react-beautiful-dndを選ぶ理由基本的な使い方基本概念使い方使用中に発生した問題...
DIV フローティング効果 (固定位置) は CSS のみで実装されており、IE8、360、Fir...
目次序文複数の言語を切り替えるにはどうすればいいですか? 1. vue-i18nパッケージをインスト...
ここで、次のような項目をフォームに追加したいとします: 現在いる都市を参照します。ここで私たちが話し...
1. フローティング方式を使用する効果画像: コードは次のとおりです: (.content の高さは...
バージョン番号を非表示バージョン番号は非表示になっていません。セキュリティを強化するために、バージョ...
Docker を使用して MySQL イメージをプルしようとして 30 分経っても失敗したため、代わ...
目次1. 概要2. ログインインターセプションを実装するためのルーティングナビゲーションガード1. ...