Accepting request 22593 from system:install:head

Copy from system:install:head/syslinux based on submit request 22593 from user snwint

OBS-URL: https://build.opensuse.org/request/show/22593
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/syslinux?expand=0&rev=20
This commit is contained in:
OBS User autobuild 2009-10-20 23:57:15 +00:00 committed by Git OBS Bridge
parent b4c7b00d54
commit 2c6dfb9773
3 changed files with 51 additions and 22 deletions

View File

@ -252,10 +252,24 @@ index 8bfc8b8..f458fc7 100644
call writestr call writestr
mov si,InitRDCName mov si,InitRDCName
diff --git a/core/ui.inc b/core/ui.inc diff --git a/core/ui.inc b/core/ui.inc
index 1b40717..be4f385 100644 index 1b40717..9413f16 100644
--- a/core/ui.inc --- a/core/ui.inc
+++ b/core/ui.inc +++ b/core/ui.inc
@@ -468,6 +468,8 @@ bad_kernel: @@ -402,8 +402,12 @@ vk_check:
%if HAS_LOCALBOOT
; Is this a "localboot" pseudo-kernel?
cmp al,VK_LOCALBOOT ; al == KernelType
+ jne .no_local_boot
+ mov al,7
+ call [comboot_hook]
mov ax,[VKernelBuf+vk_rname] ; Possible localboot type
- je local_boot
+ jmp local_boot
+.no_local_boot:
%endif
jmp get_kernel
@@ -468,6 +472,8 @@ bad_kernel:
.really: .really:
mov si,KernelName mov si,KernelName
mov di,KernelCName mov di,KernelCName
@ -264,7 +278,7 @@ index 1b40717..be4f385 100644
push di push di
call unmangle_name ; Get human form call unmangle_name ; Get human form
mov si,err_notfound ; Complain about missing kernel mov si,err_notfound ; Complain about missing kernel
@@ -510,7 +512,10 @@ on_error: @@ -510,7 +516,10 @@ on_error:
; ;
; kernel_corrupt: Called if the kernel file does not seem healthy ; kernel_corrupt: Called if the kernel file does not seem healthy
; ;
@ -351,10 +365,10 @@ index f458fc7..f6ed644 100644
+ section .data + section .data
+QuietBoot db 0 ; Set if a quiet boot is requested +QuietBoot db 0 ; Set if a quiet boot is requested
diff --git a/core/ui.inc b/core/ui.inc diff --git a/core/ui.inc b/core/ui.inc
index be4f385..2bc56a1 100644 index 9413f16..353d59a 100644
--- a/core/ui.inc --- a/core/ui.inc
+++ b/core/ui.inc +++ b/core/ui.inc
@@ -596,7 +596,7 @@ kernel_good: @@ -600,7 +600,7 @@ kernel_good:
; ;
xor ax,ax xor ax,ax
mov [InitRDPtr],ax mov [InitRDPtr],ax
@ -406,7 +420,7 @@ index f6ed644..286c9c8 100644
+ alignz 4 + alignz 4
+KernelStart dd 100000h +KernelStart dd 100000h
diff --git a/core/comboot.inc b/core/comboot.inc diff --git a/core/comboot.inc b/core/comboot.inc
index 1a1dbfe..1a147c9 100644 index 1a1dbfe..1923308 100644
--- a/core/comboot.inc --- a/core/comboot.inc
+++ b/core/comboot.inc +++ b/core/comboot.inc
@@ -962,6 +962,45 @@ comapi_shufraw: @@ -962,6 +962,45 @@ comapi_shufraw:
@ -455,7 +469,7 @@ index 1a1dbfe..1a147c9 100644
section .data section .data
%macro int21 2 %macro int21 2
@@ -969,6 +1008,108 @@ comapi_shufraw: @@ -969,6 +1008,109 @@ comapi_shufraw:
dw %2 dw %2
%endmacro %endmacro
@ -529,6 +543,7 @@ index 1a1dbfe..1a147c9 100644
+; 4: progress start +; 4: progress start
+; 5: progress increment +; 5: progress increment
+; 6: progress end: kernel loaded, stop gfxboot +; 6: progress end: kernel loaded, stop gfxboot
+; 7: stop gfxboot
+; +;
+comboot_hook_entry: +comboot_hook_entry:
+ pushad + pushad
@ -564,7 +579,7 @@ index 1a1dbfe..1a147c9 100644
int21_table: int21_table:
int21 00h, comboot_return int21 00h, comboot_return
int21 01h, comboot_getkey int21 01h, comboot_getkey
@@ -1021,8 +1162,16 @@ int22_table: @@ -1021,8 +1163,16 @@ int22_table:
dw comapi_closedir ; 0022 close directory dw comapi_closedir ; 0022 close directory
dw comapi_shufsize ; 0023 query shuffler size dw comapi_shufsize ; 0023 query shuffler size
dw comapi_shufraw ; 0024 cleanup, shuffle and boot raw dw comapi_shufraw ; 0024 cleanup, shuffle and boot raw
@ -581,7 +596,7 @@ index 1a1dbfe..1a147c9 100644
APIKeyWait db 0 APIKeyWait db 0
APIKeyFlag db 0 APIKeyFlag db 0
@@ -1041,8 +1190,10 @@ feature_flags_len equ ($-feature_flags) @@ -1041,8 +1191,10 @@ feature_flags_len equ ($-feature_flags)
err_notdos db ': attempted DOS system call INT ',0 err_notdos db ': attempted DOS system call INT ',0
err_comlarge db 'COMBOOT image too large.', CR, LF, 0 err_comlarge db 'COMBOOT image too large.', CR, LF, 0
@ -594,7 +609,7 @@ index 1a1dbfe..1a147c9 100644
ConfigName resb FILENAME_MAX ConfigName resb FILENAME_MAX
CurrentDirName resb FILENAME_MAX CurrentDirName resb FILENAME_MAX
diff --git a/core/comboot.inc b/core/comboot.inc diff --git a/core/comboot.inc b/core/comboot.inc
index 1a147c9..e5dc115 100644 index 1923308..f39bfb1 100644
--- a/core/comboot.inc --- a/core/comboot.inc
+++ b/core/comboot.inc +++ b/core/comboot.inc
@@ -1043,12 +1043,14 @@ comapi_run2: @@ -1043,12 +1043,14 @@ comapi_run2:
@ -612,7 +627,7 @@ index 1a147c9..e5dc115 100644
clc clc
ret ret
@@ -1171,6 +1173,7 @@ int22_count equ ($-int22_table)/2 @@ -1172,6 +1174,7 @@ int22_count equ ($-int22_table)/2
comboot_sp_save dw 0 comboot_sp_save dw 0
comboot_hook dw comboot_hook_nop comboot_hook dw comboot_hook_nop
comboot_far dd 0 comboot_far dd 0
@ -621,7 +636,7 @@ index 1a147c9..e5dc115 100644
APIKeyWait db 0 APIKeyWait db 0
APIKeyFlag db 0 APIKeyFlag db 0
diff --git a/core/ui.inc b/core/ui.inc diff --git a/core/ui.inc b/core/ui.inc
index 2bc56a1..59b5724 100644 index 353d59a..e37f2a7 100644
--- a/core/ui.inc --- a/core/ui.inc
+++ b/core/ui.inc +++ b/core/ui.inc
@@ -379,9 +379,13 @@ vk_check: @@ -379,9 +379,13 @@ vk_check:
@ -639,10 +654,10 @@ index 2bc56a1..59b5724 100644
pop es pop es
mov di,KernelName mov di,KernelName
diff --git a/core/comboot.inc b/core/comboot.inc diff --git a/core/comboot.inc b/core/comboot.inc
index e5dc115..60506ce 100644 index f39bfb1..0874526 100644
--- a/core/comboot.inc --- a/core/comboot.inc
+++ b/core/comboot.inc +++ b/core/comboot.inc
@@ -1087,6 +1087,7 @@ comboot_hook_entry: @@ -1088,6 +1088,7 @@ comboot_hook_entry:
push fs push fs
push es push es
push ds push ds
@ -651,10 +666,10 @@ index e5dc115..60506ce 100644
pop ds pop ds
pop es pop es
diff --git a/core/ui.inc b/core/ui.inc diff --git a/core/ui.inc b/core/ui.inc
index 59b5724..d56c148 100644 index e37f2a7..6137dc9 100644
--- a/core/ui.inc --- a/core/ui.inc
+++ b/core/ui.inc +++ b/core/ui.inc
@@ -612,7 +612,11 @@ kernel_good: @@ -616,7 +616,11 @@ kernel_good:
mov [KernelCNameLen],di mov [KernelCNameLen],di
; Default memory limit, can be overridden by image loaders ; Default memory limit, can be overridden by image loaders
@ -666,7 +681,7 @@ index 59b5724..d56c148 100644
mov [MyHighMemSize],eax mov [MyHighMemSize],eax
popad popad
@@ -633,6 +637,7 @@ kernel_good: @@ -637,6 +641,7 @@ kernel_good:
; At this point, EAX contains the size of the kernel, SI contains ; At this point, EAX contains the size of the kernel, SI contains
; the file handle/cluster pointer, and ECX contains the extension (if any.) ; the file handle/cluster pointer, and ECX contains the extension (if any.)
; ;
@ -773,10 +788,10 @@ index 0000000..a98f9aa
+} +}
diff --git a/modules/gfxboot.c b/modules/gfxboot.c diff --git a/modules/gfxboot.c b/modules/gfxboot.c
new file mode 100644 new file mode 100644
index 0000000..b4a794c index 0000000..01c6c84
--- /dev/null --- /dev/null
+++ b/modules/gfxboot.c +++ b/modules/gfxboot.c
@@ -0,0 +1,1036 @@ @@ -0,0 +1,1039 @@
+/* +/*
+ * + *
+ * gfxboot.c + * gfxboot.c
@ -1683,7 +1698,7 @@ index 0000000..b4a794c
+ +
+ r.edi = comboot + (uint32_t) cmdline; + r.edi = comboot + (uint32_t) cmdline;
+ r.ecx = sizeof cmdline; + r.ecx = sizeof cmdline;
+ r.eax = timeout; + r.eax = timeout * 182 / 100;
+ timeout = 0; // use timeout only first time + timeout = 0; // use timeout only first time
+ farcall(gfx.jmp_table[GFX_BC_INPUT], &r); + farcall(gfx.jmp_table[GFX_BC_INPUT], &r);
+ if((r.eflags & X86_CF)) r.eax = 1; + if((r.eflags & X86_CF)) r.eax = 1;
@ -1780,7 +1795,6 @@ index 0000000..b4a794c
+ +
+ case 4: // progress start + case 4: // progress start
+ r->eax = r->ecx >> gfx_config.sector_shift; // kernel size in sectors + r->eax = r->ecx >> gfx_config.sector_shift; // kernel size in sectors
+ r->eax = 0;
+ r->esi = comboot + (uint32_t) current_label; + r->esi = comboot + (uint32_t) current_label;
+ farcall(gfx.jmp_table[GFX_BC_PROGRESS_INIT], r); + farcall(gfx.jmp_table[GFX_BC_PROGRESS_INIT], r);
+ break; + break;
@ -1795,6 +1809,10 @@ index 0000000..b4a794c
+ farcall(gfx.jmp_table[GFX_BC_PROGRESS_DONE], r); + farcall(gfx.jmp_table[GFX_BC_PROGRESS_DONE], r);
+ gfx_done(); + gfx_done();
+ break; + break;
+
+ case 7: // stop gfxboot
+ gfx_done();
+ break;
+ } + }
+} +}
+ +

View File

@ -1,3 +1,14 @@
-------------------------------------------------------------------
Mon Oct 19 16:45:35 CEST 2009 - snwint@suse.de
- get kernel size right
-------------------------------------------------------------------
Mon Oct 19 13:32:29 CEST 2009 - snwint@suse.de
- set correct timeout value
- localboot should return to text mode
------------------------------------------------------------------- -------------------------------------------------------------------
Mon Oct 5 13:44:54 CEST 2009 - snwint@suse.de Mon Oct 5 13:44:54 CEST 2009 - snwint@suse.de

View File

@ -27,7 +27,7 @@ Requires: mtools
AutoReqProv: on AutoReqProv: on
Summary: Boot Loader for Linux Summary: Boot Loader for Linux
Version: 3.82 Version: 3.82
Release: 7 Release: 8
Source: %{name}-%{version}.tar.bz2 Source: %{name}-%{version}.tar.bz2
Source1: isolinux-config Source1: isolinux-config
Source2: README.gfxboot Source2: README.gfxboot