나는 외부 하드 드라이브(Transcend TS500GSJ25M - M1, M2 또는 M3인지 확실하지 않지만 M1인 것으로 추측)를 가지고 있고 여기에 Gentoo를 설치하고 싶습니다. 너무 아름다워단순한, genkernel을 사용하지만 쓸모없는 쓰레기를 많이 컴파일하고 내 하드웨어에 필요한 드라이버를 컴파일하지 않습니다. menuconfig를 사용하여 거의 모든 모듈을 끄고 필요한 모듈을 켰습니다.
그러나 오늘 FUSE 지원을 추가하기 위해 커널을 다시 컴파일해야 했고 수많은 특수 SCSI 드라이버와 같은 불필요한 기능을 모두 끄기로 결정했습니다. 커널 시스템을 구축한 후에는 루트가 마운트되지 않습니다.
예, 저는 genkernel을 사용하기 전에 이런 문제를 겪었습니다.
예, "root=LABEL="을 통해 루트를 마운트했고 물론 "--disklabel"을 genkernel에 전달했습니다.
문제는 외장 USB 하드 드라이브를 루트로 성공적으로 마운트하려면 커널에 어떤 모듈을 내장해야 하느냐는 것입니다.
SCSI, USB, EFI 등이 있을 것으로 추측되지만 너무 많아서 열고, 컴파일하고, 부팅을 시도하여 얻는 것은 불가능합니다.
답변1
필요한 모듈을 확인하기 위해 다양한 옵션을 사용할 수 있습니다.
lspci -k
lsmod
(이용해본 사람에 한함)- dmesg 또는 /var/log/kern.log를 확인하세요. 커널 모듈 메시지에는 일반적으로 모듈 이름이 앞에 붙습니다.
저에게 있어 USB 하드 드라이브에는 다음이 필요합니다.
- USB 저장소
- USBHID
- ehci_hcd
물론, 사용되는 파일 시스템을 위한 모듈도 있습니다.
답변2
너무 많은 SCSI 관련 모듈을 비활성화하면 더 이상 USB 장치에서 부팅하지 못할 수 있습니다.
특히:
CONFIG_SCSI:
If you want to use a SCSI hard disk, SCSI tape drive, SCSI CD-ROM or
any other SCSI device under Linux, say Y and make sure that you know
the name of your SCSI host adapter (the card inside your computer
that "speaks" the SCSI protocol, also called SCSI controller),
because you will be asked for it.
You also need to say Y here if you have a device which speaks
the SCSI protocol. Examples of this include the parallel port
version of the IOMEGA ZIP drive, USB storage devices, ...
read <file:Documentation/scsi/scsi.txt>.
The module will be called scsi_mod.
However, do not compile this as a module if your root file system
(the one containing the directory /) is located on a SCSI device.
그리고
CONFIG_BLK_DEV_SD:
If you want to use SCSI hard disks, Fibre Channel disks,
Serial ATA (SATA) or Parallel ATA (PATA) hard disks,
USB storage or
거기에서 구성을 확인해야 합니다.