Конфиг allmodconfig позволяет все модули отметить как 'm', т.е. как подгружаемые а не встроенные в ядро.
Но проблема в том что ядро с таким конфигом не загружается.
Я подразумеваю в этой статье что вы уже отметили в конфиге подходящие для вашего компьютера дисковые драйвера sata/ide/scsi как встроенные в ядро 'y' или как 'm' для размещения на initrd. Но ядро всё равно не грузится.
--------- Загрузочное сообщение ядра: Cannot open root device '(null)'
Если вы указали в grub параметр root=/dev/sda1 (sda1 указан для примера), а при при загрузке появляется сообщение 'Cannot open root device '(null)' or unknown-block(0,0)' (обратите внимание что вместо sda1 появилось null). Это значит что нужно измненить конфиг на 'CONFIG_CMDLINE_BOOL=n'.
Объяснение. CONFIG_CMDLINE_BOOL указывает что нужно использовать строку аргументов встроенное в ядро при сборке ядра. Что приводит к потере аргументов указанных в загрузчике grub. Т.е. параметра root.
---------- Загрузочное сообщение ядра: Failed to execute /init
При использовании initrd при загрузке может появится сообщение 'Failed to execute /init' и нужно измненить конфиг на 'CONFIG_BINFMT_SCRIPT=y'.
Объяснение. CONFIG_BINFMT_SCRIPT отвечает за поддержку возможности запускать скрипты начинающиеся к примеру на '#!/bin/sh'.