I was compiling a custom linux kernel for a newly installed machine, and after booting into the new kernel (3.12), the init process fails to find a root device, which I traced to the system getting an unknown partition table error on the device in question (/dev/sda). The generic kernel boots up and mounts the root partition just fine. I cannot seem to find anything that looks relevant in the kernel config, what could it be missing?
unknown partition table - misconfigured kernel
linux;kernel;partition;grub2;ext4
There are a bunch of options mostly named CONFIG_.*_PARTITION, you probably didn't set the one you need. These may only show up if you answer yes to CONFIG_PARTITION_ADVANCED (Advanced partition selection).You're going to want (on a PC) at least:CONFIG_MSDOS_PARTITION=y       # traditional MS-DOS partition tableCONFIG_EFI_PARTITION=y         # EFI GPT partition tableand maybe:LDM_PARTITION=y                # Windows logical (dynamic) disksYou may also want a few more (such as CONFIG_MAC_PARTITION and BSD_DISKLABEL) to read partition tables from other operating systems' disks you may actually run in to.You can see all of the partition table options in your kernel source tree (in block/partitions/Kconfig) or at Linux Cross Reference.