Comment configurer syslinux pour démarrer immédiatement

10

Je modifie un système live Debian (construit avec live-build), et je veux qu'il démarre directement dans le système à partir de syslinux - pas de menu, pas de timeout. Selon la documentation de syslinux , une valeur de timeout de 0 signifie que le timeout est désactivé, c'est-à-dire. il ne démarrera pas du tout sans intervention de l'utilisateur, ce qui est le contraire de ce que je veux.

Il pourrait être agréable d'être en mesure de maintenir une touche enfoncée pour les rares occasions où je fais besoin de modifier la ligne du noyau, mais ce n'est pas essentiel. Vraiment, je veux juste un démarrage immédiat. Comment l'obtenir?

La configuration actuelle de syslinux est la suivante:

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

detly
la source

Réponses:

5

Supprimez la ligne default vesamenu.c32(ou commentez-la) et remplacez-la par default live-.

De la documentation SYSLINUX (c'est moi qui souligne):

Sélectionne un module d'interface utilisateur spécifique (généralement menu.c32 ou vesamenu.c32). L'interface de ligne de commande traite cela comme une directive qui remplace les directives DEFAULT et PROMPT.

detly
la source
Alors, c'est "live-" (live moins)?
MikeW
Sans le "-", le démarrage ne se termine pas complètement. Où cette fonctionnalité "en direct" est-elle documentée?
MikeW
C'est live-simplement le nom de l'une des configurations de démarrage (voir le live.cfgcontenu du fichier dans le texte de ma question). Je ne sais pas quelle est la raison de ce trait d'union supplémentaire, et je suppose que si vous renommez cette configuration, vous pouvez l'appeler comme vous le souhaitez. À moins que le live-bootprocessus ne repose sur son nom exact dans le menu syslinux, ce qui me surprendrait.
detly
Merci, @detly - Je me suis demandé si c'était un nom .cfg, mais je ne peux pas voir un live.cfg dans le répertoire iso isolinux d'Ubuntu. Certes, laissé tel quel avec le vesamenu, il démarre dans le menu "Try / Install", avec juste "live" il se trouve là avec des points mobiles, comme s'il ne pouvait pas trouver un fichier à exécuter. Enquêtera davantage: merci. Peut-être que tout le processus est documenté quelque part !!
MikeW
J'utiliserai vos exemples pour créer mon propre fichier de démarrage immédiat, @detly.
MikeW
2

Vous pouvez d'abord essayer de régler NOESCAPE sur 1.

Si [...] est réglé sur 1, ignorez les échappements Shift / Alt / Caps Lock / Scroll Lock. Utilisez ceci (avec PROMPT 0) pour forcer la sélection de démarrage par défaut.

Si cela ne suffit pas, vous devrez peut-être supporter un délai défini sur 1. C'est

en unités de 1/10 s

Il devrait donc démarrer après 100 ms.

Coren
la source
noescapen'a eu aucun effet, j'ai donc mis timeoutà 1.
detly
Peut - être que ce bogue syslinux est pertinent.
detly