問題タブ [u-boot]
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 - x-loader から u-boot 環境を読み取る方法
私の X-loader では、u-boot env と、u-boot env パーティションに保存する他のいくつかのデータを読み取る必要があります。u-boot env パーティションに保存されたデータに基づいて、いくつかのタスクを実行する必要があります。
x-loader からこれらの env を読み取る方法を教えてください。
ありがとう
embedded - u-boot での NAND パーティショニング
組み込み ARM9 開発ボードに取り組んでいます。その中で、nand パーティションを再配置したいと思います。誰もそれを行う方法を教えてもらえますか?
u-boot シェルでコマンド mtdparts を実行すると、次の情報が得られます。
カーネル ブート メッセージは次のように表示されます。
この 2 つのメッセージの関係を説明してください。nand フラッシュにパーティションを作成するのは、カーネルと u-boot のどちらですか? 私が知っているように、カーネルは起動ごとにパーティションを作成していませんが、なぜ「3つのMTDパーティションを作成しています」というメッセージが表示されるのですか?
linux - mx5xのubootイメージ
私はフリースケールのmx5xボードに埋め込まれたデバイスの研究を開始し、現在はボードのブートモッズを調査しています。選択したboot-modに応じて、適切なubootイメージが必要です。mmc boot-modの場合、イメージはuboot-no-padding.binであり、uboot.binから生成されます。だから、私の質問:なぜパディングなしのubootが必要なのですか、2つの画像の違いは何ですか?
助けてください、ありがとう
linux-kernel - U-boot を使用して RAM の OS 領域を縮小するにはどうすればよいですか?
私の理解では、PC/組み込みシステムが起動した後、OS は RAM 領域全体を占有し、RAM は次のようになります。
つまり、私が書いたプログラムを実行している間、すべての変数、スタック、ヒープなどに割り当てられた動的メモリは領域内に残ります。Firefox、ペイント、gedit などを実行すると、それらもこのリージョンで実行されます。(この理解は正しいですか?)
ただし、OS リージョンを縮小したいと考えています。以下は、RAMを分割する方法の図です。
これを行う理由は、ドライバーを介して外部から受信したデータを固定された物理的な場所に保存したいため、をCustom Region
使用せずにユーザー空間から直接アクセスできるようにするためcopy_to_user()
です。
u-boot を構成することでそれを行うことは可能だと思いますが、私は u-boot の経験がありません。どこから始めればよいか、次のような指示を誰か教えてもらえますか?またはenvironment variables
u-boot の変更で十分でしょうか?
または、これを行う代替方法はありますか?
どんな助けでも大歓迎です。ありがとう!
p/s: 私は TI ARM プロセッサを使用しており、SD カードから起動していますが、問題があるかどうかはわかりません。
linux - U-Bootメモリマップを変更する方法
MS104-SH4のU-Boot(2009.03)には、以下に示すRAMメモリマップがあります。
0x8c000000使用しない(4kB)
Linuxカーネルおよびルートファイルシステム
の場合は0x8c001000(3MB)Linuxプロセスの場合は0x8c400000(28MB)
私にとって、LinuxカーネルとRAMディスクはそれぞれ1MBと3.5MBであるため、Linuxカーネルとルートファイルシステムの3MBは小さすぎます。そこで、たとえば以下のように、メモリマップの上を変更したいと思います。
0x8c000000使用しない(4KB)
Linuxカーネルおよびルートファイルシステムの場合は0x8c001000(16MB)
Linuxプロセスの場合は0x8cf60000(16MB)
私の推測では、ubootソースコードを変更する必要がありますが、変更する場所が見つかりません。u-bootメモリマップを変更できるかどうか誰かに教えてもらえますか?はいの場合は、その方法も教えてください。ご協力いただきありがとうございます!
デバイスのメモリマップを見つける方法について同様の質問を見つけましたか?、しかし私のSH4 iomemは空(0サイズ)なので、他のトピックのように見えます。
linux - Linuxカーネルの起動がLinuxの解凍で停止します...わかりました、カーネルを起動します
古いSH4から新しいSH4へのカーネルの移植に問題があります。それらの違いを見せてください。
[旧SH4]
ブートローダー:redboot v2.0
カーネルバージョン:2.4
[新しいSH4]
ブートローダー:u-boot v2009.03
カーネルバージョン:2.6
古いSH4では、多くのソースコードがカーネル2.4に基づいて開発されているため、カーネル2.4を新しいSH4に移植する方が、カーネル2.6でソースコードを再コンパイルするよりも簡単に見えます。そこで、以下に示すように、古いSH4用に開発されたzImageにmkimageを適用しました。
この画像は、以下に示すように新しいSH4にロードされます。
ただし、「Linuxの解凍... OK、カーネルの起動」後に起動が停止し、ハングします。kernel / head.Sの以下の行で無限ループが発生することがわかりましたが、kernel / head.Sはカスタマイズされておらず、古いSH4で動作するため、これらの行は問題ないと思います。
したがって、この問題は新旧のSH4の環境の違いに起因していると思います。古いSH4では、fconfigコマンドを実行し、以下のように変数を設定します。
u-bootにはfconfigコマンドがありませんが、新しいSH4でこれらのパラメーターを設定できると思います。しかし、LinuxカーネルのソースアドレスとLinuxカーネルのベースアドレスのパラメーターを設定する方法が見つかりませんでした。これはハングの問題に関連していますか?または、Linux組み込みシステムを初めて使用するので、次に何を確認する必要があるかについてのアドバイスが役立ちます。
ご協力いただきありがとうございます。
[編集]
u-bootでprintenvの結果を表示するために、以下の情報が追加されました。
bootcmd = icache on
bootm a0100000
bootdelay = 2
baudrate = 115200
netmask = 255.255.255.0
ipaddr = 192.168.1.2
serverip = 192.168.1.1 Gatewayip
= 0.0.0.0
bootargs = console = ttySC1,115200、N、8 mem = 32M ether = 8、 0x1300,0,0、eth0 video = e1356fb:system:ms104sh4、display:crt、bpp:8,800x600 @ 60
stdin = serial
stdout = serial
stderr = serial
gcc - u-boot 再配置機能に関する質問
ターゲットでを使用してu-boot-2011.12
いOMAP3
ます。クロス ツール チェーンは ですCodeSourcery arm-none-linux-gnueabi
。コンパイルu-boot
し、ターゲットにダウンロードして起動しました。すべてうまくいきましたが、u-boot
再配置機能についていくつか質問があります。この機能がPIC
(位置に基づいていることはわかっています)独立コード)、-fpic
フラグをに設定することで位置独立コードが生成されますが、コンパイル フラグがgcc
見つかりません。fpic
PIC がなければ、u-boot はどのように再配置機能を実装できますか?
kernel - エラー: 認識されていない/サポートされていないデバイス ツリーの互換性のあるリスト
あなたの助けが必要です。特別なデバイスのタッチ スクリーン サポートにカーネル 3.3 が必要なため、Linaro Kernel 3.3-rc3 ファイルをダウンロードしました。ファイルシステムを作業中の Ubuntu-Linaro インストールから ext3 に変更した後、新しいカーネルはルート コンソールで起動しますが、HDMI と USB は機能しません...
HDMI が 3.3-rc3 で正しく動作しないというインターネットのヒントがいくつかあったため、kernel.org から最新のカーネル 3.3-rc6 をコンパイルすることにしました。
次のエラーが表示されます。
元の board.dtb とカーネル ツリーのバージョンを使用しました。
しかし、成功しません。私はすでに git.linaro.org/boot/u-boot-linaro-next.git から最新の uboot を入手しましたが、変更はありません。
誰が助けることができますか?
linux-kernel - uboot-MMCSDカードなし
私は、imx51Freescaleボード上で実行されているLinuxrootfsを備えたLinuxカーネルを取得しようとしています。
Linuxカーネル、ルートファイルシステム、およびu-bootをコンパイルし、イメージをSDカードにコピーしました。パーティション0:ブートパーティション1:rootfsおよびLinuxカーネル
ただし、次のエラーがあります。
何が間違っている可能性がありますか?
beagleboard - Beagleboard: NAND フラッシュが消去され、起動しなくなりました
私は Beagle ボード OMAP3530-GP を持っていて、カーネルと rootfs を SD カードの 2 つのパーティションにコピーし、それを起動したいと考えていました。
SD カードのパーティション 1: 次のファイルを同じ順序で含む FAT32 ブート パーティション: MLO u-boot.bin uImage uInitrd
そしてパーティション 2: rootfs
今、私は最初にそれを起動しました。
NANDに以前のu-boot.binがあり、それを読み取っていて、それを消去したかったので、気紛れな瞬間にそうしました:
そして、再起動して、読み取り不能なシリアル文字がいくつか表示され、ブートローダーが起動しなくなったことに気づきました。
その後、NAND 内の X-loader 1.4.2 を削除した可能性があることに気付きました! これをブート パーティションにコピーして、X-loader を NAND ではなく SD カードから起動できるようにしました。ただし、電源を入れたときに同じ読み取り不能文字が表示されます:( :(
私は何をしますか??ブートローダーを機能させるには?
前もって感謝します