問題タブ [device-tree]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
linux - デバイス ツリー blob のない bootm
以下は、 bootmコマンドの U-Boot ヘルプからの抜粋です。
上記でわかるように、bootm [addr]
正常に動作するはずarg
ですが、オプションです。
したがって、次のようなものが機能bootm 0x1000000
するはずです。Linux カーネル uImage を 0x1000000
にtftpしてから、上記のコマンドを使用したいと考えています。
それは不可能ですか?
を使用するbootm 0x1000000 - 0x3000000
と正常に動作します。3 番目の引数は dtb のアドレスです。
しかし、dtb なしで起動しようとすると、
「Uncompressing kernel image」で停止します。
comments - デバイスツリーソースファイルへのコメントの入れ方
デバイス ツリー ソース ファイルに複数行または 1 行のコメントを挿入する方法を教えてください。どこにも見つかりませんでした。コメントを使用するデフォルトの c の方法は機能しますか?
linux-kernel - ラズベリー pi のデバイス ツリー駆動型カーネル
デバイス ツリー駆動型の Linux カーネルを使用してラズベリー パイを起動したいのですが、何か特別なことはありますか?
ラズベリーパイのデバイスツリーベースのカーネルブートをセットアップするために必要なものを誰でも指摘できますか.
デバイスのドライバーがデバイス ツリーと互換性があるラズベリー パイ カーネル ソースが必要になる場合があります。その場合、Raspberry Pi のカーネル ソースはどこにありますか?
c - デバイス ツリーを使用したメインライン Linux カーネルの起動
次の手順に従って、カーネルをビルドしてフラッシュしましたQEMU
。
make ARCH=arm distclean
make ARCH=arm versatile_defconfig
make ARCH=arm menuconfig
ここでは、以下の機能を有効にする必要があります。
カーネル機能 ---> [*] を使用しARM EABI
てカーネルをコンパイルします。(これを有効にします)。make ARCH=arm CROSS_COMPILE=arm-none-linux-gnueabi- uImage
qemu-system-arm -M versatilepb -m 128M -kernel arch/arm/boot/uImage -append "console=tty1"
ここで、カーネル パニックを示すコンソールが表示されます。これを回避するには、rootfs
パラメーターを渡します。
もしそうなら、以下のコマンドを試してシステムを完全に起動してください。qemu-system-arm -M versatilepb -m 128M -kernel arch/arm/boot/uImage -initrd rootfs.img -append "root=/dev/ram mem=128M rdinit=/sbin/init" -serial stdio
実行時に、カーネルはデバイス ツリーを使用してデバイスをロードしますか? はいの場合、確認方法とデバイス ツリーはどこにありますか? (デバイス ツリー ファイル (.dts) を変更する必要がありますが、ファイルの場所がわかりません) 助けてください
linux-kernel - デバイス ツリーのプローブの前にカーネル モジュールをロードする
デバイス ツリーに依存するcustom_hardware用の動作するドライバーを開発しました。ドライバーは進化する可能性があるため、ドライバーをカーネルの一部にしたくありません (「カーネルの一部である」と言う場合、カーネルの作成中にカーネルと共にコンパイルされることを意味します)。
ここに私のdtsを垣間見ることができます:
existing_hardwareのドライバーは、既にカーネルでコンパイルされています ( existing_hardwareのドライバーは、カーネルの作成中にカーネルでコンパイルされています)。
私がやりたいのは、私のcustom_hardwareのドライバーを ramfs に追加し、カーネルが existing_hardware のドライバーの前に custom_hardware のドライバーをロードできるように することです。
existing_hardwareのドライバーはcustom_hardwareのドライバーのirq_domainからvirqを要求するため、これは重要です。irq_domainを取得するには、最初にcustom_hardwareのドライバーをロードする必要があります。
existing_hardwareのドライバーは、カーネル ブート シーケンスの初期段階で発生するように見えるデバイス ツリーのプローブ中に読み込まれることに注意してください。