Сейчас вызывается syslinux <device>, а должно быть syslinux -d /syslinux <device> т.к. все добро (в том числе и syslinux.cfg) лежит не в корне.
На самом деле в случае syslinux указание параметра -d <dir> не влияет на работоспособность - этот параметр определяет только размещение файла ldlinux.sys (который при загрузке ищется не по имени, а по номерам секторов относительно начала раздела - номер первого сектора файла прописывается в загрузочный сектор, номера последующих секторов хранятся в первом секторе файла). Файл конфигурации в syslinux ищется независимо от расположения ldlinux.sys в следующих местах: /boot/syslinux/syslinux.cfg /syslinux/syslinux.cfg /syslinux.cfg А вот поведение extlinux в этом месте существенно отличается от syslinux - при установке загрузчика в загрузочном секторе сохраняется номер inode каталога, который был указан в команде установки, и затем файл extlinux.conf читается именно из этого каталога.
У меня mkbootflash вываливался с разной руганью и не создавал загрузочную флешку, пока на -d не переправил
(В ответ на комментарий №2) > У меня mkbootflash вываливался с разной руганью и не создавал загрузочную > флешку, пока на -d не переправил Не воспроизводится и опции '-d' у syslinux в /usr/sbin/mkbootflash я не вижу. На сизифе: $ rpm -q mkbootflash syslinux mkbootflash-0.18-alt1 syslinux-3.82-alt6 На p5: $ rpm -q mkbootflash syslinux mkbootflash-0.17-alt1 syslinux-3.63-alt4