# [SOLVED] UUID not recognised with new kernel

## slackline

Hi,

I've recently switched from x11-drivers/nvidia-drivers to x11-drivers/xf86-video-nouveau so that I could move to newer >=sys-kernel/gentoo-sources-4.* (old graphics card and the legacy nVidia driver didn't seem to support newer kernels).

With kernel 3.14.57 almost everything works fine (I get X-errors after hibernating to RAM but thats a separate issue and I'd like to get a bootable 4.* kernel working first before I start investigating that).

When I try booting into the new kernel it doesn't recognise the UUID of my root block device...

```

>> Determining root device...

!! Could not find the root block device in UUID=0e07d3aa-9d48-46dd-87ab-b8a351d21fc8

:: Loading from lvm:

mdadm : No arrays found in config file or automatically

>> Scanning for and activating Volume Groups

  No volume groups found

  /dev/mapper/control : open failed : No such device

  Failure to communicate with kernel device-mapper driver.

  Check that device-mapper is available in the  kernel

```

I'm using an initramfs image to boot initially and have never encountered this problem.   As advised when creating the initramfs I have always appended the necessary options for lvm and raid to the GRUB command line with the following in /etc/default/grub...

```

# Append parameters to the linux kernel command line

GRUB_CMDLINE_LINUX="dolvm domdadm rootfstype=ext4"

```

This is acknowledged/used by GRUB and the UUID that is being reported as can't be found is the same under both kernels...

```

 grep -i root=UUID /boot/grub/grub.cfg 

   linux   /vmlinuz-4.3.3 root=UUID=0e07d3aa-9d48-46dd-87ab-b8a351d21fc8 ro dolvm domdadm rootfstype=ext4 

      linux   /vmlinuz-4.3.3 root=UUID=0e07d3aa-9d48-46dd-87ab-b8a351d21fc8 ro dolvm domdadm rootfstype=ext4 

      linux   /vmlinuz-4.3.3 root=UUID=0e07d3aa-9d48-46dd-87ab-b8a351d21fc8 ro single dolvm domdadm rootfstype=ext4

      linux   /vmlinuz-3.14.57 root=UUID=0e07d3aa-9d48-46dd-87ab-b8a351d21fc8 ro dolvm domdadm rootfstype=ext4 

      linux   /vmlinuz-3.14.57 root=UUID=0e07d3aa-9d48-46dd-87ab-b8a351d21fc8 ro single dolvm domdadm rootfstype=ext4

```

I noticed the mention of device-mapper in the kernel perhaps not being found but have definitely included it in my new kernel...

```

# grep BLK_DEV_DM /usr/src/linux-4.3.3-gentoo/.config

CONFIG_BLK_DEV_DM_BUILTIN=y

CONFIG_BLK_DEV_DM=y

```

And from menuconfig...

```

Symbol: BLK_DEV_DM [=y]

   Type  : tristate

   Prompt: Device mapper support

     Location:

       -> Device Drivers

   (1)   -> Multiple devices driver support (RAID and LVM) (MD [=y])

     Defined at drivers/md/Kconfig:199

     Depends on: MD [=y]

     Selects: BLK_DEV_DM_BUILTIN [=y]

   Symbol: BLK_DEV_DM_BUILTIN [=y]

   Type  : boolean

     Defined at drivers/md/Kconfig:196

     Depends on: MD [=y]

     Selected by: BLK_DEV_DM [=y] && MD [=y]

```

I'm a bit stumped as to whats going on here and how to resolve it as I thought I had everything correct, but clearly not.

Any pointers on how to solve this would be very much appreciated.

Thanks

slack

----------

## NeddySeagoon

slackline,

It looks like your raid is not being started, so lvm has no chance of finding any volumes that may be on it.

Do you have raid support in your kernel and initrd?

----------

## slackline

Hi Neddy,

Thanks for taking the time to look at my problem.

I've a number of RAID modules (some no doubt unnecessary) included in the .config for 4.3.3 and 3.14.57 but they don't appear to differ...

```

# grep RAID linux-4.3.3-gentoo/.config linux-3.14.57-gentoo/.config

linux-4.3.3-gentoo/.config:CONFIG_RAID_ATTRS=m

linux-4.3.3-gentoo/.config:CONFIG_BLK_DEV_3W_XXXX_RAID=m

linux-4.3.3-gentoo/.config:CONFIG_SCSI_AACRAID=m

linux-4.3.3-gentoo/.config:CONFIG_MEGARAID_NEWGEN=y

linux-4.3.3-gentoo/.config:CONFIG_MEGARAID_MM=m

linux-4.3.3-gentoo/.config:CONFIG_MEGARAID_MAILBOX=m

linux-4.3.3-gentoo/.config:CONFIG_MEGARAID_LEGACY=m

linux-4.3.3-gentoo/.config:CONFIG_MEGARAID_SAS=m

linux-4.3.3-gentoo/.config:# CONFIG_SCSI_PMCRAID is not set

linux-4.3.3-gentoo/.config:CONFIG_MD_RAID0=m

linux-4.3.3-gentoo/.config:CONFIG_MD_RAID1=m

linux-4.3.3-gentoo/.config:CONFIG_MD_RAID10=m

linux-4.3.3-gentoo/.config:CONFIG_MD_RAID456=m

linux-4.3.3-gentoo/.config:#CONFIG_DM_RAID=n

linux-4.3.3-gentoo/.config:CONFIG_DMA_ENGINE_RAID=y

linux-4.3.3-gentoo/.config:# CONFIG_ASYNC_RAID6_TEST is not set

linux-4.3.3-gentoo/.config:CONFIG_ASYNC_RAID6_RECOV=m

linux-4.3.3-gentoo/.config:CONFIG_RAID6_PQ=m

linux-3.14.57-gentoo/.config:CONFIG_RAID_ATTRS=m

linux-3.14.57-gentoo/.config:CONFIG_BLK_DEV_3W_XXXX_RAID=m

linux-3.14.57-gentoo/.config:CONFIG_SCSI_AACRAID=m

linux-3.14.57-gentoo/.config:CONFIG_MEGARAID_NEWGEN=y

linux-3.14.57-gentoo/.config:CONFIG_MEGARAID_MM=m

linux-3.14.57-gentoo/.config:CONFIG_MEGARAID_MAILBOX=m

linux-3.14.57-gentoo/.config:CONFIG_MEGARAID_LEGACY=m

linux-3.14.57-gentoo/.config:CONFIG_MEGARAID_SAS=m

linux-3.14.57-gentoo/.config:# CONFIG_SCSI_PMCRAID is not set

linux-3.14.57-gentoo/.config:CONFIG_MD_RAID0=m

linux-3.14.57-gentoo/.config:CONFIG_MD_RAID1=m

linux-3.14.57-gentoo/.config:CONFIG_MD_RAID10=m

linux-3.14.57-gentoo/.config:CONFIG_MD_RAID456=m

linux-3.14.57-gentoo/.config:# CONFIG_DM_RAID is not set

linux-3.14.57-gentoo/.config:CONFIG_DMA_ENGINE_RAID=y

linux-3.14.57-gentoo/.config:# CONFIG_ASYNC_RAID6_TEST is not set

linux-3.14.57-gentoo/.config:CONFIG_ASYNC_RAID6_RECOV=m

linux-3.14.57-gentoo/.config:CONFIG_RAID6_PQ=m

```

I noticed from the above that CONFIG_DM_RAID is not set in either instance so figured I should have a go at enabling that (currently compiling kernel, will report back on outcome).

The slightly confusing thing (to me) about this is that I don't boot from RAID.  I've got four drives in my system...

 ~250Gb SSD that the system resides on with partitions for /boot, /, /usr/portage, /home and swap.

 500Gb drive with two partitions.

 2 x 3Tb drives in a RAID1 with three partitions under LVM...

```

# fdisk -l

Disk /dev/sda: 232.9 GiB, 250059350016 bytes, 488397168 sectors

Units: sectors of 1 * 512 = 512 bytes

Sector size (logical/physical): 512 bytes / 512 bytes

I/O size (minimum/optimal): 512 bytes / 512 bytes

Disklabel type: dos

Disk identifier: 0x75ae4ae9

Device     Boot     Start       End   Sectors   Size Id Type

/dev/sda1              63  80003699  80003637  38.2G 83 Linux

/dev/sda2        80003700  96004439  16000740   7.6G 82 Linux swap / Solaris

/dev/sda3  *     96004440  96197219    192780  94.1M 83 Linux

/dev/sda4        96197220 488397167 392199948   187G  5 Extended

/dev/sda5        96197283 116198144  20000862   9.6G 83 Linux

/dev/sda6       116198208 488397167 372198960 177.5G 83 Linux

Disk /dev/sdb: 465.8 GiB, 500106780160 bytes, 976771055 sectors

Units: sectors of 1 * 512 = 512 bytes

Sector size (logical/physical): 512 bytes / 512 bytes

I/O size (minimum/optimal): 512 bytes / 512 bytes

Disklabel type: dos

Disk identifier: 0x24e395a5

Device     Boot     Start       End   Sectors   Size Id Type

/dev/sdb1            2048 204802047 204800000  97.7G 83 Linux

/dev/sdb2       204802048 976769023 771966976 368.1G 83 Linux

Disk /dev/sdc: 2.7 TiB, 3000592982016 bytes, 5860533168 sectors

Units: sectors of 1 * 512 = 512 bytes

Sector size (logical/physical): 512 bytes / 4096 bytes

I/O size (minimum/optimal): 4096 bytes / 4096 bytes

Disk /dev/sdd: 2.7 TiB, 3000592982016 bytes, 5860533168 sectors

Units: sectors of 1 * 512 = 512 bytes

Sector size (logical/physical): 512 bytes / 4096 bytes

I/O size (minimum/optimal): 4096 bytes / 4096 bytes

Disk /dev/md127: 2.7 TiB, 3000458739712 bytes, 5860270976 sectors

Units: sectors of 1 * 512 = 512 bytes

Sector size (logical/physical): 512 bytes / 4096 bytes

I/O size (minimum/optimal): 4096 bytes / 4096 bytes

Disk /dev/mapper/vg0-music: 650 GiB, 697932185600 bytes, 1363148800 sectors

Units: sectors of 1 * 512 = 512 bytes

Sector size (logical/physical): 512 bytes / 4096 bytes

I/O size (minimum/optimal): 4096 bytes / 4096 bytes

Disk /dev/mapper/vg0-video: 500 GiB, 536870912000 bytes, 1048576000 sectors

Units: sectors of 1 * 512 = 512 bytes

Sector size (logical/physical): 512 bytes / 4096 bytes

I/O size (minimum/optimal): 4096 bytes / 4096 bytes

Disk /dev/mapper/vg0-pics: 500 GiB, 536870912000 bytes, 1048576000 sectors

Units: sectors of 1 * 512 = 512 bytes

Sector size (logical/physical): 512 bytes / 4096 bytes

I/O size (minimum/optimal): 4096 bytes / 4096 bytes

Disk /dev/mapper/vg0-work: 50 GiB, 53687091200 bytes, 104857600 sectors

Units: sectors of 1 * 512 = 512 bytes

Sector size (logical/physical): 512 bytes / 4096 bytes

I/O size (minimum/optimal): 4096 bytes / 4096 bytes

```

.. I guess if the RAID isn't detected then LVM might not be happy, but why would that stop it from booting from /dev/sda ?  Is it the case that if LVM can't detect an expected RAID it won't do anything?

Thanks again,

slack

----------

## NeddySeagoon

slackline,

That both simplifies and clarifies a few things.

You don dot need raid nor LVM for booting, so the kernel messages about raid and LVM can be ignored ... at least, until your box boots.

CONFIG_DM_RAID is device-mapper raid.

When you use root=UUID= to tell the kernel where the root file system is, the kernel depends on an initrd with the userspace mount command to find the file system. This compels you to use an initrd.  Its not clear if you have an initrd and if you have, if its loading. 

Use the blkid command to find the PARTUUID corresponding to your root UUID.  Tell the kernel to use that.

The syntax is the same root=PARTUUID= ... but the kernel understands PARTUUID all on its own.

----------

## slackline

Hi NeddySeagoon,

Apologies, I should have detailed my disk setup in the first place   :Embarassed:  .

I've given your suggestion a whirl.  I couldn't find any examples of how to specify 'root=PARTUUID' in a custom /etc/grub.d/ file so decided to leave that reading until later and gave it a whirl by editing /boot/grub/grub.cfg directly.  The PARTUUID of the device and partition are as follows...

```

# blkid /dev/sda 

/dev/sda: PTUUID="75ae4ae9" PTTYPE="dos"

# blkid /dev/sda1

/dev/sda1: LABEL="root" UUID="0e07d3aa-9d48-46dd-87ab-b8a351d21fc8" TYPE="ext4" PARTUUID="75ae4ae9-01"

```

...and just to check it is /dev/sda1 that mounts as /

```

# grep sda1 /etc/mtab 

/dev/sda1 / ext4 rw,noatime,data=ordered 0 0

```

As suggested I replaced 'root=UUID=...' with 'root=PARTUUID=...' and because with the former I had to specify the partition I opted for the same with PARTUUID (i.e. 75ae4ae9-01).  Editing the /boot/grub/grub.cfg file directly (old lines commented out for comparison in case I cocked things up) I have ....

```

### BEGIN /etc/grub.d/10_linux ###

menuentry 'Gentoo GNU/Linux' --class gentoo --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-simple-0e07d3aa-9d48-46dd-87ab-b8a351d21fc8' {

   load_video

   insmod gzio

   insmod part_msdos

   insmod ext2

   set root='hd0,msdos3'

   if [ x$feature_platform_search_hint = xy ]; then

     search --no-floppy --fs-uuid --set=root --hint-bios=hd0,msdos3 --hint-efi=hd0,msdos3 --hint-baremetal=ahci0,msdos3  be01baea-9777-4514-8c97-1a471d7cbb8d

   else

     search --no-floppy --fs-uuid --set=root be01baea-9777-4514-8c97-1a471d7cbb8d

   fi

   echo   'Loading Linux 4.3.3 ...'

#   linux   /vmlinuz-4.3.3 root=UUID=0e07d3aa-9d48-46dd-87ab-b8a351d21fc8 ro dolvm domdadm rootfstype=ext4 

   linux   /vmlinuz-4.3.3 root=PARTUUID=75ae4ae9-01 ro dolvm domdadm rootfstype=ext4

   echo   'Loading initial ramdisk ...'

   initrd   /initramfs-4.3.3.img

}

submenu 'Advanced options for Gentoo GNU/Linux' $menuentry_id_option 'gnulinux-advanced-0e07d3aa-9d48-46dd-87ab-b8a351d21fc8' {

   menuentry 'Gentoo GNU/Linux, with Linux 4.3.3' --class gentoo --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-4.3.3-advanced-0e07d3aa-9d48-46dd-87ab-b8a351d21fc8' {

      load_video

      insmod gzio

      insmod part_msdos

      insmod ext2

      set root='hd0,msdos3'

      if [ x$feature_platform_search_hint = xy ]; then

        search --no-floppy --fs-uuid --set=root --hint-bios=hd0,msdos3 --hint-efi=hd0,msdos3 --hint-baremetal=ahci0,msdos3  be01baea-9777-4514-8c97-1a471d7cbb8d

      else

        search --no-floppy --fs-uuid --set=root be01baea-9777-4514-8c97-1a471d7cbb8d

      fi

      echo   'Loading Linux 4.3.3 ...'

#          linux   /vmlinuz-4.3.3 root=UUID=0e07d3aa-9d48-46dd-87ab-b8a351d21fc8 ro dolvm domdadm rootfstype=ext4 

      linux   /vmlinuz-4.3.3 root=PARTUUID=75ae4ae9-01 ro dolvm domdadm rootfstype=ext4 

      echo   'Loading initial ramdisk ...'

      initrd   /initramfs-4.3.3.img

   }

   menuentry 'Gentoo GNU/Linux, with Linux 4.3.3 (recovery mode)' --class gentoo --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-4.3.3-recovery-0e07d3aa-9d48-46dd-87ab-b8a351d21fc8' {

      load_video

      insmod gzio

      insmod part_msdos

      insmod ext2

      set root='hd0,msdos3'

      if [ x$feature_platform_search_hint = xy ]; then

        search --no-floppy --fs-uuid --set=root --hint-bios=hd0,msdos3 --hint-efi=hd0,msdos3 --hint-baremetal=ahci0,msdos3  be01baea-9777-4514-8c97-1a471d7cbb8d

      else

        search --no-floppy --fs-uuid --set=root be01baea-9777-4514-8c97-1a471d7cbb8d

      fi

      echo   'Loading Linux 4.3.3 ...'

#      linux   /vmlinuz-4.3.3 root=UUID=0e07d3aa-9d48-46dd-87ab-b8a351d21fc8 ro single dolvm domdadm rootfstype=ext4

      linux   /vmlinuz-4.3.3 root=PARTUUID=75ae4ae9-01 ro single dolvm domdadm rootfstype=ext4

      echo   'Loading initial ramdisk ...'

      initrd   /initramfs-4.3.3.img

   }

   menuentry 'Gentoo GNU/Linux, with Linux 3.14.57' --class gentoo --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-3.14.57-advanced-0e07d3aa-9d48-46dd-87ab-b8a351d21fc8' {

      load_video

      insmod gzio

      insmod part_msdos

      insmod ext2

      set root='hd0,msdos3'

      if [ x$feature_platform_search_hint = xy ]; then

        search --no-floppy --fs-uuid --set=root --hint-bios=hd0,msdos3 --hint-efi=hd0,msdos3 --hint-baremetal=ahci0,msdos3  be01baea-9777-4514-8c97-1a471d7cbb8d

      else

        search --no-floppy --fs-uuid --set=root be01baea-9777-4514-8c97-1a471d7cbb8d

      fi

      echo   'Loading Linux 3.14.57 ...'

      linux   /vmlinuz-3.14.57 root=UUID=0e07d3aa-9d48-46dd-87ab-b8a351d21fc8 ro dolvm domdadm rootfstype=ext4 

      echo   'Loading initial ramdisk ...'

      initrd   /initramfs-3.14.57.img

   }

   menuentry 'Gentoo GNU/Linux, with Linux 3.14.57 (recovery mode)' --class gentoo --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-3.14.57-recovery-0e07d3aa-9d48-46dd-87ab-b8a351d21fc8' {

      load_video

      insmod gzio

      insmod part_msdos

      insmod ext2

      set root='hd0,msdos3'

      if [ x$feature_platform_search_hint = xy ]; then

        search --no-floppy --fs-uuid --set=root --hint-bios=hd0,msdos3 --hint-efi=hd0,msdos3 --hint-baremetal=ahci0,msdos3  be01baea-9777-4514-8c97-1a471d7cbb8d

      else

        search --no-floppy --fs-uuid --set=root be01baea-9777-4514-8c97-1a471d7cbb8d

      fi

      echo   'Loading Linux 3.14.57 ...'

      linux   /vmlinuz-3.14.57 root=UUID=0e07d3aa-9d48-46dd-87ab-b8a351d21fc8 ro single dolvm domdadm rootfstype=ext4

      echo   'Loading initial ramdisk ...'

      initrd   /initramfs-3.14.57.img

   }

}

### END /etc/grub.d/10_linux ###

```

...and grub2-install ran fine...

```

# grub2-install --boot-directory=/boot /dev/sda

Installing for i386-pc platform.

Installation finished. No error reported.

```

When Grub starts up I have two menu items...

```

Gentoo GNU/Linux

Advanced options for Gentoo GNU/Linux

```

...and the first should boot the 4.3.3 with the modified PARTUUID but just to be sure I went into the 'Advanced options for Gentoo GNU/Linux' submenu and selected manually the 4.3.3 image from there (the code in the config file is the same).

Crossed my fingers and hit Return...

```

   :: Loading from fs:

   :: Loading from net:

   :: Loading from iscsi:

   :: Loading from crypto:

   :: Loading from lvm:

mdadm: No arrays found in config file or automatically

>> Scanning for and activating Volume Groups

   No volume groups found

   No volume groups found

>> Determining root device ...

!! Block device PARTUUID-75ae4ae9-01 is not a valid root device...

!! Could not find the root device in .

!! Please specify another value or:

!! - press Enter for the same

!! - type "shell" for a shell

!! type "q" to skip...

root block device() ::

```

At this point my USB keyboard isn't functioning so I have to reset the machine.

 *NeddySeagoon wrote:*   

> 
> 
> When you use root=UUID= to tell the kernel where the root file system is, the kernel depends on an initrd with the userspace mount command to find the file system. This compels you to use an initrd. Its not clear if you have an initrd and if you have, if its loading. 

 

This confused me slightly as I am using an initramfs but my understanding is that this isn't quite the same as an initrd.  A bit of reading around on the Gentoo Wiki didn't really clarify this as it seems to use the two interchangeably, but I did find and read Linux.com - The Kernel Newbie Corner: "initrd" and "initramfs"--What's Up With That? and whilst that helped confirm that they're not the same I'm mindful that the author has written their understanding of the situation.  The Wikipedia page on initrd (linked from the Gentoo Wiki : initramfs cleared things up in that initrd and initramfs are two different ways of achieving the same thing.

As you can see from /boot/grub/grub.cfg I am using an initramfs for both 3.14.57 and 4.3.3 entries and I'm building these using genkernel as I've done for quite some time using the following, which has always worked for 3.* kernels but not, so far, with 4.* kernels.  My understanding is that the first two flags enable RAID and LVM support respectively, the third busybox and the fourth is the key which should 'Include disk label and uuid support in your ramdisk'

```

genkernel --mdadm --lvm --busybox --disklabel initramfs

```

This leaves me with the following...

```

# ls /boot/ -l

total 17544

drwxr-xr-x 2 root root    4096 Dec 28 14:20 config

drwxr-xr-x 6 root root    4096 Dec 28 18:11 grub

drwxr-xr-x 6 root root    4096 Sep 16  2013 grub2

-rw-r--r-- 1 root root 4510688 Dec 24 08:12 initramfs-3.14.57.img

-rw-r--r-- 1 root root 4057964 Dec 28 14:20 initramfs-4.3.3.img

drwx------ 2 root root   16384 Aug 25  2013 lost+found

-rw-r--r-- 1 root root 4391680 Dec 24 08:09 vmlinuz-3.14.57

-rw-r--r-- 1 root root 4964544 Dec 28 14:17 vmlinuz-4.3.3

```

I rebuilt 4.3.3 with CONFIG_DM_RAID=y just to be sure (hence todays date), but still no go.

----------

## NeddySeagoon

slackline,

```
!! Could not find the root device in . 
```

That line is very important for what it does not show.

Normally, the kernel would insert a list of the block devices it can see before the period.

In this case, you have none.  That means that the kernel cannot see any of your HDD/CDROM.

You have some kernel code missing.

Post your lspci output and put your kernel .config file onto a pastebin site.

wgetpaste is your friend.

----------

## slackline

Kernel config is here

Concise output of lspci is

```

# lspci 

00:00.0 Host bridge: Intel Corporation 82X38/X48 Express DRAM Controller (rev 01)

00:01.0 PCI bridge: Intel Corporation 82X38/X48 Express Host-Primary PCI Express Bridge (rev 01)

00:06.0 PCI bridge: Intel Corporation 82X38/X48 Express Host-Secondary PCI Express Bridge (rev 01)

00:1a.0 USB controller: Intel Corporation 82801I (ICH9 Family) USB UHCI Controller #4 (rev 02)

00:1a.1 USB controller: Intel Corporation 82801I (ICH9 Family) USB UHCI Controller #5 (rev 02)

00:1a.2 USB controller: Intel Corporation 82801I (ICH9 Family) USB UHCI Controller #6 (rev 02)

00:1a.7 USB controller: Intel Corporation 82801I (ICH9 Family) USB2 EHCI Controller #2 (rev 02)

00:1b.0 Audio device: Intel Corporation 82801I (ICH9 Family) HD Audio Controller (rev 02)

00:1c.0 PCI bridge: Intel Corporation 82801I (ICH9 Family) PCI Express Port 1 (rev 02)

00:1c.3 PCI bridge: Intel Corporation 82801I (ICH9 Family) PCI Express Port 4 (rev 02)

00:1c.4 PCI bridge: Intel Corporation 82801I (ICH9 Family) PCI Express Port 5 (rev 02)

00:1c.5 PCI bridge: Intel Corporation 82801I (ICH9 Family) PCI Express Port 6 (rev 02)

00:1d.0 USB controller: Intel Corporation 82801I (ICH9 Family) USB UHCI Controller #1 (rev 02)

00:1d.1 USB controller: Intel Corporation 82801I (ICH9 Family) USB UHCI Controller #2 (rev 02)

00:1d.2 USB controller: Intel Corporation 82801I (ICH9 Family) USB UHCI Controller #3 (rev 02)

00:1d.7 USB controller: Intel Corporation 82801I (ICH9 Family) USB2 EHCI Controller #1 (rev 02)

00:1e.0 PCI bridge: Intel Corporation 82801 PCI Bridge (rev 92)

00:1f.0 ISA bridge: Intel Corporation 82801IR (ICH9R) LPC Interface Controller (rev 02)

00:1f.2 SATA controller: Intel Corporation 82801IR/IO/IH (ICH9R/DO/DH) 6 port SATA Controller [AHCI mode] (rev 02)

00:1f.3 SMBus: Intel Corporation 82801I (ICH9 Family) SMBus Controller (rev 02)

01:00.0 VGA compatible controller: NVIDIA Corporation G96 [GeForce 9500 GT] (rev a1)

04:00.0 SATA controller: JMicron Technology Corp. JMB363 SATA/IDE Controller (rev 02)

04:00.1 IDE interface: JMicron Technology Corp. JMB363 SATA/IDE Controller (rev 02)

05:00.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller (rev 02)

06:00.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller (rev 02)

07:06.0 FireWire (IEEE 1394): Texas Instruments TSB43AB23 IEEE-1394a-2000 Controller (PHY/Link)

```

I really appreciate you looking over this.

In the meantime I'm taking my working .config from 3.14.57 and running 'make oldconfig' on it under 4.3.3 directory.  I tried to not add in anything additional when doing this last time, but may well have made a mistake.

Thanks

slackline

----------

## NeddySeagoon

slackline,

That's a big jump for make oldconfig.

Here's your HDD controllers.

```
00:1f.2 SATA controller: Intel Corporation 82801IR/IO/IH (ICH9R/DO/DH) 6 port SATA Controller [AHCI mode] (rev 02) 

04:00.0 SATA controller: JMicron Technology Corp. JMB363 SATA/IDE Controller (rev 02)

04:00.1 IDE interface: JMicron Technology Corp. JMB363 SATA/IDE Controller (rev 02)
```

```
CONFIG_SCSI=y

CONFIG_BLK_DEV_SD=y

CONFIG_BLK_DEV_SR=y
```

That's all good. The high level SCSI driver for HDD and CDROMs

Setting 

```
CONFIG_SCSI_LOWLEVEL=y
```

off will save compile time.  That's the menu for real SCSI and you don't have any.

```
CONFIG_ATA=m
```

That might be a problem.  That's the menu item that all your disc controllers are under, so they are all modules.

That means you must use an initrd to hold and load the modules you need for booting.

if you have a suitable initrd, its not an issue.   You appear to have an initrd, from your grub.cfg.

```
CONFIG_SATA_AHCI=m
```

 is correct for your Intel chipset.

```
CONFIG_PATA_JMICRON=m
```

is correct for your JMicron chipset, both bits.

From your kernel message, it looks like your initrd is not loading those three modules for some reason.

Setting them as built in will fix that.

----------

## slackline

Thats done the trick thanks NeddySeagoon.

I now have a booting system, keyboard isn't detected so I can't login, but I can work on solving that and more, although in a similar vein I initially thought it might need to compile USB_HID into the kernel rather than as a module but its only available as a module.

Anyway, thanks for your time and patience in helping me with this, very much appreciated.

slackline

----------

## robdd

Hi Neddy - Just wanted to thank you as well. I'm building a low power home server using an APU1 board. It's only got a serial console, and I was having trouble booting Gentoo off USB with a cut-down kernel and serial console support. Your clear explanations, and especially your way of analysing a problem are exemplary! Helped me work out what I was doing wrong, and learnt a few things on the way. So thanks again, and Best Regards,

Rob.

----------

