スリープモード(ハードウェア)のHDDで始まる組み込みLinuxビルドがあります。その後、ソフトウェアが起動し、ドライブの電源が入ります。 Linuxはドライブを正常に検出します:LinuxでHDDが検出された場合の通知方法
ata1: exception Emask 0x10 SAct 0x0 SErr 0x4050000 action 0x42 frozen
ata1: soft resetting port
ata1: SATA link up 1.5 Gbps (SStatus 113 SControl F0000)
ata1.00: ATA-8, max UDMA/133, 976773168 sectors: LBA48 NCQ (depth 0/32)
ata1.00: ata1: dev 0 multi count 0
ata1.00: configured for UDMA/133
ata1: EH complete
Vendor: ATA Model: Hitachi HCS5C105 Rev: JC2O
Type: Direct-Access ANSI SCSI revision: 05
SCSI device sda: 976773168 512-byte hdwr sectors (500108 MB)
sda: Write Protect is off
SCSI device sda: drive cache: write back
SCSI device sda: 976773168 512-byte hdwr sectors (500108 MB)
sda: Write Protect is off
SCSI device sda: drive cache: write back
sda: sda1 sda2
sd 0:0:0:0: Attached scsi disk sda
sd 0:0:0:0: Attached scsi generic sg0 type 0
残念ながら、ソフトウェアは上記のSCSI検出が行われる前にドライブにアクセスしようとします。睡眠を加えることができますが、これは検出に要する時間が非決定論的であることに気づいたので、信頼できるメカニズムではありません。
カーネル/ hotplug/etcを入手する方法はありますか? HDDが検出されたときに報告するシステム?
ありがとうございました。
参照udevdと同じイベントを取得します起動スクリプト? –
残念ながら。ハードウェアはそのように配線されており、出力ピンのレベルを変更する必要があります。このピンはカーネルのinit中に利用できるかもしれないので、私はそれをチェックする必要があります。 – user626201