[syslinux] real serial port output from pxelinux.0
Geert Stappers
stappers at stappers.nl
Sun Aug 9 06:19:22 PDT 2009
Hello,
On a computer with a real serial port do I mis some output.
It is 'real serial port' as opposed to virtual hardware.
The text that I mis is 'My IP address seems to be' and
the decreasing hexadecimal IP-adress staircase.
The banner and the copyright message are displayed.
pxelinux.cfg/default is fetched and its "SAY command" is shown.
Have a look at this <screenshot>
PXELINUX 3.83 pre6-2-g8e01231* Copyright (C) 1994-2009 H. Peter Anvin et al
About to boot Debian Installer
Loading di/linux..
Loading di/initrd.gz...ready.
</screenshot>
Being curious why only the banner is shown, I dived in core/pxelinux.asm.
Modifing the banner string was easy
and did prove that my modified pxelinux.0 was being run.
Then it did took me several hours of in loop of
edit-compile-client_reboot-dhcp-pxelinux_run
to find out that I was modifing death code.
With <patch>
--- a/core/pxelinux.asm
+++ b/core/pxelinux.asm
@@ -259,15 +259,6 @@ _start1:
%include "init.inc"
;
-; Tell the user we got this far
-;
- mov si,syslinux_banner
- call writestr_early
-
- mov si,copyright_str
- call writestr_early
-
-;
; Assume API version 2.1, in case we find the !PXE structure without
; finding the PXENV+ structure. This should really look at the Base
; Code ROM ID structure in have_pxe, but this is adequate for now --
</patch> I got the same output as in <screenshot/>
What is needed to get something like <patch>
--- a/core/pxelinux.asm
+++ b/core/pxelinux.asm
@@ -261,6 +261,9 @@ _start1:
;
; Tell the user we got this far
;
+ mov si,sfsg
+ call writestr_early
+
mov si,syslinux_banner
call writestr_early
@@ -2597,6 +2600,7 @@ tftpprefix_msg db 'TFTP prefix: ', 0
localboot_msg db 'Booting from local disk...', CR, LF, 0
trying_msg db 'Trying to load: ', 0
default_str db 'default', 0
+sfsg db 'So far, so good...', CR, LF, 0
syslinux_banner db CR, LF, 'PXELINUX ', VERSION_STR, ' ', DATE_STR, ' ', 0
cfgprefix db 'pxelinux.cfg/' ; No final null!
cfgprefix_len equ ($-cfgprefix)
</patch> working?
Cheers
Geert Stappers
More information about the Syslinux
mailing list