web-dev-qa-db-ja.com

IDEおよびSATAcdromドライブを検出するためにロードするLinuxカーネルモジュールは何ですか?

そこで、Linux initramfsの独自のコピーを作成しています(学習目的で)。すべてがうまく機能しているようです。私は正しく、共有ライブラリをインストールし、initramfs内からいくつかのバイナリを実行できます。また、busyboxツールを問題なくインストールして実行しました。ただし、/ dev/sr0をマウントしようとすると、mountそのようなデバイスまたはアドレスはありませんが見つからないと報告します。シリアルログ(Virtualboxによってテキストファイルに報告)は、カーネルがSATAハードドライブを検出できるが、IDE cdromコントローラーを検出できないことを示しています。ホストのシステムの元のinitramfsを使用すると、cdromドライブを検出して正常にマウントしますが、lsmodにはロードされたモジュールが非常に多く表示され、すべてを試すことはできません。したがって、initramfsをロードしてIDE cdromドライブを検出したいと思います。正しいカーネルモジュールですが、仮想化されたIDEインターフェイスでどのモジュールが機能するかわかりません。

ちなみに、私のinitramfsは次のモジュールをロードします。

load_modules()
{    
    modules="ahci sd_mod sr_mod virtio_blk virtio_pci" 
    modules="$modules ohci_pci ehci_pci loop ext4 isofs squashfs"

    for mod in $modules; 
    do      
        echo "Loading $mod ..."
        modprobe $mod 
    done
}

以下は、SATAディスクが検出されたことを示すシリアルログの一部です。

[    5.988202] SCSI subsystem initialized
[    6.074669] libata version 3.00 loaded.
[    6.212811] tsc: Refined TSC clocksource calibration: 2594.307 MHz
[    6.213805] clocksource: tsc: mask: 0xffffffffffffffff max_cycles: 0x25653a78b6d, max_idle_ns: 440795319419 ns
[    6.216298] ahci 0000:00:0d.0: version 3.0
[    6.217563] ahci 0000:00:0d.0: SSS flag set, parallel bus scan disabled
[    6.393125] ahci 0000:00:0d.0: AHCI 0001.0100 32 slots 1 ports 3 Gbps 0x1 impl SATA mode
[    6.394486] ahci 0000:00:0d.0: flags: 64bit ncq stag only ccc 
[    6.396023] scsi Host0: ahci
[    6.396708] ata1: SATA max UDMA/133 abar m8192@0xf0806000 port 0xf0806100 irq 21
[    6.713317] ata1: SATA link up 3.0 Gbps (SStatus 123 SControl 300)
[    6.729072] ata1.00: ATA-6: VBOX HARDDISK, 1.0, max UDMA/133
[    6.753066] ata1.00: 4194304 sectors, multi 128: LBA48 NCQ (depth 31/32)
[    6.812916] ata1.00: configured for UDMA/133
[    6.863148] scsi 0:0:0:0: Direct-Access     ATA      VBOX HARDDISK    1.0  PQ: 0 ANSI: 5
[    6.871504] sd 0:0:0:0: [sda] 4194304 512-byte logical blocks: (2.15 GB/2.00 GiB)
1
Karim Manaouil

少なくとも、ドライブ自体にはsrモジュールが必要です。それを超えて、チップセット用のドライバーが必要ですが、残念ながら、関連するドライバーが何であるか正確にはわかりません。 I thinkata_genericモジュールとpata_acpiモジュールが必要ですが、100%確実ではありません。


とは言うものの、VirtualBoxによってデフォルトで提供される構成は、実際には今日の標準ではかなり珍しいものです。この構成の元の理由は、ほぼ10年前にこのように構築された実際のハードウェアの背後にある理由と同じであり、CDから起動する必要があった古いソフトウェアの中には、CDドライブへのPATAアクセスのみを適切にサポートするものがありました。しかし、最近では、このような状況は非常にまれです(大きなOSのいずれもこれを必要とせず、最近更新された起動可能なユーティリティソフトウェアもほとんど必要ありません)。

したがって、代わりに、VirtualBox構成のIDEコントローラーを完全に削除し、SATAコントローラーに光学ドライブを追加することをお勧めします。その時点で、必要なのはCD-ROMドライブ自体のsrドライバー。

1