This commit is contained in:
parent
12c56af209
commit
ab5e5dd0a0
File diff suppressed because it is too large
Load Diff
237
syslinux-3.82-s_herbst.diff
Normal file
237
syslinux-3.82-s_herbst.diff
Normal file
@ -0,0 +1,237 @@
|
|||||||
|
diff --git a/modules/gfxboot.asm b/modules/gfxboot.asm
|
||||||
|
index c9fdd1b..5c7b118 100644
|
||||||
|
--- a/modules/gfxboot.asm
|
||||||
|
+++ b/modules/gfxboot.asm
|
||||||
|
@@ -144,7 +144,15 @@ got_config_file:
|
||||||
|
push cs
|
||||||
|
pop es
|
||||||
|
call parse_config
|
||||||
|
+ cmp word [label_cnt],0
|
||||||
|
+ ja labels_defined
|
||||||
|
|
||||||
|
+ mov bx,msg_no_labels_defined
|
||||||
|
+ mov ax,2
|
||||||
|
+ int 22h
|
||||||
|
+ ret
|
||||||
|
+
|
||||||
|
+labels_defined:
|
||||||
|
; get_gfx_file
|
||||||
|
mov ax,cs
|
||||||
|
add ax,2000h
|
||||||
|
@@ -417,6 +425,14 @@ gfx_read_file:
|
||||||
|
mov si,pspCmdArg+1
|
||||||
|
int 22h
|
||||||
|
jnc gfx_file_read
|
||||||
|
+
|
||||||
|
+ mov ax,2
|
||||||
|
+ mov bx,pspCmdArg+1
|
||||||
|
+ int 22h
|
||||||
|
+
|
||||||
|
+ mov ax,2
|
||||||
|
+ mov bx,msg_not_found
|
||||||
|
+ int 22h
|
||||||
|
stc
|
||||||
|
ret
|
||||||
|
|
||||||
|
@@ -641,8 +657,7 @@ gfx_input:
|
||||||
|
shl edi,4
|
||||||
|
add edi, command_line ; buffer (0: no buffer)
|
||||||
|
mov ecx, max_cmd_len ; buffer size
|
||||||
|
-; xor eax,eax ; timeout value (0: no timeout)
|
||||||
|
- mov eax,100 ; timeout value (0: no timeout)
|
||||||
|
+ mov eax,[menu_timeout] ; timeout value (0: no timeout)
|
||||||
|
|
||||||
|
call far [gfx_bc_input]
|
||||||
|
ret
|
||||||
|
@@ -699,33 +714,39 @@ parse_config:
|
||||||
|
mov bx, msg_crlf
|
||||||
|
int 22h
|
||||||
|
%endif
|
||||||
|
+ mov bx,keywords
|
||||||
|
+ mov cx,[keyword_cnt]
|
||||||
|
+.keywords_loop:
|
||||||
|
+ push cx
|
||||||
|
push si
|
||||||
|
push di
|
||||||
|
- xor ecx,ecx
|
||||||
|
+ xor cx,cx
|
||||||
|
mov si,configbuf
|
||||||
|
- mov di,label_keyword+1
|
||||||
|
- mov cl, byte [label_keyword]
|
||||||
|
+ mov di,[bx]
|
||||||
|
+ mov cl,byte [di]
|
||||||
|
+ inc di
|
||||||
|
call memcmp
|
||||||
|
pop di
|
||||||
|
pop si
|
||||||
|
- jz .do_label
|
||||||
|
+ jnz .not_found
|
||||||
|
+ pop cx
|
||||||
|
+ call [bx+2] ; call keyword handler
|
||||||
|
+ jmp .read
|
||||||
|
|
||||||
|
- push si
|
||||||
|
- push di
|
||||||
|
- xor ecx,ecx
|
||||||
|
- mov si,configbuf
|
||||||
|
- mov di,default_keyword+1
|
||||||
|
- mov cl, byte [default_keyword]
|
||||||
|
- call memcmp
|
||||||
|
- pop di
|
||||||
|
- pop si
|
||||||
|
- jz .do_default
|
||||||
|
+.not_found:
|
||||||
|
+ add bx,4
|
||||||
|
+ pop cx
|
||||||
|
+ loop .keywords_loop
|
||||||
|
|
||||||
|
.nextline:
|
||||||
|
call skipline
|
||||||
|
jmp .read
|
||||||
|
|
||||||
|
-.do_label:
|
||||||
|
+.eof:
|
||||||
|
+.noparm:
|
||||||
|
+ ret
|
||||||
|
+
|
||||||
|
+do_label:
|
||||||
|
call skipspace
|
||||||
|
jz .eof
|
||||||
|
jc .noparm
|
||||||
|
@@ -742,10 +763,11 @@ parse_config:
|
||||||
|
pop di
|
||||||
|
pop es
|
||||||
|
inc word [label_cnt]
|
||||||
|
+.eof:
|
||||||
|
+.noparm:
|
||||||
|
+ ret
|
||||||
|
|
||||||
|
- jmp .read
|
||||||
|
-
|
||||||
|
-.do_default:
|
||||||
|
+do_default:
|
||||||
|
call skipspace
|
||||||
|
jz .eof
|
||||||
|
jc .noparm
|
||||||
|
@@ -759,8 +781,42 @@ parse_config:
|
||||||
|
pop di
|
||||||
|
pop es
|
||||||
|
|
||||||
|
- jmp .read
|
||||||
|
+.eof:
|
||||||
|
+.noparm:
|
||||||
|
+ ret
|
||||||
|
|
||||||
|
+do_timeout:
|
||||||
|
+ call skipspace
|
||||||
|
+ jz .eof
|
||||||
|
+ jc .noparm
|
||||||
|
+ call ungetc
|
||||||
|
+ push es
|
||||||
|
+ push di
|
||||||
|
+ push cs
|
||||||
|
+ pop es
|
||||||
|
+ mov di,NumBuf
|
||||||
|
+.getnum:
|
||||||
|
+ cmp di,NumBufEnd
|
||||||
|
+ jae .loaded
|
||||||
|
+ call getc
|
||||||
|
+ stosb
|
||||||
|
+ cmp al,'-'
|
||||||
|
+ jnb .getnum
|
||||||
|
+ call ungetc
|
||||||
|
+ dec di
|
||||||
|
+.loaded:
|
||||||
|
+ mov byte [di],0
|
||||||
|
+ pop di
|
||||||
|
+ pop es
|
||||||
|
+ push cs
|
||||||
|
+ pop ds
|
||||||
|
+ mov si,NumBuf
|
||||||
|
+ push ebx
|
||||||
|
+ call parseint
|
||||||
|
+ jc .err
|
||||||
|
+ mov [menu_timeout],ebx
|
||||||
|
+.err:
|
||||||
|
+ pop ebx
|
||||||
|
.eof:
|
||||||
|
.noparm:
|
||||||
|
ret
|
||||||
|
@@ -876,23 +932,63 @@ memcmp:
|
||||||
|
pop si
|
||||||
|
ret
|
||||||
|
|
||||||
|
- section .data
|
||||||
|
-label_keyword db 6,'label',0
|
||||||
|
-default_keyword db 7,'default',0
|
||||||
|
+parseint:
|
||||||
|
+ push eax
|
||||||
|
+ push ecx
|
||||||
|
+ xor eax,eax
|
||||||
|
+ xor ebx,ebx
|
||||||
|
+ xor ecx,ecx
|
||||||
|
+ mov cl,10
|
||||||
|
+.loop:
|
||||||
|
+ lodsb
|
||||||
|
+ and al,al
|
||||||
|
+ jz .done
|
||||||
|
+ cmp al,'0'
|
||||||
|
+ jb .err
|
||||||
|
+ cmp al,'9'
|
||||||
|
+ ja .err
|
||||||
|
+ sub al,'0'
|
||||||
|
+ imul ebx,ecx
|
||||||
|
+ add ebx,eax
|
||||||
|
+ jmp short .loop
|
||||||
|
+.done:
|
||||||
|
+ clc
|
||||||
|
+.ret:
|
||||||
|
+ pop ecx
|
||||||
|
+ pop eax
|
||||||
|
+ ret
|
||||||
|
+.err:
|
||||||
|
+ stc
|
||||||
|
+ jmp short .ret
|
||||||
|
|
||||||
|
+ section .data
|
||||||
|
msg_progname db 'gfxboot: ',0
|
||||||
|
msg_config_file db 'Configuration file',0
|
||||||
|
msg_missing db 'missing',0
|
||||||
|
msg_usage db 'Usage: gfxboot.com <bootlogo>',0dh,0ah,0
|
||||||
|
msg_memory db 'Could not detect available memory size',0dh,0ah,0
|
||||||
|
msg_bootlogo_toobig db 'bootlogo file too big',0dh,0ah,0
|
||||||
|
-msg_pxelinux db 'pxelinux is not supported',0dh,0ah,0
|
||||||
|
msg_unknown_file_size db 'unknown file size',0dh,0ah,0
|
||||||
|
+msg_not_found db ' not found',0dh,0ah,0
|
||||||
|
+msg_no_labels_defined db 'No labels defined in config file',0dh,0ah,0
|
||||||
|
msg_space db ' ',0
|
||||||
|
msg_crlf db 0dh,0ah,0
|
||||||
|
|
||||||
|
gfx_slash db '/', 0
|
||||||
|
db0 db 0
|
||||||
|
+menu_timeout dd 100
|
||||||
|
+
|
||||||
|
+keyword_text_label db 6,'label',0
|
||||||
|
+keyword_text_default db 7,'default',0
|
||||||
|
+keyword_text_timeout db 7,'timeout',0
|
||||||
|
+keywords equ $
|
||||||
|
+ dw keyword_text_label
|
||||||
|
+ dw do_label
|
||||||
|
+ dw keyword_text_default
|
||||||
|
+ dw do_default
|
||||||
|
+ dw keyword_text_timeout
|
||||||
|
+ dw do_timeout
|
||||||
|
+keyword_cnt dw ($-keywords)/4
|
||||||
|
|
||||||
|
; menu entry descriptor
|
||||||
|
menu_entries equ 0
|
||||||
|
@@ -942,6 +1038,9 @@ dentry_buf_len equ $ - dentry_buf
|
||||||
|
max_cmd_len equ 2047
|
||||||
|
command_line resb max_cmd_len+2
|
||||||
|
|
||||||
|
+NumBuf resb 15
|
||||||
|
+NumBufEnd resb 1
|
||||||
|
+
|
||||||
|
alignb 4
|
||||||
|
derivative_id resb 1
|
||||||
|
drivenumber resb 1
|
@ -1,8 +1,3 @@
|
|||||||
-------------------------------------------------------------------
|
|
||||||
Fri Aug 7 13:47:54 CEST 2009 - snwint@suse.de
|
|
||||||
|
|
||||||
- replaced gfxboot.com with an enhanced version
|
|
||||||
|
|
||||||
-------------------------------------------------------------------
|
-------------------------------------------------------------------
|
||||||
Tue Aug 4 10:49:19 CEST 2009 - snwint@suse.de
|
Tue Aug 4 10:49:19 CEST 2009 - snwint@suse.de
|
||||||
|
|
||||||
|
@ -20,6 +20,9 @@
|
|||||||
Name: syslinux
|
Name: syslinux
|
||||||
ExclusiveArch: %ix86 x86_64
|
ExclusiveArch: %ix86 x86_64
|
||||||
BuildRequires: libpng-devel nasm netpbm python
|
BuildRequires: libpng-devel nasm netpbm python
|
||||||
|
%ifarch x86_64
|
||||||
|
BuildRequires: gcc-32bit glibc-devel-32bit
|
||||||
|
%endif
|
||||||
Url: http://syslinux.zytor.com/
|
Url: http://syslinux.zytor.com/
|
||||||
License: GPL v2 or later
|
License: GPL v2 or later
|
||||||
Group: System/Boot
|
Group: System/Boot
|
||||||
@ -27,14 +30,15 @@ Requires: mtools
|
|||||||
AutoReqProv: on
|
AutoReqProv: on
|
||||||
Summary: Boot Loader for Linux
|
Summary: Boot Loader for Linux
|
||||||
Version: 3.82
|
Version: 3.82
|
||||||
Release: 3
|
Release: 4
|
||||||
Source: %{name}-%{version}.tar.bz2
|
Source: %{name}-%{version}.tar.bz2
|
||||||
Source1: isolinux-config
|
Source1: isolinux-config
|
||||||
Source2: README.gfxboot
|
Source2: README.gfxboot
|
||||||
Patch0: %{name}-%{version}-gfxboot.diff
|
Patch0: %{name}-%{version}-s_herbst.diff
|
||||||
Patch1: %{name}-%{version}-suse.diff
|
Patch1: %{name}-%{version}-gfxboot.diff
|
||||||
Patch2: %{name}-%{version}-compat.diff
|
Patch2: %{name}-%{version}-suse.diff
|
||||||
Patch3: %{name}-%{version}-isohybrid.diff
|
Patch3: %{name}-%{version}-compat.diff
|
||||||
|
Patch4: %{name}-%{version}-isohybrid.diff
|
||||||
BuildRoot: %{_tmppath}/%{name}-%{version}-build
|
BuildRoot: %{_tmppath}/%{name}-%{version}-build
|
||||||
|
|
||||||
%description
|
%description
|
||||||
@ -55,6 +59,7 @@ Authors:
|
|||||||
%patch1 -p1
|
%patch1 -p1
|
||||||
%patch2 -p1
|
%patch2 -p1
|
||||||
%patch3 -p1
|
%patch3 -p1
|
||||||
|
%patch4 -p1
|
||||||
|
|
||||||
%build
|
%build
|
||||||
cp %{SOURCE2} .
|
cp %{SOURCE2} .
|
||||||
|
Loading…
Reference in New Issue
Block a user