再起動inittabジョブでIDを尋ねるのはなぜですか?

再起動inittabジョブでIDを尋ねるのはなぜですか?

私はフォローしていますNANDファームウェアアップデートシステムをリフレッシュできるようにRAMでシステムを実行する方法のチュートリアル。以前はスクリプトを実行していましたが、何らかの理由でわかりませんが、次のような結果が出ました。

INIT: /etc/inittab[44]: missing id field

以前はうまくいきましたが、なぜinittabが最近再起動操作のためにidフィールドを要求し始めたのかわからないようです。

なぜこのエラーメッセージが表示されるのか知っていますか?どんな洞察力でも大変感謝します!

注:kill -HUP 1実行すると、次の行にエラーが発生しますinittab

::restart:/reS

Flashの更新に使用したいスクリプトは次のとおりです。

NEWROOTDIR=/tmp/newroot
mkdir -p ${NEWROOTDIR}
mount -t tmpfs none ${NEWROOTDIR}

cd /
echo Copying existing file system ...
echo Copying bin ...
cp -a bin ${NEWROOTDIR}
echo Copying dev ...
cp -a dev ${NEWROOTDIR}
echo Copying etc ...
cp -a etc ${NEWROOTDIR}
echo Copying lib ...
cp -a lib ${NEWROOTDIR}
echo Copying sbin ...
cp -a sbin ${NEWROOTDIR}
echo Copying usr ...
cp -a usr ${NEWROOTDIR}
echo Copying home ...
cp -a home ${NEWROOTDIR}
echo Done copying existing file system


echo Creating folders
mkdir ${NEWROOTDIR}/root
mkdir ${NEWROOTDIR}/proc
mkdir ${NEWROOTDIR}/sys
mkdir ${NEWROOTDIR}/oldroot

echo Killing all system processes
killall5 -9
echo Rebinding /proc to the new root
mount --bind /proc ${NEWROOTDIR}/proc

echo Pivoting to new root
cd ${NEWROOTDIR}
/sbin/pivot_root . oldroot
cd /
echo Cleaning up inittab
grep -v restart /oldroot/etc/inittab > /etc/inittab

echo Inserting the restart command into inittab
echo "::restart:/reS" >> /etc/inittab 
echo "umount /oldroot" >> /reS
echo "/usr/sbin/ubiformat ${mtd_fs} -f /oldroot/var/volatile/tmp/fs.img  -O 2048" >> /reS
chmod 777 /reS
echo Killing HUP
kill -HUP 1
sleep 1
echo killing QUIT
echo Restarting
kill -QUIT 1
sleep 5

答え1

IDフィールドが欠落している行にIDフィールドが欠落しているというエラーが発生します。

~からinittab(5)マンページ:

inittabファイルのエントリ形式は次のとおりです。

 id:runlevels:action:process

「#」で始まる行は無視されます。

 id     is a unique sequence of 1-4 characters which identifies an entry
        in inittab […]

最近間違った行を追加した可能性があり、以前に気づかなかったバージョンのinitを実行した可能性があります。メッセージを確認できなかったか、メッセージが正しく記録されていない可能性があります。

とにかく解決策は簡単です。 IDを追加するだけです。

[注:回線に他の問題があります。ランレベルがありません。 「再起動」の操作が何であるかよくわかりません。 「再起動」する必要があるかもしれません。本当に「rcS」ではなく「reS」ですか? ]

関連情報