問題タブ [initrd]
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 - Initramdisk init スクリプト - 無効なカーネル ドライバーの読み込みをキャッチ
最近、イメージに新しいドライバーを追加して、initrd
VMware および Hyper-v プラットフォームでも実行できるようにしました。
私の質問は、ドライバーの読み込み中にエラーを検出するにはどうすればよいですか? insmod
挿入中に失敗した場合は、 hv_vmbus
5 つの追加ドライバーの読み込みをスキップします (「不明なシンボル xyz」を取り除くため)。
linux - カーネルが initrd で /init スクリプトを呼び出さない
みんな。私は最初の組み込み Linux に取り組んでおり、素敵なブートスプラッシュが必要です。できるだけ早く起動するために initrd を使用することにしましたが、カーネルが /init スクリプトを呼び出していないようです。RAM ディスクをマウントし、通常の起動シーケンスに進みます。
スクリプトが呼び出されているかどうかをテストするために、私が知っているあらゆる種類のデバッグを試みましたが、成功しませんでした。エラーはまったく発生しません。ログインすると、想定どおりに RAM ディスクが /initrd にマウントされていることがわかります。
コミュニティが提供するドライバーとカーネル (3.4) を備えた Cubieboard 2 を使用しています。古いバージョンであることはわかっていますが、これまでのところ、sunxi SoC のサポートが最も優れているバージョンです。また、 Linaroが提供する両方のファイル システム (rootfs と initramfs) をベースとして使用しています。
誰でも私を助けることができますか?
ありがとうございました。
android - abootimg を使用した AOSP リカバリ イメージのアンパック/パックが起動に失敗する
AOSP ソース コードを使用して、Nexus 7 デバイス用の recovery.img (flo lunch セットアップを使用) を作成しました。次のように使用できます。
ただし、bootimg ユーティリティを使用して (RAM ディスクに変更を加えずに) recovery.img ファイルを解凍して再パックし、recovery.img を使用して起動を再試行すると、Nexus 7 は単に Google スプラッシュ スクリーン ループに入ります。スプラッシュ画面になった後、デバイスが再起動し続けます。
詳細については、ここに私の手順があります:
結果として更新された recovery.img は、元の recovery.img ファイルの変更されていない単純なコピーであっても、意図したとおりに機能しません。
linux-kernel - Linuxカーネルの起動時にinitプロセスが停止する
カスタム p2020 ボードでカーネルを起動しようとしています。以下の例外でカーネルがクラッシュします。
init[1]: 4801b9dc nip 4801b9dc lr 48002b08 コード 3000 で未処理の信号 4
initrd
と同様に両方とも同じように死んでいramfs
ます。
t104x ベースのボードで動作していた initrd を使用しています。上記のエラーの原因は何ですか? initrd が P2020 に適合しないということですか? 特定のプロセッサ用に initrd を再コンパイルする必要がありますか?
ubuntu - `scripts/init-top/all_generic_ide` にある `hooker script` とは何ですか?
init
Ubuntu の ramdisk で勉強しています。私はこのscripts/init-bottom/udev
コードスニペットを見ました:
スクリプト内のほぼすべてのscripts/**
スクリプト(scripts/init-top/all_generic_ide,scripts/local-bottom/ntfs_3g,scripts/local-premount/fixrtc
など)に表示されます。微妙な違いがあるかもしれませんが、ほとんどの場合、本体コードの上部に同じスニペットがあります。
Ubuntu から wiki を読みました: initramfs-tools
その目的が何なのか、まったくわかりません。流れは分かると思うけど、どうなるか分からない?
linux-kernel - ARM が「Starting kernel image ...」でスタックすることがある
最初に、これが部分的に成功した事例であることをお知らせしたいと思います。:-)
コンテキスト: 個人的な自己啓発のために、ARM Cubieboard2 用の Linux をビルドするためのセミ LFS 手順を完了するというアイデアがありました。なんでセミ?私の焦りが、すでにビルドされている Fedora 23 イメージからいくつかのコンポーネントを取得するというアイデアにつながったからです。
したがって、手順は多かれ少なかれ次のとおりでした。
フェーズ 0
Crosstool-ng は、クロスコンパイル ツールチェーンの構築に使用されています。(このステップの詳細はスキップしましょう。正直なところ、gcc-arm-linux-gnu、gcc-c++-arm-linux-gnu、および binutils-arm-linux-gnu パッケージを使用した場合の結果は同じです。)
フェーズ 1
MMCカードは次のように構成されています
ステップ1
ステップ2
sdb.gpt.prt コンテンツはどこにありますか
ステップ 3
ステップ 4
ステップ 5
ステップ 6
フェーズ2
U-Boot がコンパイルされました
ステップ1
最新のブランチは git://git.denx.de/u-boot からチェックアウトされています
ステップ2
ブートローダー + SPL は次のようにビルドされています
その結果、u-boot-sunxi-with-spl.bin が作成されました。
警告: SEMI は下から始まります。
フェーズ 3
Fedora 23 イメージがダウンロードされ、マウントされました
ステップ1
Raw 画像ファイルがダウンロードされました
ステップ2
画像は圧縮されていません
ステップ 3
ブートおよびルート ファイルシステムがマウントされました
フェーズ 4
Bootloader + SPL は MMC に記録されています
フェーズ 5
Fedora ブート パーティションがコピーされ、修正されました
ステップ1
ステップ2
フェーズ 6
Fedora ルート パーティションがコピーされ、修正されました
ステップ1
ステップ2
中間結果
ここで、スロットに MMC カードを挿入して Cubieboard を起動すると、有名な「Starting kernel image ...」というメッセージが表示されてシステムがハングします。
しかし、これで話は終わりではありません。冒頭で述べたように、ある実験は成功しました。つまり、Fedora 23 ie で提供されているレスキュー initramfs イメージを使用しようとしました。extlinux.conf と
成功をもたらしました!
有望な結果の根本原因を分析しようとしました。私が自問自答したのは、「この 2 つの画像の違いは何ですか?」ということでした。
次の出力が得られます。
さらに
次の結果が得られます。
そのため、追加のバイナリは「ほんの」いくつかあります。特別な設定ファイルはありません。
もちろん、上記のチェック方法が些細なものであることは承知しています。しかし、深く掘り下げる前に、いくつかのヒントを求めることにしました。
私の質問は:
レスキュー initramfs イメージの成功の根本原因はどこにありますか?
補遺
extlinux.conf エントリ
起動に失敗します。そして、ここにブートログがあります:
しかし、extlinux.conf エントリ
正常に起動します。そして、ここにブートログがあります: