Como eu configuro o syslinux para inicializar imediatamente


10

Estou ajustando um sistema ao vivo Debian (construído com o live-build) e quero que ele seja inicializado diretamente no sistema a partir do syslinux - sem menu, sem tempo limite. De acordo com a documentação do syslinux , um valor de tempo limite 0 significa que o tempo limite está desativado, ou seja. ele não inicializa nada sem a intervenção do usuário, que é o oposto do que eu quero.

Pode ser bom poder manter uma tecla pressionada para aquelas raras ocasiões em que preciso ajustar a linha do kernel, mas isso não é essencial. Realmente eu só quero uma inicialização imediata. Como faço para obtê-lo?

A configuração atual do syslinux é esta:

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 : vazio

Respostas:


5

Remova a linha default vesamenu.c32(ou comente) e substitua-a por default live-.

Nos documentos do SYSLINUX (ênfase minha):

Seleciona um módulo específico da interface do usuário (geralmente menu.c32 ou vesamenu.c32). A interface da linha de comandos trata isso como uma diretiva que substitui as diretivas DEFAULT e PROMPT.


Então, isso é "viver-" (viver menos)?
MikeW

Certamente, sem o "-", a inicialização não é completa. Onde esse recurso "ao vivo" está documentado?
MikeW

O live-é simplesmente o nome de uma das configurações de inicialização (ver live.cfgo conteúdo do arquivo no meu texto da pergunta). Não sei qual é a razão desse hífen extra e presumo que, se você renomear essa configuração, poderá chamá-la como quiser. A menos que o live-bootprocesso dependa de ser chamado exatamente isso no menu syslinux, o que me surpreenderia.
detly

Obrigado, @detly - Eu me perguntei se era um nome .cfg, mas não consigo ver um live.cfg no diretório iso isolinux do Ubuntu. Certamente, como está no vesamenu, ele é inicializado no menu "Experimentar / Instalar", com apenas "ativo" fica lá com pontos em movimento, como se não pudesse encontrar um arquivo para executar. Irá investigar mais: obrigado. Talvez todo o processo esteja documentado em algum lugar !!
21418 MikeW

Usarei seus exemplos para criar meu próprio arquivo de inicialização imediata, @detly.
MikeW

2

Você pode primeiro tentar definir NOESCAPE como 1.

Se estiver [...] definido como 1, ignore as teclas Shift / Alt / Caps Lock / Scroll Lock. Use isso (junto com PROMPT 0) para forçar a seleção de inicialização padrão.

Se não for suficiente, talvez você precise suportar um tempo limite definido como 1. É

em unidades de 1/10 s

Portanto, ele deve inicializar após 100ms.


noescapenão teve nenhum efeito, então eu defini timeoutcomo 1. #
2122 de detly

Talvez esse bug do syslinux seja relevante.
detly
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.