3

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?

2
  • What type of partition table does it have? Jan 4, 2014 at 22:26
  • It's a good old fashioned MBR.
    – SaltyNuts
    Jan 4, 2014 at 22:28

1 Answer 1

6

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 table
CONFIG_EFI_PARTITION=y         # EFI GPT partition table

and maybe:

LDM_PARTITION=y                # Windows logical (dynamic) disks

You 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.

0

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .