2

みんな。私は最初の組み込み Linux に取り組んでおり、素敵なブートスプラッシュが必要です。できるだけ早く起動するために initrd を使用することにしましたが、カーネルが /init スクリプトを呼び出していないようです。RAM ディスクをマウントし、通常の起動シーケンスに進みます。

<5>RAMDISK: squashfs filesystem found at block 0
<5>RAMDISK: Loading 16643KiB [1 disk] into ram disk... 
<6>VFS: Mounted root (squashfs filesystem) readonly on device 1:0.
<6>kjournald starting.  Commit interval 5 seconds
<6>EXT3-fs (mmcblk0p1): using internal journal
<6>EXT3-fs (mmcblk0p1): mounted filesystem with ordered data mode
<6>VFS: Mounted root (ext3 filesystem) on device 179:1.
<5>Trying to move old root to /initrd ... okay
<6>devtmpfs: mounted
<6>Freeing init memory: 180K
<30>udevd[79]: starting version 182

スクリプトが呼び出されているかどうかをテストするために、私が知っているあらゆる種類のデバッグを試みましたが、成功しませんでした。エラーはまったく発生しません。ログインすると、想定どおりに RAM ディスクが /initrd にマウントされていることがわかります。

コミュニティが提供するドライバーとカーネル (3.4) を備えた Cubieboard 2 を使用しています。古いバージョンであることはわかっていますが、これまでのところ、sunxi SoC のサポートが最も優れているバージョンです。また、 Linaroが提供する両方のファイル システム (rootfs と initramfs) をベースとして使用しています。

誰でも私を助けることができますか?

ありがとうございました。

4

3 に答える 3

0

/etc/inittab はどうですか? このファイルでコンソールを初期化しましたか? たぶん tty init が失敗しただけです。見せていただけますか?

于 2015-05-08T07:16:44.750 に答える
0

シェル バイナリは静的である必要があります。それ以外の場合は、/lib が RAMFS に存在する必要があります。

于 2016-07-31T07:42:20.860 に答える