编译内核加载initrd找不到SCSI硬盘
使用make menuconfig编译内核,如果没有.config文件会以默认方式创建相关配置,但是这个配置里面不支持scsi,需要手动添加,方法如下:
- 配置PCI总线驱动,依次选"Bus Option"-"Pci support":
- 配置Scsi,依次选"Device Drivers"-"Scsi device support"--"Scsi device support","Scsi disk support"
- Scsi磁盘需要Sata控制器,这一步比较关键,要从不同厂商的控制器驱动中挑选出合适的驱动。使用的是Fusion LSI磁盘驱动:依次选取1)"Device Driver"-"Serial ATA and Parallel ATA driver"-"AHCI SATA support";2)"Device Driver"-"Fusion MPT device support"-"Fusion MPT ScsiHost driver for SPI";
- "Device Driver"-"Scsi device support"-"SCSI low-level drivers"-"LSI MPT Fusion SAS 2.0 Device Driver"
设置支持文件系统
设备驱动配置完毕,需要再配置内核支持的文件系统和ELF文件格式,同时配置内核支持initramfs
- 选取"File Systems"-"The Extend 4(ext4) filesystem"
- 选取"Executable file formats"-"kernel support for ELF binaries"
- 选取"General setup"-"Initial Ram filesystem and Ram disk"