Как настроить syslinux для немедленной загрузки

10

Я настраиваю живую систему Debian (созданную с помощью live-build) и хочу, чтобы она загружалась прямо в систему из syslinux - без меню и без таймаута. Согласно документации syslinux , значение тайм-аута 0 означает, что тайм-аут отключен, т.е. он не загрузится вообще без вмешательства пользователя, что противоположно тому, что я хочу.

Это может быть хорошо , чтобы быть в состоянии удерживать клавишу для тех редких случаев , когда я сделать необходимость подправить линию ядра, но это не важно. На самом деле я просто хочу немедленной загрузки. Как мне это получить?

Текущая конфигурация syslinux такова:

syslinux.cfg :

include menu.cfg
default vesamenu.c32
prompt 0
timeout 0

menu.cfg :

menu hshift 0
menu width 82

menu title Boot menu
include stdmenu.cfg
include live.cfg
include install.cfg
menu end

stdmenu.cfg :

menu background splash.png
menu color title    * #FFFFFFFF *
menu color border   * #00000000 #00000000 none
menu color sel      * #ffffffff #76a1d0ff *
menu color hotsel   1;7;37;40 #ffffffff #76a1d0ff *
menu color tabmsg   * #ffffffff #00000000 *
menu color help     37;40 #ffdddd00 #00000000 none
menu vshift 17
menu rows 10
menu helpmsgrow 15
# The command line must be at least one line from the bottom.
menu cmdlinerow 16
menu timeoutrow 16
menu tabmsgrow 18
menu tabmsg Press ENTER to boot or TAB to edit a menu entry

live.cfg :

label live-
    menu label ^Live ()
    menu default
    kernel /live/vmlinuz
    append initrd=/live/initrd.img boot=live config quiet ipv6.disable=1 console=tty0 console=ttyS0,115200n8

install.cfg : пусто

detly
источник

Ответы:

5

Удалите строку default vesamenu.c32(или закомментируйте ее) и замените ее на default live-.

Из документов SYSLINUX (выделено мое):

Выбирает конкретный модуль интерфейса пользователя (обычно menu.c32 или vesamenu.c32). Интерфейс командной строки обрабатывает это как директиву, которая переопределяет директивы DEFAULT и PROMPT.

detly
источник
Так что же это «жить» (жить минус)?
MikeW
Конечно, без "-" загрузка завершается не полностью. Где задокументирована эта «живая» функция?
MikeW
Это live-просто имя одной из конфигураций загрузки (см. live.cfgСодержимое файла в тексте моего вопроса). Я не знаю, в чем причина этого лишнего дефиса, и я полагаю, что если вы переименуете этот конфиг, вы можете назвать его как хотите. Если live-bootпроцесс не полагается на то, что он вызывается именно так в меню syslinux, что меня удивит.
detly
Спасибо, @detly - мне было интересно, было ли это имя .cfg, но я не вижу live.cfg в каталоге Ubuntu iso isolinux. Конечно, оставленный как есть с vesamenu, он загружается в меню «Try / Install», просто «live», он сидит там с движущимися точками, как будто он не может найти файл для запуска. Будем расследовать дальше: спасибо. Может быть, весь процесс где-то задокументирован !!
MikeW
Я буду использовать ваши примеры, чтобы создать собственный файл немедленной загрузки, @detly.
MikeW
2

Сначала вы можете попробовать установить NOESCAPE на 1.

Если [...] установлено в 1, игнорировать экранирование Shift / Alt / Caps Lock / Scroll Lock. Используйте это (вместе с PROMPT 0) для принудительного выбора загрузки по умолчанию.

Если этого не достаточно, может быть , вам придется нести таймаут набор 1. Это

в единицах 1/10 с

Таким образом, он должен загрузиться через 100 мс.

Корен
источник
noescapeне имел никакого эффекта, поэтому я установил timeoutна 1.
ловко
Возможно эта ошибка syslinux актуальна.
детально