Jak skonfigurować syslinux do natychmiastowego rozruchu


10

Poprawiam system Debian na żywo (zbudowany z live-build) i chcę, aby uruchomił się bezpośrednio z systemu z syslinux - bez menu, bez limitu czasu. Zgodnie z dokumentacją syslinux wartość limitu czasu równa 0 oznacza, że ​​limit czasu jest wyłączony, tj. nie uruchomi się wcale bez interwencji użytkownika, co jest przeciwieństwem tego, czego chcę.

Przyjemnie byłoby móc przytrzymać klawisz w tych rzadkich przypadkach, gdy muszę ulepszyć linię jądra, ale to nie jest konieczne. Naprawdę chcę tylko natychmiastowego rozruchu. Jak mogę to dostać?

Obecna konfiguracja syslinux jest następująca:

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

Odpowiedzi:


5

Usuń linię default vesamenu.c32(lub skomentuj) i zastąp ją default live-.

Z dokumentów SYSLINUX (moje podkreślenie):

Wybiera określony moduł interfejsu użytkownika (zazwyczaj menu.c32 lub vesamenu.c32). Interfejs wiersza poleceń traktuje to jako dyrektywę, która zastępuje dyrektywy DEFAULT i PROMPT.


Czy to jest „na żywo” (na żywo minus)?
MikeW

Z pewnością bez „-” rozruch nie kończy się w pełni. Gdzie jest udokumentowana ta funkcja „na żywo”?
MikeW,

Jest live-to po prostu nazwa jednej z konfiguracji rozruchowych (zobacz live.cfgzawartość pliku w tekście mojego pytania). Nie wiem, jaki jest powód tego dodatkowego łącznika, i przypuszczam, że jeśli zmienisz nazwę tej konfiguracji, możesz nazwać ją, jak chcesz. Chyba że live-bootproces polega na wywołaniu go dokładnie tak, jak w menu syslinux, co by mnie zaskoczyło.
detly

Dzięki, @detly - zastanawiałem się, czy to była nazwa .cfg, ale nie widzę live.cfg w katalogu iso izolinux Ubuntu. Z pewnością pozostawiony bez zmian z vesamenu, uruchamia się do menu „Try / Install”, po prostu „na żywo” siedzi tam z ruchomymi kropkami, jakby nie mógł znaleźć pliku do uruchomienia. Zbadam dalej: dzięki. Może gdzieś cały proces jest gdzieś udokumentowany !!
MikeW

Wykorzystam twoje przykłady, aby stworzyć własny plik natychmiastowego rozruchu, @detly.
MikeW

2

Możesz najpierw spróbować ustawić NOESCAPE na 1.

Jeśli [...] jest ustawiony na 1, zignoruj ​​ucieczkę Shift / Alt / Caps Lock / Scroll Lock. Użyj tego (razem z PROMPT 0), aby wymusić domyślny wybór rozruchu.

Jeśli to nie wystarczy, być może będziesz musiał znieść limit czasu ustawiony na 1. Jest

w jednostkach 1/10 s

Więc powinien uruchomić się po 100 ms.


noescapenie przyniosło żadnego efektu, więc ustawiłem timeoutna 1.
detly

Być może ten błąd syslinux jest istotny.
detly
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.