1<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" 2 "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd"> 3<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en"> 4<head> 5<meta http-equiv="Content-Type" content="application/xhtml+xml; charset=UTF-8" /> 6<meta name="generator" content="AsciiDoc 8.6.8" /> 7<title>syslinux-cli(1)</title> 8<style type="text/css"> 9/* Shared CSS for AsciiDoc xhtml11 and html5 backends */ 10 11/* Default font. */ 12body { 13 font-family: Georgia,serif; 14} 15 16/* Title font. */ 17h1, h2, h3, h4, h5, h6, 18div.title, caption.title, 19thead, p.table.header, 20#toctitle, 21#author, #revnumber, #revdate, #revremark, 22#footer { 23 font-family: Arial,Helvetica,sans-serif; 24} 25 26body { 27 margin: 1em 5% 1em 5%; 28} 29 30a { 31 color: blue; 32 text-decoration: underline; 33} 34a:visited { 35 color: fuchsia; 36} 37 38em { 39 font-style: italic; 40 color: navy; 41} 42 43strong { 44 font-weight: bold; 45 color: #083194; 46} 47 48h1, h2, h3, h4, h5, h6 { 49 color: #527bbd; 50 margin-top: 1.2em; 51 margin-bottom: 0.5em; 52 line-height: 1.3; 53} 54 55h1, h2, h3 { 56 border-bottom: 2px solid silver; 57} 58h2 { 59 padding-top: 0.5em; 60} 61h3 { 62 float: left; 63} 64h3 + * { 65 clear: left; 66} 67h5 { 68 font-size: 1.0em; 69} 70 71div.sectionbody { 72 margin-left: 0; 73} 74 75hr { 76 border: 1px solid silver; 77} 78 79p { 80 margin-top: 0.5em; 81 margin-bottom: 0.5em; 82} 83 84ul, ol, li > p { 85 margin-top: 0; 86} 87ul > li { color: #aaa; } 88ul > li > * { color: black; } 89 90.monospaced, code, pre { 91 font-family: "Courier New", Courier, monospace; 92 font-size: inherit; 93 color: navy; 94 padding: 0; 95 margin: 0; 96} 97 98 99#author { 100 color: #527bbd; 101 font-weight: bold; 102 font-size: 1.1em; 103} 104#email { 105} 106#revnumber, #revdate, #revremark { 107} 108 109#footer { 110 font-size: small; 111 border-top: 2px solid silver; 112 padding-top: 0.5em; 113 margin-top: 4.0em; 114} 115#footer-text { 116 float: left; 117 padding-bottom: 0.5em; 118} 119#footer-badges { 120 float: right; 121 padding-bottom: 0.5em; 122} 123 124#preamble { 125 margin-top: 1.5em; 126 margin-bottom: 1.5em; 127} 128div.imageblock, div.exampleblock, div.verseblock, 129div.quoteblock, div.literalblock, div.listingblock, div.sidebarblock, 130div.admonitionblock { 131 margin-top: 1.0em; 132 margin-bottom: 1.5em; 133} 134div.admonitionblock { 135 margin-top: 2.0em; 136 margin-bottom: 2.0em; 137 margin-right: 10%; 138 color: #606060; 139} 140 141div.content { /* Block element content. */ 142 padding: 0; 143} 144 145/* Block element titles. */ 146div.title, caption.title { 147 color: #527bbd; 148 font-weight: bold; 149 text-align: left; 150 margin-top: 1.0em; 151 margin-bottom: 0.5em; 152} 153div.title + * { 154 margin-top: 0; 155} 156 157td div.title:first-child { 158 margin-top: 0.0em; 159} 160div.content div.title:first-child { 161 margin-top: 0.0em; 162} 163div.content + div.title { 164 margin-top: 0.0em; 165} 166 167div.sidebarblock > div.content { 168 background: #ffffee; 169 border: 1px solid #dddddd; 170 border-left: 4px solid #f0f0f0; 171 padding: 0.5em; 172} 173 174div.listingblock > div.content { 175 border: 1px solid #dddddd; 176 border-left: 5px solid #f0f0f0; 177 background: #f8f8f8; 178 padding: 0.5em; 179} 180 181div.quoteblock, div.verseblock { 182 padding-left: 1.0em; 183 margin-left: 1.0em; 184 margin-right: 10%; 185 border-left: 5px solid #f0f0f0; 186 color: #888; 187} 188 189div.quoteblock > div.attribution { 190 padding-top: 0.5em; 191 text-align: right; 192} 193 194div.verseblock > pre.content { 195 font-family: inherit; 196 font-size: inherit; 197} 198div.verseblock > div.attribution { 199 padding-top: 0.75em; 200 text-align: left; 201} 202/* DEPRECATED: Pre version 8.2.7 verse style literal block. */ 203div.verseblock + div.attribution { 204 text-align: left; 205} 206 207div.admonitionblock .icon { 208 vertical-align: top; 209 font-size: 1.1em; 210 font-weight: bold; 211 text-decoration: underline; 212 color: #527bbd; 213 padding-right: 0.5em; 214} 215div.admonitionblock td.content { 216 padding-left: 0.5em; 217 border-left: 3px solid #dddddd; 218} 219 220div.exampleblock > div.content { 221 border-left: 3px solid #dddddd; 222 padding-left: 0.5em; 223} 224 225div.imageblock div.content { padding-left: 0; } 226span.image img { border-style: none; } 227a.image:visited { color: white; } 228 229dl { 230 margin-top: 0.8em; 231 margin-bottom: 0.8em; 232} 233dt { 234 margin-top: 0.5em; 235 margin-bottom: 0; 236 font-style: normal; 237 color: navy; 238} 239dd > *:first-child { 240 margin-top: 0.1em; 241} 242 243ul, ol { 244 list-style-position: outside; 245} 246ol.arabic { 247 list-style-type: decimal; 248} 249ol.loweralpha { 250 list-style-type: lower-alpha; 251} 252ol.upperalpha { 253 list-style-type: upper-alpha; 254} 255ol.lowerroman { 256 list-style-type: lower-roman; 257} 258ol.upperroman { 259 list-style-type: upper-roman; 260} 261 262div.compact ul, div.compact ol, 263div.compact p, div.compact p, 264div.compact div, div.compact div { 265 margin-top: 0.1em; 266 margin-bottom: 0.1em; 267} 268 269tfoot { 270 font-weight: bold; 271} 272td > div.verse { 273 white-space: pre; 274} 275 276div.hdlist { 277 margin-top: 0.8em; 278 margin-bottom: 0.8em; 279} 280div.hdlist tr { 281 padding-bottom: 15px; 282} 283dt.hdlist1.strong, td.hdlist1.strong { 284 font-weight: bold; 285} 286td.hdlist1 { 287 vertical-align: top; 288 font-style: normal; 289 padding-right: 0.8em; 290 color: navy; 291} 292td.hdlist2 { 293 vertical-align: top; 294} 295div.hdlist.compact tr { 296 margin: 0; 297 padding-bottom: 0; 298} 299 300.comment { 301 background: yellow; 302} 303 304.footnote, .footnoteref { 305 font-size: 0.8em; 306} 307 308span.footnote, span.footnoteref { 309 vertical-align: super; 310} 311 312#footnotes { 313 margin: 20px 0 20px 0; 314 padding: 7px 0 0 0; 315} 316 317#footnotes div.footnote { 318 margin: 0 0 5px 0; 319} 320 321#footnotes hr { 322 border: none; 323 border-top: 1px solid silver; 324 height: 1px; 325 text-align: left; 326 margin-left: 0; 327 width: 20%; 328 min-width: 100px; 329} 330 331div.colist td { 332 padding-right: 0.5em; 333 padding-bottom: 0.3em; 334 vertical-align: top; 335} 336div.colist td img { 337 margin-top: 0.3em; 338} 339 340@media print { 341 #footer-badges { display: none; } 342} 343 344#toc { 345 margin-bottom: 2.5em; 346} 347 348#toctitle { 349 color: #527bbd; 350 font-size: 1.1em; 351 font-weight: bold; 352 margin-top: 1.0em; 353 margin-bottom: 0.1em; 354} 355 356div.toclevel0, div.toclevel1, div.toclevel2, div.toclevel3, div.toclevel4 { 357 margin-top: 0; 358 margin-bottom: 0; 359} 360div.toclevel2 { 361 margin-left: 2em; 362 font-size: 0.9em; 363} 364div.toclevel3 { 365 margin-left: 4em; 366 font-size: 0.9em; 367} 368div.toclevel4 { 369 margin-left: 6em; 370 font-size: 0.9em; 371} 372 373span.aqua { color: aqua; } 374span.black { color: black; } 375span.blue { color: blue; } 376span.fuchsia { color: fuchsia; } 377span.gray { color: gray; } 378span.green { color: green; } 379span.lime { color: lime; } 380span.maroon { color: maroon; } 381span.navy { color: navy; } 382span.olive { color: olive; } 383span.purple { color: purple; } 384span.red { color: red; } 385span.silver { color: silver; } 386span.teal { color: teal; } 387span.white { color: white; } 388span.yellow { color: yellow; } 389 390span.aqua-background { background: aqua; } 391span.black-background { background: black; } 392span.blue-background { background: blue; } 393span.fuchsia-background { background: fuchsia; } 394span.gray-background { background: gray; } 395span.green-background { background: green; } 396span.lime-background { background: lime; } 397span.maroon-background { background: maroon; } 398span.navy-background { background: navy; } 399span.olive-background { background: olive; } 400span.purple-background { background: purple; } 401span.red-background { background: red; } 402span.silver-background { background: silver; } 403span.teal-background { background: teal; } 404span.white-background { background: white; } 405span.yellow-background { background: yellow; } 406 407span.big { font-size: 2em; } 408span.small { font-size: 0.6em; } 409 410span.underline { text-decoration: underline; } 411span.overline { text-decoration: overline; } 412span.line-through { text-decoration: line-through; } 413 414div.unbreakable { page-break-inside: avoid; } 415 416 417/* 418 * xhtml11 specific 419 * 420 * */ 421 422div.tableblock { 423 margin-top: 1.0em; 424 margin-bottom: 1.5em; 425} 426div.tableblock > table { 427 border: 3px solid #527bbd; 428} 429thead, p.table.header { 430 font-weight: bold; 431 color: #527bbd; 432} 433p.table { 434 margin-top: 0; 435} 436/* Because the table frame attribute is overriden by CSS in most browsers. */ 437div.tableblock > table[frame="void"] { 438 border-style: none; 439} 440div.tableblock > table[frame="hsides"] { 441 border-left-style: none; 442 border-right-style: none; 443} 444div.tableblock > table[frame="vsides"] { 445 border-top-style: none; 446 border-bottom-style: none; 447} 448 449 450/* 451 * html5 specific 452 * 453 * */ 454 455table.tableblock { 456 margin-top: 1.0em; 457 margin-bottom: 1.5em; 458} 459thead, p.tableblock.header { 460 font-weight: bold; 461 color: #527bbd; 462} 463p.tableblock { 464 margin-top: 0; 465} 466table.tableblock { 467 border-width: 3px; 468 border-spacing: 0px; 469 border-style: solid; 470 border-color: #527bbd; 471 border-collapse: collapse; 472} 473th.tableblock, td.tableblock { 474 border-width: 1px; 475 padding: 4px; 476 border-style: solid; 477 border-color: #527bbd; 478} 479 480table.tableblock.frame-topbot { 481 border-left-style: hidden; 482 border-right-style: hidden; 483} 484table.tableblock.frame-sides { 485 border-top-style: hidden; 486 border-bottom-style: hidden; 487} 488table.tableblock.frame-none { 489 border-style: hidden; 490} 491 492th.tableblock.halign-left, td.tableblock.halign-left { 493 text-align: left; 494} 495th.tableblock.halign-center, td.tableblock.halign-center { 496 text-align: center; 497} 498th.tableblock.halign-right, td.tableblock.halign-right { 499 text-align: right; 500} 501 502th.tableblock.valign-top, td.tableblock.valign-top { 503 vertical-align: top; 504} 505th.tableblock.valign-middle, td.tableblock.valign-middle { 506 vertical-align: middle; 507} 508th.tableblock.valign-bottom, td.tableblock.valign-bottom { 509 vertical-align: bottom; 510} 511 512 513/* 514 * manpage specific 515 * 516 * */ 517 518body.manpage h1 { 519 padding-top: 0.5em; 520 padding-bottom: 0.5em; 521 border-top: 2px solid silver; 522 border-bottom: 2px solid silver; 523} 524body.manpage h2 { 525 border-style: none; 526} 527body.manpage div.sectionbody { 528 margin-left: 3em; 529} 530 531@media print { 532 body.manpage div#toc { display: none; } 533} 534 535 536</style> 537<script type="text/javascript"> 538/*<![CDATA[*/ 539var asciidoc = { // Namespace. 540 541///////////////////////////////////////////////////////////////////// 542// Table Of Contents generator 543///////////////////////////////////////////////////////////////////// 544 545/* Author: Mihai Bazon, September 2002 546 * http://students.infoiasi.ro/~mishoo 547 * 548 * Table Of Content generator 549 * Version: 0.4 550 * 551 * Feel free to use this script under the terms of the GNU General Public 552 * License, as long as you do not remove or alter this notice. 553 */ 554 555 /* modified by Troy D. Hanson, September 2006. License: GPL */ 556 /* modified by Stuart Rackham, 2006, 2009. License: GPL */ 557 558// toclevels = 1..4. 559toc: function (toclevels) { 560 561 function getText(el) { 562 var text = ""; 563 for (var i = el.firstChild; i != null; i = i.nextSibling) { 564 if (i.nodeType == 3 /* Node.TEXT_NODE */) // IE doesn't speak constants. 565 text += i.data; 566 else if (i.firstChild != null) 567 text += getText(i); 568 } 569 return text; 570 } 571 572 function TocEntry(el, text, toclevel) { 573 this.element = el; 574 this.text = text; 575 this.toclevel = toclevel; 576 } 577 578 function tocEntries(el, toclevels) { 579 var result = new Array; 580 var re = new RegExp('[hH]([1-'+(toclevels+1)+'])'); 581 // Function that scans the DOM tree for header elements (the DOM2 582 // nodeIterator API would be a better technique but not supported by all 583 // browsers). 584 var iterate = function (el) { 585 for (var i = el.firstChild; i != null; i = i.nextSibling) { 586 if (i.nodeType == 1 /* Node.ELEMENT_NODE */) { 587 var mo = re.exec(i.tagName); 588 if (mo && (i.getAttribute("class") || i.getAttribute("className")) != "float") { 589 result[result.length] = new TocEntry(i, getText(i), mo[1]-1); 590 } 591 iterate(i); 592 } 593 } 594 } 595 iterate(el); 596 return result; 597 } 598 599 var toc = document.getElementById("toc"); 600 if (!toc) { 601 return; 602 } 603 604 // Delete existing TOC entries in case we're reloading the TOC. 605 var tocEntriesToRemove = []; 606 var i; 607 for (i = 0; i < toc.childNodes.length; i++) { 608 var entry = toc.childNodes[i]; 609 if (entry.nodeName.toLowerCase() == 'div' 610 && entry.getAttribute("class") 611 && entry.getAttribute("class").match(/^toclevel/)) 612 tocEntriesToRemove.push(entry); 613 } 614 for (i = 0; i < tocEntriesToRemove.length; i++) { 615 toc.removeChild(tocEntriesToRemove[i]); 616 } 617 618 // Rebuild TOC entries. 619 var entries = tocEntries(document.getElementById("content"), toclevels); 620 for (var i = 0; i < entries.length; ++i) { 621 var entry = entries[i]; 622 if (entry.element.id == "") 623 entry.element.id = "_toc_" + i; 624 var a = document.createElement("a"); 625 a.href = "#" + entry.element.id; 626 a.appendChild(document.createTextNode(entry.text)); 627 var div = document.createElement("div"); 628 div.appendChild(a); 629 div.className = "toclevel" + entry.toclevel; 630 toc.appendChild(div); 631 } 632 if (entries.length == 0) 633 toc.parentNode.removeChild(toc); 634}, 635 636 637///////////////////////////////////////////////////////////////////// 638// Footnotes generator 639///////////////////////////////////////////////////////////////////// 640 641/* Based on footnote generation code from: 642 * http://www.brandspankingnew.net/archive/2005/07/format_footnote.html 643 */ 644 645footnotes: function () { 646 // Delete existing footnote entries in case we're reloading the footnodes. 647 var i; 648 var noteholder = document.getElementById("footnotes"); 649 if (!noteholder) { 650 return; 651 } 652 var entriesToRemove = []; 653 for (i = 0; i < noteholder.childNodes.length; i++) { 654 var entry = noteholder.childNodes[i]; 655 if (entry.nodeName.toLowerCase() == 'div' && entry.getAttribute("class") == "footnote") 656 entriesToRemove.push(entry); 657 } 658 for (i = 0; i < entriesToRemove.length; i++) { 659 noteholder.removeChild(entriesToRemove[i]); 660 } 661 662 // Rebuild footnote entries. 663 var cont = document.getElementById("content"); 664 var spans = cont.getElementsByTagName("span"); 665 var refs = {}; 666 var n = 0; 667 for (i=0; i<spans.length; i++) { 668 if (spans[i].className == "footnote") { 669 n++; 670 var note = spans[i].getAttribute("data-note"); 671 if (!note) { 672 // Use [\s\S] in place of . so multi-line matches work. 673 // Because JavaScript has no s (dotall) regex flag. 674 note = spans[i].innerHTML.match(/\s*\[([\s\S]*)]\s*/)[1]; 675 spans[i].innerHTML = 676 "[<a id='_footnoteref_" + n + "' href='#_footnote_" + n + 677 "' title='View footnote' class='footnote'>" + n + "</a>]"; 678 spans[i].setAttribute("data-note", note); 679 } 680 noteholder.innerHTML += 681 "<div class='footnote' id='_footnote_" + n + "'>" + 682 "<a href='#_footnoteref_" + n + "' title='Return to text'>" + 683 n + "</a>. " + note + "</div>"; 684 var id =spans[i].getAttribute("id"); 685 if (id != null) refs["#"+id] = n; 686 } 687 } 688 if (n == 0) 689 noteholder.parentNode.removeChild(noteholder); 690 else { 691 // Process footnoterefs. 692 for (i=0; i<spans.length; i++) { 693 if (spans[i].className == "footnoteref") { 694 var href = spans[i].getElementsByTagName("a")[0].getAttribute("href"); 695 href = href.match(/#.*/)[0]; // Because IE return full URL. 696 n = refs[href]; 697 spans[i].innerHTML = 698 "[<a href='#_footnote_" + n + 699 "' title='View footnote' class='footnote'>" + n + "</a>]"; 700 } 701 } 702 } 703}, 704 705install: function(toclevels) { 706 var timerId; 707 708 function reinstall() { 709 asciidoc.footnotes(); 710 if (toclevels) { 711 asciidoc.toc(toclevels); 712 } 713 } 714 715 function reinstallAndRemoveTimer() { 716 clearInterval(timerId); 717 reinstall(); 718 } 719 720 timerId = setInterval(reinstall, 500); 721 if (document.addEventListener) 722 document.addEventListener("DOMContentLoaded", reinstallAndRemoveTimer, false); 723 else 724 window.onload = reinstallAndRemoveTimer; 725} 726 727} 728asciidoc.install(); 729/*]]>*/ 730</script> 731</head> 732<body class="manpage"> 733<div id="header"> 734<h1> 735syslinux-cli(1) Manual Page 736</h1> 737<h2>NAME</h2> 738<div class="sectionbody"> 739<p>syslinux-cli - 740 *Syslinux* boot prompt/command line interface 741</p> 742</div> 743</div> 744<div id="content"> 745<div class="sect1"> 746<h2 id="_description">DESCRIPTION</h2> 747<div class="sectionbody"> 748<div class="paragraph"><p><strong>Syslinux</strong>'s boot prompt provides a very simplistic command line 749interface for loading modules and booting kernels.</p></div> 750</div> 751</div> 752<div class="sect1"> 753<h2 id="_boot_prompt">BOOT PROMPT</h2> 754<div class="sectionbody"> 755<div class="sect2"> 756<h3 id="_command_line_keystrokes">COMMAND LINE KEYSTROKES</h3> 757<div class="paragraph"><p>The command line prompt supports the following keystrokes:</p></div> 758<div class="literalblock"> 759<div class="content"> 760<pre><code><Enter> boot specified command line 761<BackSpace> erase one character 762<Ctrl-U> erase the whole line 763<Ctrl-V> display the current Syslinux version 764<Ctrl-W> erase one word 765<Ctrl-X> force text mode 766<Tab> list matching labels 767<F1>..<F12> help screens (if configured) 768<Ctrl-F><digit> equivalent to F1..F10 769<Ctrl-C> interrupt boot in progress 770<Esc> interrupt boot in progress 771<Ctrl-N> display network information (PXELINUX only; 3.50-4.06)</code></pre> 772</div></div> 773</div> 774<div class="sect2"> 775<h3 id="_working_directory">WORKING DIRECTORY</h3> 776<div class="paragraph"><p>At start, the initial working directory for <strong>SYSLINUX</strong>/<strong>ISOLINUX</strong> will 777be the directory containing the initial configuration file. If no 778configuration file is found, <strong>SYSLINUX</strong> should default to the 779install-time working directory, however this is a known issue with some 780versions including 4.06.</p></div> 781<div class="paragraph"><p>At start, the initial working directory for <strong>PXELINUX</strong> will be the 782parent directory of pxelinux.0 unless overridden with DHCP option 210. 783If no configuration file is found, <strong>PXELINUX</strong> will start a timer to 784reboot the system in an attempt to restart the boot process and resolve 785a possible transient issue.</p></div> 786</div> 787<div class="sect2"> 788<h3 id="_alternate_filenames">ALTERNATE FILENAMES</h3> 789<div class="paragraph"><p>For kernel-like file names given on the command line, <strong>Syslinux</strong> will 790attempt to append file name extensions to the specified file name when 791the file is not found in the following order: .0[<strong>PXELINUX</strong> only], 792.bin[<strong>ISOLINUX</strong> only], .bs[<strong>SYSLINUX</strong> only], .bss[<strong>SYSLINUX</strong> only], 793.c32, .cbt[Up to 4.06], .com[Up to 4.06] and .img[<strong>ISOLINUX</strong> 1.65-4.04 only].</p></div> 794</div> 795<div class="sect2"> 796<h3 id="_path_rules">PATH RULES</h3> 797<div class="paragraph"><p>The current working directory is <strong>always</strong> searched first, before PATH, 798when attempting to open a filename. The current working directory is 799not affected when specifying a file with an absolute path. For 800example, given the following file system layout,</p></div> 801<div class="literalblock"> 802<div class="content"> 803<pre><code>/boot/ 804 /bin/ 805 ls.c32 806 libls.c32 807 /foo/ 808 libls.c32</code></pre> 809</div></div> 810<div class="paragraph"><p>assuming that the current working directory is /boot/foo, and assuming 811that libls.c32 is a dependency of ls.c32, executing /boot/bin/ls.c32 812will cause /boot/foo/libls.c32 to be loaded, not /boot/bin/libls.c32, 813even if /boot/bin is specified in the PATH directive of a config file.</p></div> 814<div class="paragraph"><p>The reason that things work this way is that typically a user will 815install all library files in the Syslinux installation directory, as 816specified with the --directory installer option. This method allows 817the user to omit the PATH directive from their config file and still 818have things work correctly.</p></div> 819</div> 820</div> 821</div> 822<div class="sect1"> 823<h2 id="_author">AUTHOR</h2> 824<div class="sectionbody"> 825<div class="paragraph"><p>This AsciiDoc derived document is a modified version of the original 826<strong>SYSLINUX</strong> documentation by H. Peter Anvin <<a href="mailto:hpa@zytor.com">hpa@zytor.com</a>>. The conversion 827to an AsciiDoc was made by Gene Cumm <<a href="mailto:gene.cumm@gmail.com">gene.cumm@gmail.com</a>></p></div> 828</div> 829</div> 830</div> 831<div id="footnotes"><hr /></div> 832<div id="footer"> 833<div id="footer-text"> 834Last updated 2014-01-17 16:09:56 PST 835</div> 836</div> 837</body> 838</html> 839