私のDebianテストシステムのinitramfsは、initramfsの起動時にすでにプラグインされている場合、外部USB 3 HDD(Seagate Backup Plus 1T)に必要なカーネルモジュールを自動的にロードできません。 initramfs Shellを起動し、ケーブルを抜き差しして再度差し込むと、デバイスが表示され、マウントできるようになります。
このデバイスはinitramfsには必要ありませんが、initramfsによって作成された/dev/
ファイルシステムがメインOSに渡され、そこで必要になります。デバイスを使用できるようにするには、ケーブルを抜き差しする必要があります。
このデバイスを解決するためにinitramfsを設定するにはどうすればよいですか?または、メインOSにハードウェアバスをウォークスルーして、initramfsのudevが見逃したすべてのデバイスを処理するように指示するにはどうすればよいですか?
デバイスの電源をオフにしてからオンにすると、2つの新しいモジュールがロードされます。
# lsmod
Module Size Used by
uas 24576 0
usb_storage 69632 1 uas
これらのモジュールは、initramfsイメージで使用できます。
# lsinitramfs /boot/initrd.img-4.6.0-1-AMD64 |grep -E '(uas|usb-storage)'
lib/modules/4.6.0-1-AMD64/kernel/drivers/usb/storage/usb-storage.ko
lib/modules/4.6.0-1-AMD64/kernel/drivers/usb/storage/uas.ko
デバイスを接続した後のuname
、dmesg
およびlsusb
出力:
# uname -a
Linux pingwin 4.6.0-1-AMD64 #1 SMP Debian 4.6.4-1 (2016-07-18) x86_64 GNU/Linux
# dmesg
[ 53.412599] usb 2-2: new SuperSpeed USB device number 2 using xhci_hcd
[ 53.429652] usb 2-2: New USB device found, idVendor=0bc2, idProduct=ab24
[ 53.429659] usb 2-2: New USB device strings: Mfr=2, Product=3, SerialNumber=1
[ 53.429662] usb 2-2: Product: BUP Slim BK
[ 53.429664] usb 2-2: Manufacturer: Seagate
[ 53.429667] usb 2-2: SerialNumber: NA7K016V
[ 53.455444] usbcore: registered new interface driver usb-storage
[ 53.458787] scsi Host6: uas
[ 53.458962] usbcore: registered new interface driver uas
[ 53.459440] scsi 6:0:0:0: Direct-Access Seagate BUP Slim BK 0302 PQ: 0 ANSI: 6
[ 53.497569] sd 6:0:0:0: Attached scsi generic sg2 type 0
[ 53.497586] sd 6:0:0:0: [sdb] Spinning up disk...
[ 54.503950] ...ready
[ 56.518071] sd 6:0:0:0: [sdb] 1953525167 512-byte logical blocks: (1.00 TB/932 GiB)
[ 56.518077] sd 6:0:0:0: [sdb] 2048-byte physical blocks
[ 56.687950] sd 6:0:0:0: [sdb] Write Protect is off
[ 56.687960] sd 6:0:0:0: [sdb] Mode Sense: 4f 00 00 00
[ 56.688242] sd 6:0:0:0: [sdb] Write cache: enabled, read cache: enabled, doesn't support DPO or FUA
[ 56.699372] sdb: sdb1
[ 56.700399] sd 6:0:0:0: [sdb] Attached SCSI disk
# lsusb -v -d 0bc2:ab24
Bus 004 Device 002: ID 0bc2:ab24 Seagate RSS LLC
Device Descriptor:
bLength 18
bDescriptorType 1
bcdUSB 3.00
bDeviceClass 0 (Defined at Interface level)
bDeviceSubClass 0
bDeviceProtocol 0
bMaxPacketSize0 9
idVendor 0x0bc2 Seagate RSS LLC
idProduct 0xab24
bcdDevice 1.00
iManufacturer 2 Seagate
iProduct 3 BUP Slim BK
iSerial 1 NA7K016V
bNumConfigurations 1
Configuration Descriptor:
bLength 9
bDescriptorType 2
wTotalLength 121
bNumInterfaces 1
bConfigurationValue 1
iConfiguration 0
bmAttributes 0x80
(Bus Powered)
MaxPower 36mA
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 0
bAlternateSetting 0
bNumEndpoints 2
bInterfaceClass 8 Mass Storage
bInterfaceSubClass 6 SCSI
bInterfaceProtocol 80 Bulk-Only
iInterface 0
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x81 EP 1 IN
bmAttributes 2
Transfer Type Bulk
Synch Type None
Usage Type Data
wMaxPacketSize 0x0400 1x 1024 bytes
bInterval 0
bMaxBurst 15
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x02 EP 2 OUT
bmAttributes 2
Transfer Type Bulk
Synch Type None
Usage Type Data
wMaxPacketSize 0x0400 1x 1024 bytes
bInterval 0
bMaxBurst 15
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 0
bAlternateSetting 1
bNumEndpoints 4
bInterfaceClass 8 Mass Storage
bInterfaceSubClass 6 SCSI
bInterfaceProtocol 98
iInterface 0
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x81 EP 1 IN
bmAttributes 2
Transfer Type Bulk
Synch Type None
Usage Type Data
wMaxPacketSize 0x0400 1x 1024 bytes
bInterval 0
bMaxBurst 15
MaxStreams 32
Data-in pipe (0x03)
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x02 EP 2 OUT
bmAttributes 2
Transfer Type Bulk
Synch Type None
Usage Type Data
wMaxPacketSize 0x0400 1x 1024 bytes
bInterval 0
bMaxBurst 15
MaxStreams 32
Data-out pipe (0x04)
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x83 EP 3 IN
bmAttributes 2
Transfer Type Bulk
Synch Type None
Usage Type Data
wMaxPacketSize 0x0400 1x 1024 bytes
bInterval 0
bMaxBurst 15
MaxStreams 32
Status pipe (0x02)
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x04 EP 4 OUT
bmAttributes 2
Transfer Type Bulk
Synch Type None
Usage Type Data
wMaxPacketSize 0x0400 1x 1024 bytes
bInterval 0
bMaxBurst 0
Command pipe (0x01)
Binary Object Store Descriptor:
bLength 5
bDescriptorType 15
wTotalLength 22
bNumDeviceCaps 2
USB 2.0 Extension Device Capability:
bLength 7
bDescriptorType 16
bDevCapabilityType 2
bmAttributes 0x00000002
Link Power Management (LPM) Supported
SuperSpeed USB Device Capability:
bLength 10
bDescriptorType 16
bDevCapabilityType 3
bmAttributes 0x00
wSpeedsSupported 0x000e
Device can operate at Full Speed (12Mbps)
Device can operate at High Speed (480Mbps)
Device can operate at SuperSpeed (5Gbps)
bFunctionalitySupport 1
Lowest fully-functional device speed is Full Speed (12Mbps)
bU1DevExitLat 10 micro seconds
bU2DevExitLat 2047 micro seconds
Device Status: 0x000c
(Bus Powered)
U1 Enabled
U2 Enabled
initramfsと作業システムのudevadm
出力(ほとんど同じですが、stat
、iodone_cnt
、ioerr_cnt
、iorequest_cnt
とurbnum
):
# udevadm info -a -p /sys/block/sdb on initramfs
Udevadm info starts with the device specified by the devpath and then
walks up the chain of parent devices. It prints for every device
found, all possible attributes in the udev rules key format.
A rule to match, can be composed by the attributes of the device
and the attributes from one single parent device.
looking at device '/devices/pci0000:00/0000:00:14.0/usb4/4-2/4-2:1.0/Host6/target6:0:0/6:0:0:0/block/sdb':
KERNEL=="sdb"
SUBSYSTEM=="block"
DRIVER==""
ATTR{alignment_offset}=="0"
ATTR{badblocks}==""
ATTR{capability}=="50"
ATTR{discard_alignment}=="0"
ATTR{events}==""
ATTR{events_async}==""
ATTR{events_poll_msecs}=="-1"
ATTR{ext_range}=="256"
ATTR{inflight}==" 0 0"
ATTR{range}=="16"
ATTR{removable}=="0"
ATTR{ro}=="0"
ATTR{size}=="1953525167"
ATTR{stat}==" 72 0 4254 232 0 0 0 0 0 136 232"
looking at parent device '/devices/pci0000:00/0000:00:14.0/usb4/4-2/4-2:1.0/Host6/target6:0:0/6:0:0:0':
KERNELS=="6:0:0:0"
SUBSYSTEMS=="scsi"
DRIVERS=="sd"
ATTRS{device_blocked}=="0"
ATTRS{device_busy}=="0"
ATTRS{dh_state}=="detached"
ATTRS{eh_timeout}=="10"
ATTRS{evt_capacity_change_reported}=="0"
ATTRS{evt_inquiry_change_reported}=="0"
ATTRS{evt_lun_change_reported}=="0"
ATTRS{evt_media_change}=="0"
ATTRS{evt_mode_parameter_change_reported}=="0"
ATTRS{evt_soft_threshold_reached}=="0"
ATTRS{inquiry}==""
ATTRS{iocounterbits}=="32"
ATTRS{iodone_cnt}=="0x7a"
ATTRS{ioerr_cnt}=="0x8"
ATTRS{iorequest_cnt}=="0x7a"
ATTRS{model}=="BUP Slim BK "
ATTRS{queue_depth}=="30"
ATTRS{queue_type}=="simple"
ATTRS{rev}=="0302"
ATTRS{scsi_level}=="7"
ATTRS{state}=="running"
ATTRS{timeout}=="30"
ATTRS{type}=="0"
ATTRS{vendor}=="Seagate "
ATTRS{vpd_pg80}==""
ATTRS{vpd_pg83}==""
ATTRS{wwid}=="naa.5000000000000001"
looking at parent device '/devices/pci0000:00/0000:00:14.0/usb4/4-2/4-2:1.0/Host6/target6:0:0':
KERNELS=="target6:0:0"
SUBSYSTEMS=="scsi"
DRIVERS==""
looking at parent device '/devices/pci0000:00/0000:00:14.0/usb4/4-2/4-2:1.0/Host6':
KERNELS=="Host6"
SUBSYSTEMS=="scsi"
DRIVERS==""
looking at parent device '/devices/pci0000:00/0000:00:14.0/usb4/4-2/4-2:1.0':
KERNELS=="4-2:1.0"
SUBSYSTEMS=="usb"
DRIVERS=="uas"
ATTRS{authorized}=="1"
ATTRS{bAlternateSetting}==" 1"
ATTRS{bInterfaceClass}=="08"
ATTRS{bInterfaceNumber}=="00"
ATTRS{bInterfaceProtocol}=="62"
ATTRS{bInterfaceSubClass}=="06"
ATTRS{bNumEndpoints}=="04"
ATTRS{supports_autosuspend}=="0"
looking at parent device '/devices/pci0000:00/0000:00:14.0/usb4/4-2':
KERNELS=="4-2"
SUBSYSTEMS=="usb"
DRIVERS=="usb"
ATTRS{authorized}=="1"
ATTRS{avoid_reset_quirk}=="0"
ATTRS{bConfigurationValue}=="1"
ATTRS{bDeviceClass}=="00"
ATTRS{bDeviceProtocol}=="00"
ATTRS{bDeviceSubClass}=="00"
ATTRS{bMaxPacketSize0}=="9"
ATTRS{bMaxPower}=="144mA"
ATTRS{bNumConfigurations}=="1"
ATTRS{bNumInterfaces}==" 1"
ATTRS{bcdDevice}=="0100"
ATTRS{bmAttributes}=="80"
ATTRS{busnum}=="4"
ATTRS{configuration}==""
ATTRS{devnum}=="2"
ATTRS{devpath}=="2"
ATTRS{idProduct}=="ab24"
ATTRS{idVendor}=="0bc2"
ATTRS{ltm_capable}=="no"
ATTRS{manufacturer}=="Seagate"
ATTRS{maxchild}=="0"
ATTRS{product}=="BUP Slim BK"
ATTRS{quirks}=="0x0"
ATTRS{removable}=="removable"
ATTRS{serial}=="NA7K016V"
ATTRS{speed}=="5000"
ATTRS{urbnum}=="371"
ATTRS{version}==" 3.00"
looking at parent device '/devices/pci0000:00/0000:00:14.0/usb4':
KERNELS=="usb4"
SUBSYSTEMS=="usb"
DRIVERS=="usb"
ATTRS{authorized}=="1"
ATTRS{authorized_default}=="1"
ATTRS{avoid_reset_quirk}=="0"
ATTRS{bConfigurationValue}=="1"
ATTRS{bDeviceClass}=="09"
ATTRS{bDeviceProtocol}=="03"
ATTRS{bDeviceSubClass}=="00"
ATTRS{bMaxPacketSize0}=="9"
ATTRS{bMaxPower}=="0mA"
ATTRS{bNumConfigurations}=="1"
ATTRS{bNumInterfaces}==" 1"
ATTRS{bcdDevice}=="0406"
ATTRS{bmAttributes}=="e0"
ATTRS{busnum}=="4"
ATTRS{configuration}==""
ATTRS{devnum}=="1"
ATTRS{devpath}=="0"
ATTRS{idProduct}=="0003"
ATTRS{idVendor}=="1d6b"
ATTRS{interface_authorized_default}=="1"
ATTRS{ltm_capable}=="no"
ATTRS{manufacturer}=="Linux 4.6.0-1-AMD64 xhci-hcd"
ATTRS{maxchild}=="4"
ATTRS{product}=="xHCI Host Controller"
ATTRS{quirks}=="0x0"
ATTRS{removable}=="unknown"
ATTRS{serial}=="0000:00:14.0"
ATTRS{speed}=="5000"
ATTRS{urbnum}=="47"
ATTRS{version}==" 3.00"
looking at parent device '/devices/pci0000:00/0000:00:14.0':
KERNELS=="0000:00:14.0"
SUBSYSTEMS=="pci"
DRIVERS=="xhci_hcd"
ATTRS{broken_parity_status}=="0"
ATTRS{class}=="0x0c0330"
ATTRS{consistent_dma_mask_bits}=="64"
ATTRS{d3cold_allowed}=="1"
ATTRS{device}=="0x1e31"
ATTRS{dma_mask_bits}=="64"
ATTRS{driver_override}=="(null)"
ATTRS{enable}=="1"
ATTRS{irq}=="29"
ATTRS{local_cpulist}=="0-3"
ATTRS{local_cpus}=="0f"
ATTRS{msi_bus}=="1"
ATTRS{numa_node}=="-1"
ATTRS{subsystem_device}=="0x1949"
ATTRS{subsystem_vendor}=="0x103c"
ATTRS{vendor}=="0x8086"
looking at parent device '/devices/pci0000:00':
KERNELS=="pci0000:00"
SUBSYSTEMS==""
DRIVERS==""
# udevadm info -a -p /sys/block/sdb on booted system
Udevadm info starts with the device specified by the devpath and then
walks up the chain of parent devices. It prints for every device
found, all possible attributes in the udev rules key format.
A rule to match, can be composed by the attributes of the device
and the attributes from one single parent device.
looking at device '/devices/pci0000:00/0000:00:14.0/usb4/4-2/4-2:1.0/Host6/target6:0:0/6:0:0:0/block/sdb':
KERNEL=="sdb"
SUBSYSTEM=="block"
DRIVER==""
ATTR{alignment_offset}=="0"
ATTR{badblocks}==""
ATTR{capability}=="50"
ATTR{discard_alignment}=="0"
ATTR{events}==""
ATTR{events_async}==""
ATTR{events_poll_msecs}=="-1"
ATTR{ext_range}=="256"
ATTR{inflight}==" 0 0"
ATTR{range}=="16"
ATTR{removable}=="0"
ATTR{ro}=="0"
ATTR{size}=="1953525167"
ATTR{stat}==" 72 0 4254 328 0 0 0 0 0 272 328"
looking at parent device '/devices/pci0000:00/0000:00:14.0/usb4/4-2/4-2:1.0/Host6/target6:0:0/6:0:0:0':
KERNELS=="6:0:0:0"
SUBSYSTEMS=="scsi"
DRIVERS=="sd"
ATTRS{device_blocked}=="0"
ATTRS{device_busy}=="0"
ATTRS{dh_state}=="detached"
ATTRS{eh_timeout}=="10"
ATTRS{evt_capacity_change_reported}=="0"
ATTRS{evt_inquiry_change_reported}=="0"
ATTRS{evt_lun_change_reported}=="0"
ATTRS{evt_media_change}=="0"
ATTRS{evt_mode_parameter_change_reported}=="0"
ATTRS{evt_soft_threshold_reached}=="0"
ATTRS{inquiry}==""
ATTRS{iocounterbits}=="32"
ATTRS{iodone_cnt}=="0xd1"
ATTRS{ioerr_cnt}=="0x48"
ATTRS{iorequest_cnt}=="0xd1"
ATTRS{model}=="BUP Slim BK "
ATTRS{queue_depth}=="30"
ATTRS{queue_type}=="simple"
ATTRS{rev}=="0302"
ATTRS{scsi_level}=="7"
ATTRS{state}=="running"
ATTRS{timeout}=="30"
ATTRS{type}=="0"
ATTRS{vendor}=="Seagate "
ATTRS{vpd_pg80}==""
ATTRS{vpd_pg83}==""
ATTRS{wwid}=="naa.5000000000000001"
looking at parent device '/devices/pci0000:00/0000:00:14.0/usb4/4-2/4-2:1.0/Host6/target6:0:0':
KERNELS=="target6:0:0"
SUBSYSTEMS=="scsi"
DRIVERS==""
looking at parent device '/devices/pci0000:00/0000:00:14.0/usb4/4-2/4-2:1.0/Host6':
KERNELS=="Host6"
SUBSYSTEMS=="scsi"
DRIVERS==""
looking at parent device '/devices/pci0000:00/0000:00:14.0/usb4/4-2/4-2:1.0':
KERNELS=="4-2:1.0"
SUBSYSTEMS=="usb"
DRIVERS=="uas"
ATTRS{authorized}=="1"
ATTRS{bAlternateSetting}==" 1"
ATTRS{bInterfaceClass}=="08"
ATTRS{bInterfaceNumber}=="00"
ATTRS{bInterfaceProtocol}=="62"
ATTRS{bInterfaceSubClass}=="06"
ATTRS{bNumEndpoints}=="04"
ATTRS{supports_autosuspend}=="0"
looking at parent device '/devices/pci0000:00/0000:00:14.0/usb4/4-2':
KERNELS=="4-2"
SUBSYSTEMS=="usb"
DRIVERS=="usb"
ATTRS{authorized}=="1"
ATTRS{avoid_reset_quirk}=="0"
ATTRS{bConfigurationValue}=="1"
ATTRS{bDeviceClass}=="00"
ATTRS{bDeviceProtocol}=="00"
ATTRS{bDeviceSubClass}=="00"
ATTRS{bMaxPacketSize0}=="9"
ATTRS{bMaxPower}=="144mA"
ATTRS{bNumConfigurations}=="1"
ATTRS{bNumInterfaces}==" 1"
ATTRS{bcdDevice}=="0100"
ATTRS{bmAttributes}=="80"
ATTRS{busnum}=="4"
ATTRS{configuration}==""
ATTRS{devnum}=="2"
ATTRS{devpath}=="2"
ATTRS{idProduct}=="ab24"
ATTRS{idVendor}=="0bc2"
ATTRS{ltm_capable}=="no"
ATTRS{manufacturer}=="Seagate"
ATTRS{maxchild}=="0"
ATTRS{product}=="BUP Slim BK"
ATTRS{quirks}=="0x0"
ATTRS{removable}=="removable"
ATTRS{serial}=="NA7K016V"
ATTRS{speed}=="5000"
ATTRS{urbnum}=="592"
ATTRS{version}==" 3.00"
looking at parent device '/devices/pci0000:00/0000:00:14.0/usb4':
KERNELS=="usb4"
SUBSYSTEMS=="usb"
DRIVERS=="usb"
ATTRS{authorized}=="1"
ATTRS{authorized_default}=="1"
ATTRS{avoid_reset_quirk}=="0"
ATTRS{bConfigurationValue}=="1"
ATTRS{bDeviceClass}=="09"
ATTRS{bDeviceProtocol}=="03"
ATTRS{bDeviceSubClass}=="00"
ATTRS{bMaxPacketSize0}=="9"
ATTRS{bMaxPower}=="0mA"
ATTRS{bNumConfigurations}=="1"
ATTRS{bNumInterfaces}==" 1"
ATTRS{bcdDevice}=="0406"
ATTRS{bmAttributes}=="e0"
ATTRS{busnum}=="4"
ATTRS{configuration}==""
ATTRS{devnum}=="1"
ATTRS{devpath}=="0"
ATTRS{idProduct}=="0003"
ATTRS{idVendor}=="1d6b"
ATTRS{interface_authorized_default}=="1"
ATTRS{ltm_capable}=="no"
ATTRS{manufacturer}=="Linux 4.6.0-1-AMD64 xhci-hcd"
ATTRS{maxchild}=="4"
ATTRS{product}=="xHCI Host Controller"
ATTRS{quirks}=="0x0"
ATTRS{removable}=="unknown"
ATTRS{serial}=="0000:00:14.0"
ATTRS{speed}=="5000"
ATTRS{urbnum}=="47"
ATTRS{version}==" 3.00"
looking at parent device '/devices/pci0000:00/0000:00:14.0':
KERNELS=="0000:00:14.0"
SUBSYSTEMS=="pci"
DRIVERS=="xhci_hcd"
ATTRS{broken_parity_status}=="0"
ATTRS{class}=="0x0c0330"
ATTRS{consistent_dma_mask_bits}=="64"
ATTRS{d3cold_allowed}=="1"
ATTRS{device}=="0x1e31"
ATTRS{dma_mask_bits}=="64"
ATTRS{driver_override}=="(null)"
ATTRS{enable}=="1"
ATTRS{irq}=="29"
ATTRS{local_cpulist}=="0-3"
ATTRS{local_cpus}=="0f"
ATTRS{msi_bus}=="1"
ATTRS{numa_node}=="-1"
ATTRS{subsystem_device}=="0x1949"
ATTRS{subsystem_vendor}=="0x103c"
ATTRS{vendor}=="0x8086"
looking at parent device '/devices/pci0000:00':
KERNELS=="pci0000:00"
SUBSYSTEMS==""
DRIVERS==""
# /etc/udev/udev.conf (the same on booted system and in initramfs)
# see udev.conf(5) for details
#
# udevd is started in the initramfs, so when this file is modified the
# initramfs should be rebuilt.
#udev_log="info"
コンピュータのUSB3ポートとUSB2ポートのどちらにディスクを接続してもかまいません。
Initramfsの初期化前に接続されたUSB2デバイスは正しく認識され、解決されます。他に影響を受けるかどうかを確認するためのUSB3デバイスはありません。ただし、友人のコンピューター(Ubuntu 16.04を使用)でこのディスクを試すことはできました。起動後、/dev/
で解決され、利用可能になりました。
Initramfs-toolsまたはdracutのどちらでinitramfsを生成するかは関係ありません。
起動前にケーブルが接続されていても、このHDDに関連する/dev/sdb*
が完全に起動されたシステムで使用可能であることを確認するにはどうすればよいですか?
OK、これはワイルドな推測であり、回避策です(問題を適切に理解するのではなく)が、機能するはずです。
udev
ルールファイル(たとえば、/etc/udev/rules.d/z30-seagate-disk.rules
)を作成し、次のルールを追加します。
ATTRS{manufacturer}=="Seagate", ATTRS{product}=="BUP Slim BK", SYMLINK+="seagate"
これにより、udev
に2回目のパスを強制し、ディスクを/dev/seagate
ブロックデバイスとして追加する必要があります。そのファイルを/etc/mkinitcpio.conf
のFILES
変数に追加して、initramfs
に入るようにする必要もあります。 (そして、mkinitcpio -p linux
を実行してinitramfs
を再構築します)
免責事項:DebianではなくArchでテストされ、USB3.0を使用していません。
もう1つの回避策は、uas
(USB SCSI)がカーネルによって常にロードされるようにすることです。 /etc/modules-load.d/seagate-disk.conf
モジュール名をファイルに追加します。
uas
usb_storage
usbcore
scsi_mod
usb_common
理論的にはuas
のみが必要ですが、問題を再現することはできないため、USBHDDの管理に必要なすべてをブルートフォース攻撃してみます。繰り返しますが、そのファイルを/etc/mkinitcpio.conf
のFILES
に追加します。
これにより、カーネルは常にuas
をロードするようになります。おそらく、udev
がバスを実行している間、カーネルにはUSBモジュールがロードされていないため、USBハブ/バスには何もロードされていないと誤って想定します。
_/etc/modules
_を編集し、uas
を含む行を追加します。
次に、_update-initramfs
_を実行します(例:現在実行中のカーネルのinitramfsを更新するにはupdate-initramfs -u -k $(uname -r)
、インストールされているすべてのカーネルの場合は_-k all
_)。
_/etc/modules
_にリストされているモジュールは、udev
または他の何かがそれらが必要であることを検出したかどうかに関係なく、自動的にロードされます。
これは、モジュールを特定の順序でロードする必要がある場合、または強制したい場合にも役立ちます。そのため、モジュールfoo
は常にモジュールbar
の前にロードされます(もちろん、以前にロードされたものを除く)モジュールはbar
に依存します)。
modprobe
によってロードされるすべてのモジュールと同様に、_/etc/modprobe.d/
_のファイルでロード時間オプションを設定できます。
例えばspl
とzfs
が_/etc/modules
_にリストされており、_/etc/modprobe.d/zfs.conf
_には次のものが含まれています。
_# use minimum 4GB and maxmum of 8GB RAM for ZFS ARC
options zfs zfs_arc_min=4294967296 zfs_arc_max=8589934592
_
モジュールが認識しているロード時オプションを知りたい場合は、_modinfo [module] | grep parm
_を使用してください。モジュールuas
には何もありません。