forked from pool/syslinux
This commit is contained in:
parent
4a681b6cfc
commit
aec393448e
14
README.gfxboot
Normal file
14
README.gfxboot
Normal file
@ -0,0 +1,14 @@
|
||||
gfxboot is now loaded via a COM module. If you used a line like
|
||||
|
||||
gfxboot bootlogo
|
||||
|
||||
before in isolinux.cfg or syslinux.cfg, change this to
|
||||
|
||||
ui gfxboot.com bootlogo
|
||||
|
||||
and add /usr/share/syslinux/gfxboot.com to your boot directory (the one
|
||||
where the config file is).
|
||||
|
||||
This also means that gfxboot now works with other syslinux variants like
|
||||
pxelinux or extlinux, too.
|
||||
|
@ -1,176 +0,0 @@
|
||||
---
|
||||
|
||||
add_crc | 57 ++++++++++++++++++++++++++++++++++++++++++++++++
|
||||
com32/libutil/get_key.c | 4 +++
|
||||
com32/samples/keytest.c | 4 +++
|
||||
core/diskstart.inc | 2 +
|
||||
core/isolinux.asm | 27 ++++++++++++++++++++++
|
||||
doc/syslinux.txt | 13 +++++-----
|
||||
6 files changed, 100 insertions(+), 7 deletions(-)
|
||||
|
||||
--- /dev/null
|
||||
+++ b/add_crc
|
||||
@@ -0,0 +1,57 @@
|
||||
+#! /usr/bin/perl
|
||||
+
|
||||
+use integer;
|
||||
+
|
||||
+# for isolinux
|
||||
+#
|
||||
+# Ensure checksum over (first sector - 64 bytes) [internally: FirstSecSum]
|
||||
+# is 0 by adjusting the variable csum_value.
|
||||
+#
|
||||
+# Though isolinux checks the integrity with a separate checksum after all
|
||||
+# data has been loaded this does not help with BIOSes that don't get even
|
||||
+# the first 2k right. Hence this additional check. :-(
|
||||
+#
|
||||
+
|
||||
+$file = shift;
|
||||
+$list = "$file";
|
||||
+$list =~ s/\.bin$/.lsr/;
|
||||
+
|
||||
+open F, $list;
|
||||
+
|
||||
+while(<F>) {
|
||||
+ if(/^\s*\d+\s*(\S+)\s*0+\s*(\<\d+\>\s*)?csum_value\s*dd\s*0/) {
|
||||
+ $ofs = hex $1;
|
||||
+ }
|
||||
+}
|
||||
+close F;
|
||||
+
|
||||
+die "oops 1\n" unless $ofs && !($ofs & 3);
|
||||
+
|
||||
+# print "$ofs\n";
|
||||
+
|
||||
+open F, $file or die "$file: $!\n";
|
||||
+
|
||||
+$file_size = -s $file;
|
||||
+
|
||||
+sysread F, $buf, $file_size;
|
||||
+
|
||||
+close F;
|
||||
+
|
||||
+die "oops 1\n" if $file_size != length($buf);
|
||||
+
|
||||
+@x = unpack "V512", $buf;
|
||||
+
|
||||
+for ($sum = 0, $i = 16; $i < 512; $i++) {
|
||||
+ $sum += $x[$i];
|
||||
+}
|
||||
+
|
||||
+# printf "0x%08x\n", $sum;
|
||||
+
|
||||
+$ns = pack "V", -$sum;
|
||||
+
|
||||
+substr($buf, $ofs, 4) = $ns;
|
||||
+
|
||||
+open F, ">$file" or die "$file: $!\n";
|
||||
+
|
||||
+syswrite F, $buf;
|
||||
+
|
||||
--- a/com32/libutil/get_key.c
|
||||
+++ b/com32/libutil/get_key.c
|
||||
@@ -42,6 +42,10 @@
|
||||
#include <getkey.h>
|
||||
#include <libutil.h>
|
||||
|
||||
+#ifndef CLK_TCK
|
||||
+# define CLK_TCK __sysconf(2)
|
||||
+#endif
|
||||
+
|
||||
struct keycode {
|
||||
int code;
|
||||
int seqlen;
|
||||
--- a/com32/samples/keytest.c
|
||||
+++ b/com32/samples/keytest.c
|
||||
@@ -25,6 +25,10 @@
|
||||
#include <consoles.h> /* Provided by libutil */
|
||||
#include <getkey.h>
|
||||
|
||||
+#ifndef CLK_TCK
|
||||
+# define CLK_TCK __sysconf(2)
|
||||
+#endif
|
||||
+
|
||||
static void cooked_keys(void)
|
||||
{
|
||||
int key;
|
||||
--- a/core/diskstart.inc
|
||||
+++ b/core/diskstart.inc
|
||||
@@ -254,6 +254,8 @@ getlinsec:
|
||||
add eax,[bsHidden] ; Add partition offset
|
||||
xor edx,edx ; Zero-extend LBA (eventually allow 64 bits)
|
||||
|
||||
+.patch: jmp strict near .jmp
|
||||
+
|
||||
.jmp: jmp strict short getlinsec_cbios
|
||||
|
||||
;
|
||||
--- a/core/isolinux.asm
|
||||
+++ b/core/isolinux.asm
|
||||
@@ -949,11 +964,17 @@ getlinsec_cdrom:
|
||||
; INT 13h with retry
|
||||
xint13: mov byte [RetryCount],retry_count
|
||||
.try: pushad
|
||||
+ ; seen buggy bios that overwrites buffer address on error...
|
||||
+ push dword [dapa + 4]
|
||||
call int13
|
||||
+ pop dword [dapa + 4]
|
||||
jc .error
|
||||
+.noerror:
|
||||
add sp,byte 8*4 ; Clean up stack
|
||||
ret
|
||||
.error:
|
||||
+ or ah,ah
|
||||
+ jz .noerror
|
||||
mov [DiskError],ah ; Save error code
|
||||
popad
|
||||
mov [DiskSys],ax ; Save system call number
|
||||
@@ -1120,6 +1141,9 @@ all_read:
|
||||
; (which will be at 16 only for a single-session disk!); from the PVD
|
||||
; we should be able to find the rest of what we need to know.
|
||||
;
|
||||
+ call get_fs_structures
|
||||
+ jmp get_fs_struct_done
|
||||
+
|
||||
get_fs_structures:
|
||||
mov eax,[bi_pvd]
|
||||
mov bx,trackbuf
|
||||
@@ -1187,6 +1211,9 @@ get_fs_structures:
|
||||
call crlf
|
||||
%endif
|
||||
.no_isolinux_dir:
|
||||
+ ret
|
||||
+
|
||||
+get_fs_struct_done:
|
||||
|
||||
;
|
||||
; Locate the configuration file
|
||||
--- a/doc/syslinux.txt
|
||||
+++ b/doc/syslinux.txt
|
||||
@@ -240,7 +240,7 @@ LABEL label
|
||||
Append nothing. APPEND with a single hyphen as argument in a
|
||||
LABEL section can be used to override a global APPEND.
|
||||
|
||||
- LOCALBOOT type [ISOLINUX, PXELINUX]
|
||||
+ LOCALBOOT type [ISOLINUX, SYSLINUX, PXELINUX]
|
||||
On PXELINUX, specifying "LOCALBOOT 0" instead of a "KERNEL"
|
||||
option means invoking this particular label will cause a local
|
||||
disk boot instead of booting a kernel.
|
||||
@@ -254,12 +254,11 @@ LABEL label
|
||||
UNDI or PXE stacks are, don't worry -- you don't want them,
|
||||
just specify 0.
|
||||
|
||||
- On ISOLINUX, the "type" specifies the local drive number to
|
||||
- boot from; 0x00 is the primary floppy drive and 0x80 is the
|
||||
- primary hard drive. The special value -1 causes ISOLINUX to
|
||||
- report failure to the BIOS, which, on recent BIOSes, should
|
||||
- mean that the next boot device in the boot sequence should be
|
||||
- activated.
|
||||
+ On ISOLINUX and SYSLINUX, the "type" specifies the local drive
|
||||
+ number to boot from; 0x00 is the primary floppy drive and 0x80 is
|
||||
+ the primary hard drive. The special value -1 causes them to report
|
||||
+ failure to the BIOS, which, on recent BIOSes, should mean that the
|
||||
+ next boot device in the boot sequence should be activated.
|
||||
|
||||
INITRD initrd_file
|
||||
Starting with version 3.71, an initrd can be specified in a
|
@ -1,3 +0,0 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:b054d5d5afef71c0b091f9ba604a7e441d7db2750f9d6311345d7e2dc94ac918
|
||||
size 3083447
|
@ -1,19 +1,5 @@
|
||||
From: Jeff Mahoney <jeffm@suse.com>
|
||||
Subject: [PATCH] Alias "gfxboot" to "ui gfxboot"
|
||||
|
||||
This patch allows older configs using the SUSE implementation of
|
||||
syslinux + gfxboot to continue to use the "gfxboot" keyword.
|
||||
|
||||
It is intentionally undocumented since it should not be used
|
||||
in new configurations.
|
||||
|
||||
Signed-off-by: Jeff Mahoney <jeffm@suse.com>
|
||||
---
|
||||
core/keywords | 1 +
|
||||
core/keywords.inc | 1 +
|
||||
core/parseconfig.inc | 15 +++++++++++++++
|
||||
3 files changed, 17 insertions(+)
|
||||
|
||||
diff --git a/core/keywords b/core/keywords
|
||||
index c289ae2..b7d4c4b 100644
|
||||
--- a/core/keywords
|
||||
+++ b/core/keywords
|
||||
@@ -6,6 +6,7 @@ initrd
|
||||
@ -24,9 +10,11 @@ Signed-off-by: Jeff Mahoney <jeffm@suse.com>
|
||||
display
|
||||
font
|
||||
implicit
|
||||
diff --git a/core/keywords.inc b/core/keywords.inc
|
||||
index d0f7db3..fc00ad7 100644
|
||||
--- a/core/keywords.inc
|
||||
+++ b/core/keywords.inc
|
||||
@@ -90,6 +90,7 @@ keywd_table:
|
||||
@@ -91,6 +91,7 @@ keywd_table:
|
||||
keyword f0, pc_filename, FKeyN(10)
|
||||
keyword f11, pc_filename, FKeyN(11)
|
||||
keyword f12, pc_filename, FKeyN(12)
|
||||
@ -34,13 +22,15 @@ Signed-off-by: Jeff Mahoney <jeffm@suse.com>
|
||||
%if IS_PXELINUX
|
||||
keyword ipappend, pc_ipappend
|
||||
%endif
|
||||
diff --git a/core/parseconfig.inc b/core/parseconfig.inc
|
||||
index 65d71c9..2302536 100644
|
||||
--- a/core/parseconfig.inc
|
||||
+++ b/core/parseconfig.inc
|
||||
@@ -30,6 +30,20 @@ pc_default: cmp ax,[DefaultLevel]
|
||||
ret
|
||||
|
||||
;
|
||||
+; "gfxboot" command; Shorthand for "ui gfxboot"
|
||||
+; "gfxboot" command; Shorthand for "ui gfxboot.com"
|
||||
+;
|
||||
+pc_gfxboot:
|
||||
+ mov ax,2
|
||||
@ -57,11 +47,11 @@ Signed-off-by: Jeff Mahoney <jeffm@suse.com>
|
||||
; "ontimeout" command
|
||||
;
|
||||
pc_ontimeout: mov di,Ontimeout
|
||||
@@ -438,6 +452,7 @@ commit_vk:
|
||||
@@ -439,6 +453,7 @@ commit_vk:
|
||||
section .data
|
||||
vk_overflow_msg db 'Out of memory parsing config file', CR, LF, 0
|
||||
SerialNotice db 1 ; Only print this once
|
||||
+gfxboot_cmd db 'gfxboot ', 0
|
||||
+gfxboot_cmd db 'gfxboot.com ', 0
|
||||
|
||||
section .bss
|
||||
alignb 4
|
801
syslinux-3.82-gfxboot.diff
Normal file
801
syslinux-3.82-gfxboot.diff
Normal file
@ -0,0 +1,801 @@
|
||||
diff --git a/core/abort.inc b/core/abort.inc
|
||||
index 5b16b9d..cc59fa7 100644
|
||||
--- a/core/abort.inc
|
||||
+++ b/core/abort.inc
|
||||
@@ -24,6 +24,10 @@
|
||||
; assumes CS == DS
|
||||
;
|
||||
dot_pause:
|
||||
+ push ax
|
||||
+ mov al,5
|
||||
+ call [comboot_hook]
|
||||
+ pop ax
|
||||
push si
|
||||
mov si,dot_msg
|
||||
call writestr_qchk
|
||||
@@ -63,6 +67,8 @@ abort_check:
|
||||
abort_load:
|
||||
mov bx,error_or_command
|
||||
abort_load_chain:
|
||||
+ mov al,80h
|
||||
+ call [comboot_hook] ; may not return
|
||||
RESET_STACK_AND_SEGS AX
|
||||
call writestr ; Expects SI -> error msg
|
||||
|
||||
diff --git a/core/comboot.inc b/core/comboot.inc
|
||||
index cdba16d..ee3fd77 100644
|
||||
--- a/core/comboot.inc
|
||||
+++ b/core/comboot.inc
|
||||
@@ -96,24 +96,23 @@ is_comboot_image:
|
||||
shl ax,6 ; Kilobytes -> paragraphs
|
||||
mov word [es:02h],ax
|
||||
|
||||
-%ifndef DEPEND
|
||||
-%if real_mode_seg != comboot_seg
|
||||
-%error "This code assumes real_mode_seg == comboot_seg"
|
||||
-%endif
|
||||
-%endif
|
||||
; Copy the command line from high memory
|
||||
+ push word real_mode_seg
|
||||
+ pop ds
|
||||
mov si,cmd_line_here
|
||||
mov cx,125 ; Max cmdline len (minus space and CR)
|
||||
mov di,081h ; Offset in PSP for command line
|
||||
mov al,' ' ; DOS command lines begin with a space
|
||||
stosb
|
||||
|
||||
-.loop: es lodsb
|
||||
+.loop: lodsb
|
||||
and al,al
|
||||
jz .done
|
||||
stosb
|
||||
loop .loop
|
||||
.done:
|
||||
+ push cs
|
||||
+ pop ds
|
||||
|
||||
mov al,0Dh ; CR after last character
|
||||
stosb
|
||||
@@ -963,6 +962,45 @@ comapi_shufraw:
|
||||
mov ecx,P_ECX
|
||||
jmp shuffle_and_boot_raw
|
||||
|
||||
+
|
||||
+;
|
||||
+; INT 22h AX=0025h Set current working directory
|
||||
+;
|
||||
+%if IS_ISOLINUX
|
||||
+comapi_setcwd:
|
||||
+ mov si,P_BX
|
||||
+ mov di,TmpDirName
|
||||
+ mov cx,FILENAME_MAX
|
||||
+ mov ds,P_ES
|
||||
+.copy:
|
||||
+ lodsb
|
||||
+ stosb
|
||||
+ or al,al
|
||||
+ loopnz .copy
|
||||
+ push cs
|
||||
+ pop ds
|
||||
+ stc
|
||||
+ jnz .err
|
||||
+ mov di,TmpDirName
|
||||
+ call setcwd
|
||||
+.err:
|
||||
+ ret
|
||||
+%else
|
||||
+comapi_setcwd equ comapi_err
|
||||
+%endif
|
||||
+
|
||||
+
|
||||
+;
|
||||
+; INT 22h AX=0026h Read filesystem meta data
|
||||
+;
|
||||
+%if IS_ISOLINUX
|
||||
+comapi_mount:
|
||||
+; call iso_mount
|
||||
+ ret
|
||||
+%else
|
||||
+comapi_mount equ comapi_err
|
||||
+%endif
|
||||
+
|
||||
section .data
|
||||
|
||||
%macro int21 2
|
||||
@@ -970,6 +1008,88 @@ comapi_shufraw:
|
||||
dw %2
|
||||
%endmacro
|
||||
|
||||
+
|
||||
+;
|
||||
+; INT 22h AX=0027h Run command, return on error
|
||||
+;
|
||||
+; Terminates the COMBOOT program and executes the command line in
|
||||
+; ES:BX as if it had been entered by the user.
|
||||
+; CS:SI: comboot callback (via far call)
|
||||
+; EDI kernel load address
|
||||
+;
|
||||
+comapi_run2:
|
||||
+ push word P_CS
|
||||
+ push word P_SI
|
||||
+ pop dword [comboot_far]
|
||||
+ push dword P_EDI
|
||||
+ pop dword [KernelStart]
|
||||
+ mov ds,P_ES
|
||||
+ mov si,P_BX
|
||||
+ mov di,command_line
|
||||
+ call strcpy
|
||||
+ push cs
|
||||
+ pop ds
|
||||
+ push cs
|
||||
+ pop es
|
||||
+ mov [comboot_sp_save],sp ; save stack pointer
|
||||
+ mov word [comboot_hook],comboot_hook_entry
|
||||
+ or byte [QuietBoot],2
|
||||
+ jmp load_kernel ; Run a new kernel
|
||||
+
|
||||
+comapi_run2_cont:
|
||||
+ mov word [comboot_hook],comboot_hook_nop
|
||||
+ mov sp,[comboot_sp_save] ; fix stack pointer
|
||||
+ and byte [QuietBoot],~2
|
||||
+ clc
|
||||
+ ret
|
||||
+
|
||||
+;
|
||||
+; Callback function used at various places during kernel/initrd loading.
|
||||
+;
|
||||
+; The function either returns or continues at comapi_run2_cont.
|
||||
+;
|
||||
+; AL:
|
||||
+; bit 7: 0/1 return/don't return
|
||||
+; bit 0-6: function code
|
||||
+; 0: abort kernel/initrd loading
|
||||
+; 1: kernel/initrd not found
|
||||
+; 2: kernel corrupt
|
||||
+; 3: out of memory (while initrd loading)
|
||||
+; 4: progress start
|
||||
+; 5: progress increment
|
||||
+; 6: progress end: kernel loaded, stop gfxboot
|
||||
+;
|
||||
+comboot_hook_entry:
|
||||
+ pushad
|
||||
+ push gs
|
||||
+ push fs
|
||||
+ push es
|
||||
+ push ds
|
||||
+ call far [comboot_far]
|
||||
+ pop ds
|
||||
+ pop es
|
||||
+ pop fs
|
||||
+ pop gs
|
||||
+ popad
|
||||
+ pushad
|
||||
+ and al,7fh
|
||||
+ cmp al,6
|
||||
+ jnz .notlast
|
||||
+ push es
|
||||
+ mov si,DOSSaveVectors
|
||||
+ mov di,4*20h
|
||||
+ mov cx,20h
|
||||
+ push word 0
|
||||
+ pop es
|
||||
+ rep movsd ; Restore DOS-range vectors
|
||||
+ pop es
|
||||
+.notlast:
|
||||
+ popad
|
||||
+ test al,80h
|
||||
+ jnz comapi_run2_cont
|
||||
+comboot_hook_nop:
|
||||
+ ret
|
||||
+
|
||||
int21_table:
|
||||
int21 00h, comboot_return
|
||||
int21 01h, comboot_getkey
|
||||
@@ -1022,8 +1142,15 @@ int22_table:
|
||||
dw comapi_closedir ; 0022 close directory
|
||||
dw comapi_shufsize ; 0023 query shuffler size
|
||||
dw comapi_shufraw ; 0024 cleanup, shuffle and boot raw
|
||||
+ dw comapi_setcwd ; 0025 set current working directory
|
||||
+ dw comapi_mount ; 0026 read fs structures (aka mount)
|
||||
+ dw comapi_run2 ; 0027 like 0003, but return on error
|
||||
int22_count equ ($-int22_table)/2
|
||||
|
||||
+comboot_sp_save dw 0
|
||||
+comboot_hook dw comboot_hook_nop
|
||||
+comboot_far dd 0
|
||||
+
|
||||
APIKeyWait db 0
|
||||
APIKeyFlag db 0
|
||||
|
||||
@@ -1042,8 +1169,9 @@ feature_flags_len equ ($-feature_flags)
|
||||
err_notdos db ': attempted DOS system call INT ',0
|
||||
err_comlarge db 'COMBOOT image too large.', CR, LF, 0
|
||||
|
||||
- section .bss1
|
||||
+ section .bss2
|
||||
alignb 4
|
||||
DOSErrTramp resd 33 ; Error trampolines
|
||||
+TmpDirName resb FILENAME_MAX
|
||||
ConfigName resb FILENAME_MAX
|
||||
CurrentDirName resb FILENAME_MAX
|
||||
diff --git a/core/isolinux.asm b/core/isolinux.asm
|
||||
index 2627c2d..a0910fb 100644
|
||||
--- a/core/isolinux.asm
|
||||
+++ b/core/isolinux.asm
|
||||
@@ -1135,73 +1135,23 @@ all_read:
|
||||
; (which will be at 16 only for a single-session disk!); from the PVD
|
||||
; we should be able to find the rest of what we need to know.
|
||||
;
|
||||
-get_fs_structures:
|
||||
- mov eax,[bi_pvd]
|
||||
- mov bx,trackbuf
|
||||
- call getonesec
|
||||
-
|
||||
- mov eax,[trackbuf+156+2]
|
||||
- mov [RootDir+dir_lba],eax
|
||||
- mov [CurrentDir+dir_lba],eax
|
||||
-%ifdef DEBUG_MESSAGES
|
||||
- mov si,dbg_rootdir_msg
|
||||
- call writemsg
|
||||
- call writehex8
|
||||
- call crlf
|
||||
-%endif
|
||||
- mov eax,[trackbuf+156+10]
|
||||
- mov [RootDir+dir_len],eax
|
||||
- mov [CurrentDir+dir_len],eax
|
||||
- add eax,SECTOR_SIZE-1
|
||||
- shr eax,SECTOR_SHIFT
|
||||
- mov [RootDir+dir_clust],eax
|
||||
- mov [CurrentDir+dir_clust],eax
|
||||
-
|
||||
- ; Look for an isolinux directory, and if found,
|
||||
- ; make it the current directory instead of the root
|
||||
- ; directory.
|
||||
- ; Also copy the name of the directory to CurrentDirName
|
||||
- mov word [CurrentDirName],ROOT_DIR_WORD ; Write '/',0 to the CurrentDirName
|
||||
+ call iso_mount
|
||||
mov di,boot_dir ; Search for /boot/isolinux
|
||||
- mov al,02h
|
||||
- push di
|
||||
- call searchdir_iso
|
||||
- pop di
|
||||
- jnz .found_dir
|
||||
- mov di,isolinux_dir
|
||||
- mov al,02h ; Search for /isolinux
|
||||
- push di
|
||||
- call searchdir_iso
|
||||
- pop di
|
||||
- jz .no_isolinux_dir
|
||||
+ call setcwd
|
||||
+ jnc .found_dir
|
||||
+ mov di,isolinux_dir ; Search for /isolinux
|
||||
+ call setcwd
|
||||
.found_dir:
|
||||
- ; Copy current directory name to CurrentDirName
|
||||
- push si
|
||||
- push di
|
||||
- mov si,di
|
||||
- mov di,CurrentDirName
|
||||
- call strcpy
|
||||
- mov byte [di],0 ;done in case it's not word aligned
|
||||
- dec di
|
||||
- mov byte [di],'/'
|
||||
- pop di
|
||||
- pop si
|
||||
|
||||
- mov [CurrentDir+dir_len],eax
|
||||
- mov eax,[si+file_left]
|
||||
- mov [CurrentDir+dir_clust],eax
|
||||
- xor eax,eax ; Free this file pointer entry
|
||||
- xchg eax,[si+file_sector]
|
||||
- mov [CurrentDir+dir_lba],eax
|
||||
%ifdef DEBUG_MESSAGES
|
||||
push si
|
||||
mov si,dbg_isodir_msg
|
||||
call writemsg
|
||||
pop si
|
||||
+ mov eax,[CurrentDir+dir_lba]
|
||||
call writehex8
|
||||
call crlf
|
||||
%endif
|
||||
-.no_isolinux_dir:
|
||||
|
||||
;
|
||||
; Locate the configuration file
|
||||
@@ -1706,6 +1656,90 @@ getfssec:
|
||||
TRACER 'f'
|
||||
ret
|
||||
|
||||
+;
|
||||
+; setcwd: Set current working directory.
|
||||
+;
|
||||
+; On entry:
|
||||
+; DI -> directory name
|
||||
+; On exit:
|
||||
+; CF = 1 -> error
|
||||
+;
|
||||
+; On error, the old working directory is kept.
|
||||
+;
|
||||
+setcwd:
|
||||
+ mov al,02h
|
||||
+ push di
|
||||
+ call searchdir_iso
|
||||
+ pop di
|
||||
+ stc
|
||||
+ jz .err
|
||||
+ mov [CurrentDir+dir_len],eax
|
||||
+ mov eax,[si+file_left]
|
||||
+ mov [CurrentDir+dir_clust],eax
|
||||
+ xor eax,eax
|
||||
+ xchg eax,[si+file_sector]
|
||||
+ mov [CurrentDir+dir_lba],eax
|
||||
+ mov si,di
|
||||
+ mov di,CurrentDirName
|
||||
+ cmp si,di
|
||||
+ jz .ok
|
||||
+ mov cx,FILENAME_MAX
|
||||
+ push ds
|
||||
+ pop es
|
||||
+.copy:
|
||||
+ lodsb
|
||||
+ stosb
|
||||
+ or al,al
|
||||
+ loopnz .copy
|
||||
+ mov byte [di-1],0
|
||||
+ jnz .err
|
||||
+.ok:
|
||||
+ clc
|
||||
+.err:
|
||||
+ ret
|
||||
+
|
||||
+;
|
||||
+; Read fs meta data and setup RootDir and CurrentDir.
|
||||
+;
|
||||
+; On exit:
|
||||
+; CF = 1 -> error
|
||||
+;
|
||||
+iso_mount:
|
||||
+ mov eax,[bi_pvd]
|
||||
+ mov bx,trackbuf
|
||||
+ call getonesec
|
||||
+
|
||||
+ mov eax,[trackbuf+156+10]
|
||||
+ mov [RootDir+dir_len],eax
|
||||
+ add eax,SECTOR_SIZE-1
|
||||
+ shr eax,SECTOR_SHIFT
|
||||
+ mov [RootDir+dir_clust],eax
|
||||
+ mov eax,[trackbuf+156+2]
|
||||
+ mov [RootDir+dir_lba],eax
|
||||
+
|
||||
+ push ds
|
||||
+ pop es
|
||||
+ mov si,RootDir
|
||||
+ mov di,CurrentDir
|
||||
+ mov cx,dir_t_size
|
||||
+ rep movsb
|
||||
+
|
||||
+%ifdef DEBUG_MESSAGES
|
||||
+ mov si,dbg_rootdir_msg
|
||||
+ call writemsg
|
||||
+ call writehex8
|
||||
+ call crlf
|
||||
+%endif
|
||||
+
|
||||
+ mov di,CurrentDirName
|
||||
+ call setcwd
|
||||
+ jnc .ok
|
||||
+ mov word [CurrentDirName],ROOT_DIR_WORD
|
||||
+.ok:
|
||||
+ clc
|
||||
+ ret
|
||||
+
|
||||
+
|
||||
; -----------------------------------------------------------------------------
|
||||
; Common modules
|
||||
; -----------------------------------------------------------------------------
|
||||
diff --git a/core/layout.inc b/core/layout.inc
|
||||
index 8c2e248..ca95d2b 100644
|
||||
--- a/core/layout.inc
|
||||
+++ b/core/layout.inc
|
||||
@@ -123,4 +123,4 @@ real_mode_seg equ cache_seg + 1000h
|
||||
pktbuf_seg equ cache_seg ; PXELINUX packet buffers
|
||||
%endif
|
||||
|
||||
-comboot_seg equ real_mode_seg ; COMBOOT image loading zone
|
||||
+comboot_seg equ real_mode_seg + 1000h ; COMBOOT image loading zone
|
||||
diff --git a/core/loadhigh.inc b/core/loadhigh.inc
|
||||
index 8ff9da1..91061fc 100644
|
||||
--- a/core/loadhigh.inc
|
||||
+++ b/core/loadhigh.inc
|
||||
@@ -101,6 +101,8 @@ load_high:
|
||||
ret
|
||||
|
||||
.overflow: mov si,err_nohighmem
|
||||
+ mov al,83h
|
||||
+ call [comboot_hook] ; may not return
|
||||
jmp abort_load
|
||||
|
||||
section .data
|
||||
diff --git a/core/runkernel.inc b/core/runkernel.inc
|
||||
index 8bfc8b8..0cd2488 100644
|
||||
--- a/core/runkernel.inc
|
||||
+++ b/core/runkernel.inc
|
||||
@@ -165,7 +165,7 @@ opt_mem:
|
||||
ret
|
||||
|
||||
opt_quiet:
|
||||
- mov byte [QuietBoot],1
|
||||
+ or byte [QuietBoot],1
|
||||
ret
|
||||
|
||||
%if IS_PXELINUX
|
||||
@@ -228,6 +228,8 @@ new_kernel:
|
||||
mov [LoadFlags],al
|
||||
|
||||
any_kernel:
|
||||
+ mov al,4
|
||||
+ call [comboot_hook]
|
||||
mov si,loading_msg
|
||||
call writestr_qchk
|
||||
mov si,KernelCName ; Print kernel name part of
|
||||
@@ -257,7 +259,7 @@ read_kernel:
|
||||
mov ecx,8000h ; 32K
|
||||
sub ecx,esi ; Number of bytes to copy
|
||||
add esi,(real_mode_seg << 4) ; Pointer to source
|
||||
- mov edi,100000h ; Copy to address 100000h
|
||||
+ mov edi,[KernelStart] ; Copy to kernel address
|
||||
|
||||
call bcopy ; Transfer to high memory
|
||||
|
||||
@@ -319,6 +321,9 @@ load_initrd:
|
||||
;
|
||||
call abort_check ; Last chance!!
|
||||
|
||||
+ mov al,6
|
||||
+ call [comboot_hook]
|
||||
+
|
||||
mov si,ready_msg
|
||||
call writestr_qchk
|
||||
|
||||
@@ -426,7 +431,7 @@ setup_move:
|
||||
|
||||
mov eax,10000h ; Target address of low kernel
|
||||
stosd
|
||||
- mov eax,100000h ; Where currently loaded
|
||||
+ mov eax,[KernelStart] ; Where currently loaded
|
||||
stosd
|
||||
neg eax
|
||||
add eax,[KernelEnd]
|
||||
@@ -434,9 +439,13 @@ setup_move:
|
||||
inc cx
|
||||
|
||||
mov bx,9000h ; Revised real mode segment
|
||||
+ jmp .loading_initrd
|
||||
|
||||
.loading_high:
|
||||
+ mov eax,[KernelStart]
|
||||
+ mov [fs:su_code32start],eax
|
||||
|
||||
+.loading_initrd:
|
||||
cmp word [InitRDPtr],0 ; Did we have an initrd?
|
||||
je .no_initrd
|
||||
|
||||
@@ -489,6 +498,8 @@ old_kernel:
|
||||
xor ax,ax
|
||||
cmp word [InitRDPtr],ax ; Old kernel can't have initrd
|
||||
je .load
|
||||
+ mov al,82h
|
||||
+ call [comboot_hook] ; may not return
|
||||
mov si,err_oldkernel
|
||||
jmp abort_load
|
||||
.load:
|
||||
@@ -613,6 +624,8 @@ loadinitrd:
|
||||
ret
|
||||
|
||||
.notthere:
|
||||
+ mov al,81h
|
||||
+ call [comboot_hook] ; may not return
|
||||
mov si,err_noinitrd
|
||||
call writestr
|
||||
mov si,InitRDCName
|
||||
@@ -625,7 +638,7 @@ loadinitrd:
|
||||
; assumes CS == DS
|
||||
;
|
||||
writestr_qchk:
|
||||
- test byte [QuietBoot],01h
|
||||
+ test byte [QuietBoot],03h
|
||||
jz writestr
|
||||
ret
|
||||
|
||||
@@ -680,4 +693,9 @@ KernelVersion resw 1 ; Kernel protocol version
|
||||
;
|
||||
InitRDPtr resw 1 ; Pointer to initrd= option in command line
|
||||
LoadFlags resb 1 ; Loadflags from kernel
|
||||
-QuietBoot resb 1 ; Set if a quiet boot is requested
|
||||
+
|
||||
+ section .data
|
||||
+QuietBoot db 0 ; Set if a quiet boot is requested
|
||||
+ alignz 4
|
||||
+KernelStart dd 100000h
|
||||
+
|
||||
diff --git a/core/ui.inc b/core/ui.inc
|
||||
index 1b40717..2bc56a1 100644
|
||||
--- a/core/ui.inc
|
||||
+++ b/core/ui.inc
|
||||
@@ -468,6 +468,8 @@ bad_kernel:
|
||||
.really:
|
||||
mov si,KernelName
|
||||
mov di,KernelCName
|
||||
+ mov al,81h
|
||||
+ call [comboot_hook] ; may not return
|
||||
push di
|
||||
call unmangle_name ; Get human form
|
||||
mov si,err_notfound ; Complain about missing kernel
|
||||
@@ -510,7 +512,10 @@ on_error:
|
||||
;
|
||||
; kernel_corrupt: Called if the kernel file does not seem healthy
|
||||
;
|
||||
-kernel_corrupt: mov si,err_notkernel
|
||||
+kernel_corrupt:
|
||||
+ mov al,82h
|
||||
+ call [comboot_hook] ; may not return
|
||||
+ mov si,err_notkernel
|
||||
jmp abort_load
|
||||
|
||||
;
|
||||
@@ -591,7 +596,7 @@ kernel_good:
|
||||
;
|
||||
xor ax,ax
|
||||
mov [InitRDPtr],ax
|
||||
- mov [QuietBoot],al
|
||||
+ and byte [QuietBoot],~1
|
||||
%if IS_PXELINUX
|
||||
mov [KeepPXE],al
|
||||
%endif
|
||||
diff --git a/doc/comboot.txt b/doc/comboot.txt
|
||||
index f5fefda..9fe7f28 100644
|
||||
--- a/doc/comboot.txt
|
||||
+++ b/doc/comboot.txt
|
||||
@@ -955,3 +955,12 @@ AX=0024h [3.80] Cleanup, shuffle and boot, raw version
|
||||
with read/write data segments, matching the respective code
|
||||
segment. For mode 0, B=0 and the limits will be 64K, for mode
|
||||
1, B=1 and the limits will be 4 GB.
|
||||
+
|
||||
+
|
||||
+AX=0025h [3.84] Set current working directory
|
||||
+ Input: AX 00025h
|
||||
+ ES:BX null-terminated directory name string
|
||||
+ Output: None
|
||||
+
|
||||
+ Sets the current working directory. For SYSLINUX, ISOLINUX,
|
||||
+ and PXELINUX, this will be an absolute path.
|
||||
diff --git a/modules/gfxboot.asm b/modules/gfxboot.asm
|
||||
index 5c7b118..7d1693f 100644
|
||||
--- a/modules/gfxboot.asm
|
||||
+++ b/modules/gfxboot.asm
|
||||
@@ -179,6 +179,16 @@ input:
|
||||
jmp input
|
||||
|
||||
boot:
|
||||
+ mov ax,cs
|
||||
+ mov es,ax
|
||||
+ mov bx,command_line
|
||||
+ mov si,syslinux_hook
|
||||
+ mov edi,8 << 20 ; at 8MB
|
||||
+ mov ax,27h
|
||||
+ int 22h
|
||||
+ jnc input
|
||||
+
|
||||
+ ; syslinux variant without function 27h
|
||||
call far [gfx_bc_done]
|
||||
mov ax,cs
|
||||
mov es,ax
|
||||
@@ -190,12 +200,77 @@ exit:
|
||||
error:
|
||||
ret
|
||||
|
||||
+sh_table: dw sh_abort ; 0
|
||||
+ dw sh_not_found ; 1
|
||||
+ dw sh_broken ; 2
|
||||
+ dw sh_out_of_mem ; 3
|
||||
+ dw sh_progress_start ; 4
|
||||
+ dw sh_progress_inc ; 5
|
||||
+ dw sh_progress_end ; 6
|
||||
+sh_len equ ($-sh_table)/2
|
||||
+
|
||||
+;
|
||||
+; Callback function used at various places in syslinux.
|
||||
+;
|
||||
+; Can modify all regs & sregs.
|
||||
+;
|
||||
+; AL:
|
||||
+; bit 7: 0/1 return/don't return
|
||||
+; bit 0-6: function code
|
||||
+; 0: abort kernel/initrd loading
|
||||
+; 1: kernel/initrd not found
|
||||
+; 2: kernel corrupt
|
||||
+; 3: out of memory (while initrd loading)
|
||||
+; 4: progress start
|
||||
+; 5: progress increment
|
||||
+; 6: progress end: kernel loaded, stop gfxboot
|
||||
+;
|
||||
+syslinux_hook:
|
||||
+ push cs
|
||||
+ pop ds
|
||||
+ and al,7fh
|
||||
+ cmp al,sh_len
|
||||
+ jae .end
|
||||
+ movzx bx,al
|
||||
+ add bx,bx
|
||||
+ call word [bx+sh_table]
|
||||
+.end:
|
||||
+ retf
|
||||
+
|
||||
+sh_abort:
|
||||
+ ret
|
||||
+
|
||||
+sh_not_found:
|
||||
+ ret
|
||||
+
|
||||
+sh_broken:
|
||||
+ ret
|
||||
+
|
||||
+sh_out_of_mem:
|
||||
+ ret
|
||||
+
|
||||
+sh_progress_start:
|
||||
+ call far [gfx_bc_progress_init]
|
||||
+ ret
|
||||
+
|
||||
+sh_progress_inc:
|
||||
+ mov eax,10000h ; chunk size
|
||||
+ call far [gfx_bc_progress_update]
|
||||
+ ret
|
||||
+
|
||||
+sh_progress_end:
|
||||
+ call far [gfx_bc_progress_done]
|
||||
+ call far [gfx_bc_done]
|
||||
+ ret
|
||||
+
|
||||
+
|
||||
cb_table dw cb_status ; 0
|
||||
dw cb_fopen ; 1
|
||||
dw cb_fread ; 2
|
||||
dw cb_getcwd ; 3
|
||||
dw cb_chdir ; 4
|
||||
dw cb_readsector ; 5
|
||||
+ dw cb_mount ; 6
|
||||
cb_len equ ($-cb_table)/2
|
||||
|
||||
gfx_cb:
|
||||
@@ -291,16 +366,25 @@ cb_fread_end:
|
||||
; edx filename
|
||||
;
|
||||
cb_getcwd:
|
||||
- mov edx,cs
|
||||
+ mov ax,1fh
|
||||
+ int 22h
|
||||
+ mov edx,es
|
||||
+ movzx ebx,bx
|
||||
shl edx,4
|
||||
- add edx,gfx_slash
|
||||
+ add edx,ebx
|
||||
xor al,al
|
||||
ret
|
||||
|
||||
; Set current working directory
|
||||
;
|
||||
cb_chdir:
|
||||
- xor al,al
|
||||
+ push cs
|
||||
+ pop es
|
||||
+ mov bx,fname_buf
|
||||
+ mov ax,25h
|
||||
+ int 22h
|
||||
+ mov al,0
|
||||
+ adc al,0
|
||||
ret
|
||||
|
||||
; Read sector
|
||||
@@ -334,6 +418,17 @@ cb_readsector:
|
||||
cb_readsector_end:
|
||||
ret
|
||||
|
||||
+; Read filesystem meta data.
|
||||
+;
|
||||
+; return:
|
||||
+;
|
||||
+cb_mount:
|
||||
+ mov ax,26h
|
||||
+ int 22h
|
||||
+ mov al,0
|
||||
+ adc al,0
|
||||
+ ret
|
||||
+
|
||||
gfx_init:
|
||||
mov ax,0e801h
|
||||
xor bx,bx
|
||||
@@ -358,11 +453,10 @@ mem_below_16mb:
|
||||
shl eax,10
|
||||
mov [gfx_bios_mem_size],eax
|
||||
shr eax,20
|
||||
- cmp ax,16
|
||||
+ cmp ax,32
|
||||
jb skip_extended
|
||||
|
||||
- mov word [gfx_xmem_0],88h ; 8MB at 8MB
|
||||
- mov dword [gfx_save_area1],7f0000h ; 8MB-64k
|
||||
+ mov word [gfx_xmem_0],017h ; 3MB at 16MB
|
||||
|
||||
skip_extended:
|
||||
movzx ebx,word [gfx_mem_start_seg]
|
||||
@@ -405,7 +499,37 @@ skip_extended:
|
||||
mov [gfx_bc_menu_init],ax
|
||||
mov [gfx_bc_menu_init+2],es
|
||||
|
||||
-; ...
|
||||
+ mov ax,[es:bx+8]
|
||||
+ mov [gfx_bc_infobox_init],ax
|
||||
+ mov [gfx_bc_infobox_init+2],es
|
||||
+
|
||||
+ mov ax,[es:bx+10]
|
||||
+ mov [gfx_bc_infobox_done],ax
|
||||
+ mov [gfx_bc_infobox_done+2],es
|
||||
+
|
||||
+ mov ax,[es:bx+12]
|
||||
+ mov [gfx_bc_progress_init],ax
|
||||
+ mov [gfx_bc_progress_init+2],es
|
||||
+
|
||||
+ mov ax,[es:bx+14]
|
||||
+ mov [gfx_bc_progress_done],ax
|
||||
+ mov [gfx_bc_progress_done+2],es
|
||||
+
|
||||
+ mov ax,[es:bx+16]
|
||||
+ mov [gfx_bc_progress_update],ax
|
||||
+ mov [gfx_bc_progress_update+2],es
|
||||
+
|
||||
+ mov ax,[es:bx+18]
|
||||
+ mov [gfx_bc_progress_limit],ax
|
||||
+ mov [gfx_bc_progress_limit+2],es
|
||||
+
|
||||
+ mov ax,[es:bx+20]
|
||||
+ mov [gfx_bc_password_init],ax
|
||||
+ mov [gfx_bc_password_init+2],es
|
||||
+
|
||||
+ mov ax,[es:bx+22]
|
||||
+ mov [gfx_bc_password_done],ax
|
||||
+ mov [gfx_bc_password_done+2],es
|
||||
|
||||
mov esi,cs
|
||||
shl esi,4
|
||||
@@ -974,8 +1098,6 @@ 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
|
||||
@@ -1071,8 +1193,6 @@ gfx_mem_end_seg resw 1
|
||||
|
||||
alignb 4
|
||||
gfx_mem resd 1 ; linear address
|
||||
-gfx_save_area1 resd 1 ; 64k
|
||||
-gfx_save_area1_used resb 1 ; != 0 if area1 is in use
|
||||
|
||||
alignb 4
|
||||
; interface to loadable gfx extension (seg:ofs values)
|
||||
@@ -1082,3 +1202,12 @@ gfx_bc_init resd 1
|
||||
gfx_bc_done resd 1
|
||||
gfx_bc_input resd 1
|
||||
gfx_bc_menu_init resd 1
|
||||
+gfx_bc_infobox_init resd 1
|
||||
+gfx_bc_infobox_done resd 1
|
||||
+gfx_bc_progress_init resd 1
|
||||
+gfx_bc_progress_done resd 1
|
||||
+gfx_bc_progress_update resd 1
|
||||
+gfx_bc_progress_limit resd 1
|
||||
+gfx_bc_password_init resd 1
|
||||
+gfx_bc_password_done resd 1
|
||||
+
|
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
|
180
syslinux-3.82-suse.diff
Normal file
180
syslinux-3.82-suse.diff
Normal file
@ -0,0 +1,180 @@
|
||||
diff --git a/Makefile b/Makefile
|
||||
index 76abff5..7d00782 100644
|
||||
--- a/Makefile
|
||||
+++ b/Makefile
|
||||
@@ -66,7 +66,7 @@ INSTALL_SBIN = extlinux/extlinux
|
||||
# Things to install in /usr/lib/syslinux
|
||||
INSTALL_AUX = core/pxelinux.0 gpxe/gpxelinux.0 core/isolinux.bin \
|
||||
core/isolinux-debug.bin \
|
||||
- dos/syslinux.com dos/copybs.com win32/syslinux.exe \
|
||||
+ dos/syslinux.com dos/copybs.com \
|
||||
mbr/*.bin $(MODULES)
|
||||
INSTALL_AUX_OPT = win32/syslinux.exe
|
||||
|
||||
diff --git a/core/Makefile b/core/Makefile
|
||||
index 65418c4..fbb38b5 100644
|
||||
--- a/core/Makefile
|
||||
+++ b/core/Makefile
|
||||
@@ -66,6 +66,7 @@ kwdhash.gen: keywords genhash.pl
|
||||
iso%.bin: iso%.elf checksumiso.pl
|
||||
$(OBJCOPY) -O binary $< $@
|
||||
$(PERL) checksumiso.pl $@
|
||||
+ -./add_crc $@
|
||||
|
||||
# Standard rule for {ldlinux,pxelinux,extlinux}.bin
|
||||
%.bin: %.elf
|
||||
diff --git a/core/add_crc b/core/add_crc
|
||||
new file mode 100755
|
||||
index 0000000..0da2307
|
||||
--- /dev/null
|
||||
+++ b/core/add_crc
|
||||
@@ -0,0 +1,57 @@
|
||||
+#! /usr/bin/perl
|
||||
+
|
||||
+use integer;
|
||||
+
|
||||
+# for isolinux
|
||||
+#
|
||||
+# Ensure checksum over (first sector - 64 bytes) [internally: FirstSecSum]
|
||||
+# is 0 by adjusting the variable csum_value.
|
||||
+#
|
||||
+# Though isolinux checks the integrity with a separate checksum after all
|
||||
+# data has been loaded this does not help with BIOSes that don't get even
|
||||
+# the first 2k right. Hence this additional check. :-(
|
||||
+#
|
||||
+
|
||||
+$file = shift;
|
||||
+$list = "$file";
|
||||
+$list =~ s/\.bin$/.lsr/;
|
||||
+
|
||||
+open F, $list;
|
||||
+
|
||||
+while(<F>) {
|
||||
+ if(/^\s*\d+\s*(\S+)\s*0+\s*(\<\d+\>\s*)?csum_value\s*dd\s*0/) {
|
||||
+ $ofs = hex $1;
|
||||
+ }
|
||||
+}
|
||||
+close F;
|
||||
+
|
||||
+die "oops 1\n" unless $ofs && !($ofs & 3);
|
||||
+
|
||||
+# print "$ofs\n";
|
||||
+
|
||||
+open F, $file or die "$file: $!\n";
|
||||
+
|
||||
+$file_size = -s $file;
|
||||
+
|
||||
+sysread F, $buf, $file_size;
|
||||
+
|
||||
+close F;
|
||||
+
|
||||
+die "oops 1\n" if $file_size != length($buf);
|
||||
+
|
||||
+@x = unpack "V512", $buf;
|
||||
+
|
||||
+for ($sum = 0, $i = 16; $i < 512; $i++) {
|
||||
+ $sum += $x[$i];
|
||||
+}
|
||||
+
|
||||
+# printf "0x%08x\n", $sum;
|
||||
+
|
||||
+$ns = pack "V", -$sum;
|
||||
+
|
||||
+substr($buf, $ofs, 4) = $ns;
|
||||
+
|
||||
+open F, ">$file" or die "$file: $!\n";
|
||||
+
|
||||
+syswrite F, $buf;
|
||||
+
|
||||
diff --git a/core/isolinux.asm b/core/isolinux.asm
|
||||
index a0910fb..c947846 100644
|
||||
--- a/core/isolinux.asm
|
||||
+++ b/core/isolinux.asm
|
||||
@@ -308,6 +308,22 @@ initial_csum: xor edi,edi
|
||||
mov [FirstSecSum],edi
|
||||
|
||||
mov [DriveNumber],dl
|
||||
+
|
||||
+ ; check whether the BIOS did load us correctly
|
||||
+ cmp dl,80h ; some BIOSes try to do floppy emulation...
|
||||
+ jb bios_err
|
||||
+ cmp dword [FirstSecSum], byte 0
|
||||
+ jmp bios_ok ; ##############
|
||||
+ jz bios_ok
|
||||
+bios_err:
|
||||
+ mov si,broken_bios_msg
|
||||
+ call writemsg
|
||||
+ jmp short $
|
||||
+broken_bios_msg db 13, 10, 'Cannot boot from this CD. Please try a BIOS update.', 13, 10, 0
|
||||
+ align 4
|
||||
+csum_value dd 0
|
||||
+bios_ok:
|
||||
+
|
||||
%ifdef DEBUG_MESSAGES
|
||||
mov si,startup_msg
|
||||
call writemsg
|
||||
@@ -336,6 +352,9 @@ initial_csum: xor edi,edi
|
||||
cmp word [BIOSType],bios_cdrom
|
||||
jne found_drive ; If so, no spec packet...
|
||||
|
||||
+%if 0
|
||||
+ ; Some BIOSes don't like that call.
|
||||
+
|
||||
; Now figure out what we're actually doing
|
||||
; Note: use passed-in DL value rather than 7Fh because
|
||||
; at least some BIOSes will get the wrong value otherwise
|
||||
@@ -356,6 +375,8 @@ initial_csum: xor edi,edi
|
||||
call crlf
|
||||
%endif
|
||||
|
||||
+%endif
|
||||
+
|
||||
found_drive:
|
||||
; Alright, we have found the drive. Now, try to find the
|
||||
; boot file itself. If we have a boot info table, life is
|
||||
@@ -480,6 +501,9 @@ integrity_ok:
|
||||
%endif
|
||||
jmp all_read ; Jump to main code
|
||||
|
||||
+%if 0
|
||||
+ ; doesn't work anyway, see above
|
||||
+
|
||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||
;; Start of BrokenAwardHack --- 10-nov-2002 Knut_Petersen@t-online.de
|
||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||
@@ -671,6 +695,7 @@ spec_query_failed:
|
||||
mov si,trysbm_msg
|
||||
call writemsg
|
||||
jmp .found_drive ; Pray that this works...
|
||||
+%endif
|
||||
|
||||
fatal_error:
|
||||
mov si,nothing_msg
|
||||
@@ -936,8 +961,18 @@ maxtrans:
|
||||
getlinsec_cdrom:
|
||||
mov si,dapa ; Load up the DAPA
|
||||
mov [si+4],bx
|
||||
- mov [si+6],es
|
||||
mov [si+8],eax
|
||||
+
|
||||
+ ; seems that some BIOSes have problems if the target
|
||||
+ ; segment is 0 (don't ask); to avoid this, we normalize
|
||||
+ ; the buffer address here
|
||||
+ ; -> seen on Acer TravelMate C102Ti
|
||||
+ and word [si+4],0fh
|
||||
+ mov ax,es
|
||||
+ shr bx,4
|
||||
+ add ax,bx
|
||||
+ mov [si+6],ax
|
||||
+
|
||||
.loop:
|
||||
push bp ; Sectors left
|
||||
cmp bp,[MaxTransferCD]
|
||||
@@ -1770,6 +1805,7 @@ default_str db 'default', 0
|
||||
default_len equ ($-default_str)
|
||||
boot_dir db '/boot' ; /boot/isolinux
|
||||
isolinux_dir db '/isolinux', 0
|
||||
+zb 64
|
||||
config_name db 'isolinux.cfg', 0
|
||||
err_disk_image db 'Cannot load disk image (invalid file)?', CR, LF, 0
|
||||
|
3
syslinux-3.82.tar.bz2
Normal file
3
syslinux-3.82.tar.bz2
Normal file
@ -0,0 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:1dbbf8cfd10fc07187fa8bfede23639fc95314976730f3474cb349e8bf6c6f61
|
||||
size 3086896
|
@ -1,101 +0,0 @@
|
||||
---
|
||||
core/isolinux.asm | 33 +++++++++++++++++++++++++++++++++
|
||||
core/layout.inc | 7 +++++++
|
||||
core/parsecmd.inc | 8 ++++++++
|
||||
3 files changed, 48 insertions(+)
|
||||
|
||||
--- a/core/isolinux.asm
|
||||
+++ b/core/isolinux.asm
|
||||
@@ -20,6 +20,9 @@
|
||||
; ****************************************************************************
|
||||
|
||||
%define IS_ISOLINUX 1
|
||||
+
|
||||
+; %define DEBUG_DISKIO
|
||||
+
|
||||
%include "head.inc"
|
||||
|
||||
;
|
||||
@@ -964,10 +967,40 @@ getlinsec_cdrom:
|
||||
; INT 13h with retry
|
||||
xint13: mov byte [RetryCount],retry_count
|
||||
.try: pushad
|
||||
+%ifdef DEBUG_DISKIO
|
||||
+ pushad
|
||||
+ mov cx,16
|
||||
+.zap:
|
||||
+ lodsb
|
||||
+ call writehex2
|
||||
+ mov al,' '
|
||||
+ call writechr
|
||||
+ loop .zap
|
||||
+ mov ah,0
|
||||
+ int 16h
|
||||
+ popad
|
||||
+%endif
|
||||
; seen buggy bios that overwrites buffer address on error...
|
||||
push dword [dapa + 4]
|
||||
call int13
|
||||
pop dword [dapa + 4]
|
||||
+%ifdef DEBUG_DISKIO
|
||||
+ pushad
|
||||
+ pushf
|
||||
+ push ax
|
||||
+ mov al,':'
|
||||
+ call writechr
|
||||
+ mov al,' '
|
||||
+ call writechr
|
||||
+ pop ax
|
||||
+ sbb al,al
|
||||
+ call writehex4
|
||||
+ call crlf
|
||||
+ mov ah,0
|
||||
+ int 16h
|
||||
+ popf
|
||||
+ popad
|
||||
+%endif
|
||||
jc .error
|
||||
.noerror:
|
||||
add sp,byte 8*4 ; Clean up stack
|
||||
--- a/core/layout.inc
|
||||
+++ b/core/layout.inc
|
||||
@@ -56,6 +56,11 @@ RBFG_brainfuck: resb 2048 ; Bigger than
|
||||
|
||||
section .bss2 write nobits align=16
|
||||
|
||||
+%ifdef IS_ISOLINUX
|
||||
+ ; Normal bss...
|
||||
+ section .bss1 write nobits align=16
|
||||
+%endif
|
||||
+
|
||||
section .text exec write progbits align=16
|
||||
section .bcopyxx exec write progbits align=16
|
||||
section .data write progbits align=16
|
||||
@@ -68,8 +73,10 @@ RBFG_brainfuck: resb 2048 ; Bigger than
|
||||
; the spillover from the last fractional sector load.
|
||||
section .uibss write nobits align=16
|
||||
|
||||
+%ifndef IS_ISOLINUX
|
||||
; Normal bss...
|
||||
section .bss1 write nobits align=16
|
||||
+%endif
|
||||
|
||||
; Symbols from linker script
|
||||
%macro SECINFO 1
|
||||
--- a/core/parsecmd.inc
|
||||
+++ b/core/parsecmd.inc
|
||||
@@ -121,6 +121,14 @@ KbdMap resb 256 ; Keyboard map
|
||||
FKeyName resb MAX_FKEYS*FILENAME_MAX ; File names for F-key help
|
||||
KernelCNameLen resw 1 ; Length of unmangled kernel name
|
||||
InitRDCNameLen resw 1 ; Length of unmangled initrd name
|
||||
+
|
||||
+%if IS_ISOLINUX
|
||||
+%ifdef DEBUG_MESSAGES
|
||||
+; we need to rearrange memory a bit to make isolinux-debug.bin fit
|
||||
+ section .bss
|
||||
+%endif
|
||||
+%endif
|
||||
+
|
||||
%if IS_SYSLINUX
|
||||
KernelName resb FILENAME_MAX+1 ; Mangled name for kernel
|
||||
KernelCName resb FILENAME_MAX+2 ; Unmangled kernel name
|
@ -1,39 +0,0 @@
|
||||
--- a/core/isolinux.asm
|
||||
+++ b/core/isolinux.asm
|
||||
@@ -283,6 +304,9 @@
|
||||
cmp word [BIOSType],bios_cdrom
|
||||
jne found_drive ; If so, no spec packet...
|
||||
|
||||
+%if 0
|
||||
+ ; Some BIOSes don't like that call.
|
||||
+
|
||||
; Now figure out what we're actually doing
|
||||
; Note: use passed-in DL value rather than 7Fh because
|
||||
; at least some BIOSes will get the wrong value otherwise
|
||||
@@ -303,6 +327,8 @@
|
||||
call crlf
|
||||
%endif
|
||||
|
||||
+%endif
|
||||
+
|
||||
found_drive:
|
||||
; Alright, we have found the drive. Now, try to find the
|
||||
; boot file itself. If we have a boot info table, life is
|
||||
@@ -427,6 +453,9 @@
|
||||
%endif
|
||||
jmp all_read ; Jump to main code
|
||||
|
||||
+%if 0
|
||||
+ ; doesn't work anyway, see above
|
||||
+
|
||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||
;; Start of BrokenAwardHack --- 10-nov-2002 Knut_Petersen@t-online.de
|
||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||
@@ -618,6 +647,7 @@
|
||||
mov si,trysbm_msg
|
||||
call writemsg
|
||||
jmp .found_drive ; Pray that this works...
|
||||
+%endif
|
||||
|
||||
fatal_error:
|
||||
mov si,nothing_msg
|
@ -1,47 +0,0 @@
|
||||
--- a/core/isolinux.asm
|
||||
+++ b/core/isolinux.asm
|
||||
@@ -724,7 +761,34 @@
|
||||
mov [DiskError],ah ; Save error code
|
||||
popad
|
||||
mov [DiskSys],ax ; Save system call number
|
||||
- dec byte [RetryCount]
|
||||
+
|
||||
+%if 0
|
||||
+ ; eject currently not supported - doesn't work anyway with
|
||||
+ ; most BIOSes
|
||||
+
|
||||
+ test byte [gfx_user_note],1
|
||||
+ jz .noeject
|
||||
+ cmp byte [RetryCount],4
|
||||
+ ja .noeject
|
||||
+ cmp byte [DiskError],0aah ; drive not ready
|
||||
+ jnz .noeject
|
||||
+ ; might have been cdrom eject, wait a bit
|
||||
+ cmp byte [gfx_ok],0
|
||||
+ jz .noeject
|
||||
+ push si
|
||||
+ push di
|
||||
+ push ax
|
||||
+ mov si,err_not_ready
|
||||
+ xor di,di
|
||||
+ mov al,0
|
||||
+ call gfx_infobox
|
||||
+ pop ax
|
||||
+ pop di
|
||||
+ pop si
|
||||
+%endif
|
||||
+.noeject:
|
||||
+
|
||||
+ dec byte [RetryCount]
|
||||
jz .real_error
|
||||
push ax
|
||||
mov al,[RetryCount]
|
||||
@@ -825,6 +936,8 @@
|
||||
crlf_msg db CR, LF
|
||||
null_msg db 0
|
||||
|
||||
+err_not_ready db 'CDROM drive not ready.', 0
|
||||
+
|
||||
bios_cdrom_str db 'ETCD', 0
|
||||
%ifndef DEBUG_MESSAGES
|
||||
bios_cbios_str db 'CHDD', 0
|
@ -1,15 +0,0 @@
|
||||
---
|
||||
Makefile | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
--- a/Makefile
|
||||
+++ b/Makefile
|
||||
@@ -56,7 +56,7 @@ BSUBDIRS = codepage core memdisk modules
|
||||
ITARGET =
|
||||
IOBJECTS = $(ITARGET) dos/copybs.com \
|
||||
utils/gethostip utils/isohybrid utils/mkdiskimage \
|
||||
- mtools/syslinux linux/syslinux extlinux/extlinux
|
||||
+ mtools/syslinux linux/syslinux extlinux/extlinux utils/isohybrid
|
||||
ISUBDIRS = libinstaller mtools linux extlinux utils
|
||||
|
||||
# Things to install in /usr/bin
|
@ -1,14 +0,0 @@
|
||||
---
|
||||
core/isolinux.asm | 1 +
|
||||
1 file changed, 1 insertion(+)
|
||||
|
||||
--- a/core/isolinux.asm
|
||||
+++ b/core/isolinux.asm
|
||||
@@ -1818,6 +1818,7 @@ default_str db 'default', 0
|
||||
default_len equ ($-default_str)
|
||||
boot_dir db '/boot' ; /boot/isolinux
|
||||
isolinux_dir db '/isolinux', 0
|
||||
+isolinux_dir_space zb 64
|
||||
config_name db 'isolinux.cfg', 0
|
||||
err_disk_image db 'Cannot load disk image (invalid file)?', CR, LF, 0
|
||||
|
@ -1,15 +0,0 @@
|
||||
---
|
||||
Makefile | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
--- a/Makefile
|
||||
+++ b/Makefile
|
||||
@@ -66,7 +66,7 @@ INSTALL_SBIN = extlinux/extlinux
|
||||
# Things to install in /usr/lib/syslinux
|
||||
INSTALL_AUX = core/pxelinux.0 gpxe/gpxelinux.0 core/isolinux.bin \
|
||||
core/isolinux-debug.bin \
|
||||
- dos/syslinux.com dos/copybs.com win32/syslinux.exe \
|
||||
+ dos/syslinux.com dos/copybs.com \
|
||||
mbr/*.bin $(MODULES)
|
||||
INSTALL_AUX_OPT = win32/syslinux.exe
|
||||
|
@ -1,23 +0,0 @@
|
||||
--- a/core/isolinux.asm
|
||||
+++ b/core/isolinux.asm
|
||||
@@ -694,10 +724,17 @@
|
||||
;
|
||||
getlinsec_cdrom:
|
||||
mov si,dapa ; Load up the DAPA
|
||||
- mov [si+4],bx
|
||||
- mov bx,es
|
||||
- mov [si+6],bx
|
||||
mov [si+8],eax
|
||||
+ ; seems that some BIOSes have problems if the target
|
||||
+ ; segment is 0 (don't ask); to avoid this, we normalize
|
||||
+ ; the buffer address here
|
||||
+ ; -> seen on Acer TravelMate C102Ti
|
||||
+ mov [si+4],bx
|
||||
+ and word [si+4],0fh
|
||||
+ mov ax,es
|
||||
+ shr bx,4
|
||||
+ add ax,bx
|
||||
+ mov [si+6],ax
|
||||
.loop:
|
||||
push bp ; Sectors left
|
||||
cmp bp,[MaxTransfer]
|
@ -1,12 +1,84 @@
|
||||
-------------------------------------------------------------------
|
||||
Tue May 29 23:35:25 CET 2009 - jeffm@suse.com
|
||||
Wed Jun 10 11:59:54 CEST 2009 - snwint@suse.de
|
||||
|
||||
- update to version 3.82
|
||||
* Lots of bug fixes.
|
||||
* Simple menu: make ONTIMEOUT work with MENU HIDDEN.
|
||||
* PXELINUX: handle TFTP servers which have extra NULs at the
|
||||
end of an OACK packet.
|
||||
* Attempt to halt the processor while idle. This can cause
|
||||
bad reponsiveness when using a serial console especially for
|
||||
automated input; if that ends up being a problem, use the
|
||||
new "NOHALT 1" configuration command.
|
||||
* isohybrid: fix the -partok logic for loading from a partition.
|
||||
* isohybrid: add a variety of options, and a help message.
|
||||
* isohybrid: fix problem with images over 2 GB in size.
|
||||
* ISOLINUX: fix booting in hybrid mode when CBIOS is used.
|
||||
This unfortunately means that the isohybrid handoff protocol
|
||||
has changed, so the isohybrid utility must version-match
|
||||
isolinux.bin.
|
||||
* Don't hang trying to boot a "menu quit" label from the CLI.
|
||||
* Fix problem with boot-once "sticking" on some BIOSes.
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Wed Apr 22 12:54:53 CEST 2009 - snwint@suse.de
|
||||
|
||||
- gfxboot: usage has changed; see README.gfxboot for details
|
||||
|
||||
- update to version 3.75
|
||||
* Lots of bug fixes.
|
||||
* New UI directive, which allows a more natural way to specify
|
||||
a menu system (or not.) With the UI directive specifying
|
||||
the menu system, the DEFAULT directive can be used to select
|
||||
the default entry inside the menus.
|
||||
* kbdmap.c32: new module to load a new keyboard map
|
||||
dynamically.
|
||||
* Suppress the Loading ... message if "quiet" is specified on
|
||||
the kernel command line.
|
||||
* MBR: produce alternate MBR variants which force the drive
|
||||
number to hd0 (_f variants), or force the drive number to
|
||||
hd0 if the Ctrl key is pressed (_c variants.) Furthermore,
|
||||
add an MBR variant (altmbr*.bin) which ignores the active
|
||||
flag and instead boots the partition number specified in the
|
||||
byte at offset 439 decimal.
|
||||
* Add IPAPPEND strings to com32 modules, especially needed for
|
||||
linux.c32.
|
||||
* New MENU SAVE directive which saves the latest menu
|
||||
selection until the next boot. Currently only implemented for
|
||||
EXTLINUX.
|
||||
* gfxboot.com: *experimental* interface module to Steffen
|
||||
Winterfeldt's "gfxboot" graphical front end
|
||||
(http://gfxboot.sourceforge.net/). Module by Sebastian Herbszt.
|
||||
* config.c32: trivial COM32 module to restart Syslinux with
|
||||
another configuration file from the command line (equivalent
|
||||
to the CONFIG command in the configuratin file.)
|
||||
* Include the pxechain.com module from Jeffery Hutzelman at
|
||||
Carnegie Mellon University. This allows chaining another
|
||||
PXE boot program while changing the DHCP packet passed to
|
||||
it.
|
||||
* ISOLINUX: support generating images which can be either
|
||||
a CD-ROM or a hard disk (USB disk, etc.) See
|
||||
doc/isolinux.txt for more information.
|
||||
* Tab display of labels, based on a patch from Sebastian
|
||||
Herbszt. Can be disabled with the NOCOMPLETE configuration
|
||||
command.
|
||||
* Optionally allow initrd to be specified on a separate line
|
||||
rather than as part of the "append" line. This is not
|
||||
recommended, but apparently makes life easier for some
|
||||
tools.
|
||||
* chain.c32: lots of new options added
|
||||
* ifcpu64.c32: simple COM32 module to select a 32- or 64-bit
|
||||
kernel (and optionally 32-bit kernels with or without PAE.)
|
||||
Eventually we want a scripting language for this
|
||||
kind of stuff; a Lua module is under development.
|
||||
* PXELINUX: Support enhanced capabilities when running on top
|
||||
of gPXE (http://www.etherboot.org/). In particular, support
|
||||
URL-style syntax for filenames, and any protocol that gPXE
|
||||
supports (except, currently, iSCSI and AoE.) This feature
|
||||
is currently highly experimental.
|
||||
* SYSLINUX: VFAT long filename support.
|
||||
* Add an experimental MBR for GPT partition tables.
|
||||
|
||||
- Update to 3.81
|
||||
- Lots of bug fixes
|
||||
- Support for disk/CD hybrid images
|
||||
- Integrated gfxboot support
|
||||
- Added support for deprecated 'gfxboot' param
|
||||
- Split into 4 packages
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Tue Nov 4 16:57:17 CET 2008 - snwint@suse.de
|
||||
|
407
syslinux.spec
407
syslinux.spec
@ -1,5 +1,5 @@
|
||||
#
|
||||
# spec file for package syslinux (Version 3.81)
|
||||
# spec file for package syslinux (Version 3.82)
|
||||
#
|
||||
# Copyright (c) 2009 SUSE LINUX Products GmbH, Nuernberg, Germany.
|
||||
#
|
||||
@ -19,31 +19,25 @@
|
||||
|
||||
Name: syslinux
|
||||
ExclusiveArch: %ix86 x86_64
|
||||
BuildRequires: libpng-devel nasm netpbm python
|
||||
%ifarch x86_64
|
||||
BuildRequires: gcc-32bit glibc-32bit glibc-devel-32bit
|
||||
%else
|
||||
BuildRequires: glibc glibc-devel libpng-devel nasm netpbm
|
||||
BuildRequires: gcc-32bit glibc-devel-32bit
|
||||
%endif
|
||||
BuildRequires: libpng-devel nasm netpbm
|
||||
Url: http://syslinux.zytor.com/
|
||||
License: GPL v2 or later
|
||||
Group: System/Boot
|
||||
Requires: mtools
|
||||
AutoReqProv: on
|
||||
Summary: Boot Loader for Linux
|
||||
Version: 3.81
|
||||
Version: 3.82
|
||||
Release: 1
|
||||
Source: %{name}-%{version}.tar.bz2
|
||||
Source1: isolinux-config
|
||||
Patch: %{name}-%{version}.diff
|
||||
Patch1: %{name}-no-win32
|
||||
Patch2: %{name}-nonzero-target-segment-fix.diff
|
||||
Patch3: %{name}-debug.diff
|
||||
Patch4: %{name}-disable-broken-code.diff
|
||||
Patch5: %{name}-eject.diff
|
||||
Patch6: %{name}-install-isohybrid
|
||||
Patch7: %{name}-isolinux-path-config
|
||||
Patch8: %{name}-gfxboot-keyword
|
||||
Source2: README.gfxboot
|
||||
Patch0: %{name}-%{version}-s_herbst.diff
|
||||
Patch1: %{name}-%{version}-gfxboot.diff
|
||||
Patch2: %{name}-%{version}-suse.diff
|
||||
Patch3: %{name}-%{version}-compat.diff
|
||||
BuildRoot: %{_tmppath}/%{name}-%{version}-build
|
||||
|
||||
%description
|
||||
@ -54,392 +48,41 @@ special purpose boot disks.
|
||||
|
||||
|
||||
|
||||
Authors:
|
||||
--------
|
||||
H. Peter Anvin <hpa@zytor.com>
|
||||
|
||||
%package devel
|
||||
License: GPL v2 or later
|
||||
Summary: Boot Loader for Linux
|
||||
Group: System/Boot
|
||||
Requires: syslinux
|
||||
|
||||
%description devel
|
||||
SYSLINUX is a boot loader for the Linux operating system which operates
|
||||
off an MS-DOS or Windows FAT file system. It is intended to simplify
|
||||
first-time installation of Linux and for creation of rescue and other
|
||||
special purpose boot disks.
|
||||
|
||||
|
||||
|
||||
Authors:
|
||||
--------
|
||||
H. Peter Anvin <hpa@zytor.com>
|
||||
|
||||
%package extlinux
|
||||
License: GPL v2 or later
|
||||
Summary: Boot Loader for Linux
|
||||
Group: System/Boot
|
||||
Requires: syslinux
|
||||
|
||||
%description extlinux
|
||||
SYSLINUX is a boot loader for the Linux operating system which operates
|
||||
off an MS-DOS or Windows FAT file system. It is intended to simplify
|
||||
first-time installation of Linux and for creation of rescue and other
|
||||
special purpose boot disks.
|
||||
|
||||
|
||||
|
||||
Authors:
|
||||
--------
|
||||
H. Peter Anvin <hpa@zytor.com>
|
||||
|
||||
%package tftpboot
|
||||
License: GPL v2 or later
|
||||
Summary: Boot Loader for Linux
|
||||
Group: System/Boot
|
||||
Requires: syslinux
|
||||
|
||||
%description tftpboot
|
||||
SYSLINUX is a boot loader for the Linux operating system which operates
|
||||
off an MS-DOS or Windows FAT file system. It is intended to simplify
|
||||
first-time installation of Linux and for creation of rescue and other
|
||||
special purpose boot disks.
|
||||
|
||||
|
||||
|
||||
Authors:
|
||||
--------
|
||||
H. Peter Anvin <hpa@zytor.com>
|
||||
|
||||
%prep
|
||||
%setup -q
|
||||
%patch -p1
|
||||
%patch0 -p1
|
||||
%patch1 -p1
|
||||
#%patch2 -p1
|
||||
%patch2 -p1
|
||||
%patch3 -p1
|
||||
%patch4 -p1
|
||||
%patch5 -p1
|
||||
%patch6 -p1
|
||||
%patch7 -p1
|
||||
%patch8 -p1
|
||||
|
||||
%build
|
||||
cp %{SOURCE2} .
|
||||
export CFLAGS="$RPM_OPT_FLAGS"
|
||||
chmod +x add_crc
|
||||
make clean
|
||||
make -C core spotless
|
||||
chmod +x core/add_crc
|
||||
make spotless
|
||||
make
|
||||
make -C sample tidy
|
||||
|
||||
%install
|
||||
make install-all \
|
||||
INSTALLROOT=%{buildroot} BINDIR=%{_bindir} SBINDIR=%{_sbindir} \
|
||||
LIBDIR=%{_datadir} DATADIR=%{_datadir} \
|
||||
INCDIR=%{_includedir} MANDIR=%{_mandir}
|
||||
TFTPBOOT=/tftpboot EXTLINUXDIR=/boot/extlinux
|
||||
make -C sample tidy
|
||||
mkdir -p %{buildroot}/etc
|
||||
install -m 755 %{_sourcedir}/isolinux-config $RPM_BUILD_ROOT/%{_bindir}
|
||||
INSTALLROOT=%{buildroot} BINDIR=%{_bindir} SBINDIR=%{_bindir} \
|
||||
LIBDIR=%{_datadir} INCDIR=%{_includedir} MANDIR=%{_mandir}
|
||||
# install -s -m 755 unix/syslinux $RPM_BUILD_ROOT/%{_bindir}/syslinux-nomtools
|
||||
install -m 755 %{SOURCE1} $RPM_BUILD_ROOT/%{_bindir}
|
||||
# install -m 755 keytab-lilo.pl syslinux2ansi.pl $RPM_BUILD_ROOT/%{_datadir}/syslinux
|
||||
rm -rf $RPM_BUILD_ROOT/%{_datadir}/syslinux/com32
|
||||
rm -rf $RPM_BUILD_ROOT/boot
|
||||
rm -rf $RPM_BUILD_ROOT/tftpboot
|
||||
|
||||
%files
|
||||
%defattr(-,root,root)
|
||||
%doc COPYING NEWS sample doc/*
|
||||
%doc doc/*.txt
|
||||
%doc README* NEWS
|
||||
%doc %{_mandir}/man1/*
|
||||
%{_bindir}/*
|
||||
%{_datadir}/syslinux/*.com
|
||||
%{_datadir}/syslinux/*.c32
|
||||
%{_datadir}/syslinux/*.bin
|
||||
%{_datadir}/syslinux/*.0
|
||||
%{_datadir}/syslinux/memdisk
|
||||
|
||||
%files devel
|
||||
%{_datadir}/syslinux/com32
|
||||
|
||||
%files extlinux
|
||||
%{_sbindir}/extlinux
|
||||
/boot/extlinux
|
||||
|
||||
%files tftpboot
|
||||
/tftpboot
|
||||
%{_datadir}/syslinux
|
||||
|
||||
%changelog
|
||||
* Fri May 29 2009 jeffm@suse.com
|
||||
- Update to 3.81
|
||||
- Lots of bug fixes
|
||||
- Support for disk/CD hybrid images
|
||||
- Integrated gfxboot support
|
||||
- Added support for deprecated 'gfxboot' param
|
||||
- Split into 4 packages
|
||||
* Tue Nov 04 2008 snwint@suse.de
|
||||
- gfxboot: increase usable mem size to 8MB
|
||||
* Fri Oct 17 2008 olh@suse.de
|
||||
- add ExclusiveArch x86 x86_64
|
||||
* Thu Oct 16 2008 snwint@suse.de
|
||||
- minor serial line patch fix (bnc #436034)
|
||||
* Wed Sep 10 2008 snwint@suse.de
|
||||
- reworked serial line patch (removed SERIALLINES)
|
||||
* Thu Sep 04 2008 snwint@suse.de
|
||||
- added SERIALLINES config option to listen on up to four
|
||||
serial lines (fate #301595)
|
||||
* Mon Apr 28 2008 snwint@suse.de
|
||||
- give more memory to gfxboot code
|
||||
* Mon Apr 14 2008 snwint@suse.de
|
||||
- update to version 3.63
|
||||
* Lots of bug fixes.
|
||||
* Handle command lines up to 2047 characters, the current
|
||||
Linux kernel limit.
|
||||
* Support MD5, SHA256 and SHA512 encrypted passwords.
|
||||
* MEMDISK: Turn on EDD support by default.
|
||||
* Add a new INCLUDE command to the core syslinux parser.
|
||||
* It is now supported to load a different configuration file
|
||||
with the CONFIG keyword.
|
||||
* MENU AUTOBOOT, MENU TABMSG, MENU PASSPROMPT allows
|
||||
internationalization of menu messages.
|
||||
* New hierarchial submenu support: see MENU BEGIN, MENU END,
|
||||
MENU GOTO in doc/menu.txt.
|
||||
* MENU QUIT allows creating a menu entry for returning to the
|
||||
command line.
|
||||
* Simple menu system: new "MENU HIDDEN" option to not display
|
||||
the menu unless the user presses a key.
|
||||
* Add "menu separator", "menu indent", "menu disabled"
|
||||
(see README.menu).
|
||||
* SYSLINUX: Support subdirectories.
|
||||
* PXELINUX: Press Ctrl-N at the boot prompt to read out the
|
||||
network info.
|
||||
* PXELINUX: as per RFC 5071, PXELINUX no longer requires the
|
||||
use of the magic cookie option (208) for unencapsulated
|
||||
options. Currently it does not require it for
|
||||
vendor-encapsulated options (vendor-option-space) either,
|
||||
but that MAY be reverted in the future if it causes problems.
|
||||
* EXTLINUX: boot-once support (--once, --clear-once, and --reset-adv)
|
||||
* Support for "auxilliary data vector", a small amount of
|
||||
writable storage. Currently only supported for EXTLINUX,
|
||||
but the infrastructure is there for the other derivatives,
|
||||
assuming a suitable storage location can be found.
|
||||
* Fri Jun 22 2007 snwint@suse.de
|
||||
- requires mtools (#286216)
|
||||
* Fri Feb 09 2007 snwint@suse.de
|
||||
- fixed file list
|
||||
* Mon Oct 09 2006 snwint@suse.de
|
||||
- no progress dots when in gfx mode
|
||||
* Fri Sep 29 2006 snwint@suse.de
|
||||
- update to version 3.31
|
||||
* The simple menu system (menu.c32 and vesamenu.c32) now
|
||||
support loading more than one configuration file at a time,
|
||||
using MENU INCLUDE or by specifying multiple filenames.
|
||||
* The MENU COLOR statement can now control the shadowing mode.
|
||||
* libcom32 extended to support graphics mode and graphical console.
|
||||
* vesamenu.c32, new graphical version of the Simple
|
||||
Menu System, see README.menu.
|
||||
* New com32 modules by Erwan Velu do selection based on CPUID
|
||||
or PCI devices present.
|
||||
* EXTLINUX: New options --install (-i) and --update (-U), to
|
||||
make it clear if a boot loader should be installed or
|
||||
updated. For now, defaults to --install for compatibility;
|
||||
a future version will require one of these options.
|
||||
* New library functions to load and place files in memory.
|
||||
* mboot.c32 bug fixes.
|
||||
* Remove 8 MB kernel size restriction.
|
||||
* PXELINUX: Fail (and eventually reboot) if no configuration
|
||||
file was found.
|
||||
* COM32 module by Erwan Velu to make decisions based on DMI info.
|
||||
* Fix issue where going back and forth between menus a lot
|
||||
would cause a hang.
|
||||
* ISOLINUX: Fix bug which made "cd boot sectors" not work.
|
||||
* Fri Aug 25 2006 snwint@suse.de
|
||||
- needs gcc41-32bit
|
||||
* Wed Aug 23 2006 snwint@suse.de
|
||||
- support latest gfxboot
|
||||
* Tue Aug 15 2006 cthiel@suse.de
|
||||
- specfile cleanup
|
||||
- include chain.c32, copybs.com, ethersel.c32, mboot.c32, mbr.bin, menu.c32,
|
||||
syslinux.com, mboot.doc README.menu and README.usbkey
|
||||
* Mon Jun 19 2006 snwint@suse.de
|
||||
- syslinux did not clear memory between initrds (#184706)
|
||||
* Thu Apr 27 2006 snwint@suse.de
|
||||
- ignore drive reset error when booting from local disk (#169014)
|
||||
* Thu Feb 09 2006 snwint@suse.de
|
||||
- monitor detection can be skipped (#149578)
|
||||
* Thu Feb 02 2006 snwint@suse.de
|
||||
- no aborts while kernel loads in gfx mode (#145748)
|
||||
* Mon Jan 30 2006 snwint@suse.de
|
||||
- fixed isolinux-config to work with new perl
|
||||
* Wed Jan 25 2006 mls@suse.de
|
||||
- converted neededforbuild to BuildRequires
|
||||
* Mon Jan 23 2006 snwint@suse.de
|
||||
- cjwatson@ubuntu.com: support big-endian cpio archives (#140119)
|
||||
- support direct driverupdate loading from CD-ROM (feat #152):
|
||||
o initrd loading errors are no longer fatal
|
||||
o if initrd name starts with '+' ask for CD change
|
||||
* Wed Dec 14 2005 snwint@suse.de
|
||||
- really disable text messages
|
||||
- cjwatson@ubuntu.com: turn off graphics for localboot
|
||||
* Fri Dec 02 2005 snwint@suse.de
|
||||
- make it build on beta
|
||||
* Wed Nov 30 2005 snwint@suse.de
|
||||
- update to version 3.11
|
||||
- gfxboot patch changed significantly - check README.gfxboot
|
||||
* Thu Oct 06 2005 snwint@suse.de
|
||||
- add chdir/getcwd functions to gfxboot
|
||||
* Mon Sep 26 2005 snwint@suse.de
|
||||
- wrote isolinux-config script
|
||||
* Fri Sep 09 2005 snwint@suse.de
|
||||
- press Alt key to optionally skip monitor detection (#115204)
|
||||
* Wed Apr 27 2005 snwint@suse.de
|
||||
- fixed to take bios memory size into account (#65458)
|
||||
* Fri Apr 22 2005 snwint@suse.de
|
||||
- fixed 16 bit color mode selection (#79312)
|
||||
* Tue Apr 12 2005 snwint@suse.de
|
||||
- make it work with gcc4
|
||||
* Fri Feb 04 2005 snwint@suse.de
|
||||
- solved memory corruption issue (might have caused #43877)
|
||||
* Mon Jan 31 2005 snwint@suse.de
|
||||
- don't read from disk (#47891)
|
||||
* Fri Jan 28 2005 snwint@suse.de
|
||||
- updated gfxboot patch
|
||||
* Mon Jan 24 2005 snwint@suse.de
|
||||
- added syslinux-nomtools
|
||||
- removed dependencies from mtools and bootsplash
|
||||
* Mon Sep 13 2004 snwint@suse.de
|
||||
- moved syslinux into /usr/bin (#44780)
|
||||
* Mon Aug 23 2004 snwint@suse.de
|
||||
- updated to syslinux 2.11
|
||||
* Thu Apr 08 2004 snwint@suse.de
|
||||
- make bios mem info available for gfxboot
|
||||
* Fri Apr 02 2004 snwint@suse.de
|
||||
- don't reset timeout for 'notice' option
|
||||
* Fri Apr 02 2004 snwint@suse.de
|
||||
- reduce max number of boot menu entries (syslinux: 64, isolinux: 32)
|
||||
to make room for boot graphics
|
||||
* Wed Mar 31 2004 snwint@suse.de
|
||||
- fixed pxelinux (#36625)
|
||||
* Mon Mar 15 2004 snwint@suse.de
|
||||
- fixed menu size check (#35508)
|
||||
- removed vmware from blacklist (#35896)
|
||||
* Mon Mar 08 2004 ro@suse.de
|
||||
- fix build on x86_64
|
||||
* Fri Mar 05 2004 snwint@suse.de
|
||||
- update to 2.08
|
||||
* Tue Jan 13 2004 snwint@suse.de
|
||||
- understand new gfxboot file format
|
||||
* Tue Dec 16 2003 snwint@suse.de
|
||||
- boot disk may have a file system that spans several floppies
|
||||
* Wed Sep 10 2003 snwint@suse.de
|
||||
- fixed monitor data interpretation bug (#29718)
|
||||
* Mon Sep 01 2003 snwint@suse.de
|
||||
- work around bios disk read bug (seen on VIA KT133A)
|
||||
* Mon Aug 25 2003 snwint@suse.de
|
||||
- update to 2.06: fix problem that would occationally cause a
|
||||
boot failure, depending on the length of the kernel
|
||||
* Thu Aug 21 2003 ro@suse.de
|
||||
- make it build on x86_64
|
||||
* Mon Aug 18 2003 snwint@suse.de
|
||||
- update to 2.05
|
||||
* Wed Apr 16 2003 coolo@suse.de
|
||||
- use BuildRoot
|
||||
* Tue Mar 11 2003 snwint@suse.de
|
||||
- wait for 'enter' in text mode interface, too (#25047)
|
||||
* Sat Mar 08 2003 snwint@suse.de
|
||||
- handle "boot from hd" errors properly (#24788)
|
||||
* Thu Mar 06 2003 snwint@suse.de
|
||||
- preselect 640x480 even if no vbe support at all
|
||||
* Sat Mar 01 2003 snwint@suse.de
|
||||
- dynamically change FAT buffer size; this gives more space for
|
||||
boot graphics
|
||||
- really add 640x480 to modelist if no VB extension was found (#24293)
|
||||
- _copy_ VBE mode list, might get overwritten (#23582)
|
||||
* Tue Feb 18 2003 snwint@suse.de
|
||||
- new splash handling: splash files no longer have to be added to
|
||||
initrd but are read separately from <resolution>.spl files
|
||||
* Fri Feb 14 2003 snwint@suse.de
|
||||
- read device path info
|
||||
- joined all diffs
|
||||
* Sun Feb 09 2003 snwint@suse.de
|
||||
- updated graphics patch
|
||||
* Wed Feb 05 2003 snwint@suse.de
|
||||
- make isolinux work around a strange bios bug (#23323)
|
||||
- fix reading vbe mode list for machines that don't zero
|
||||
its memory (#23261)
|
||||
* Wed Sep 04 2002 snwint@suse.de
|
||||
- select 8 bit fb modes if 16 bit is not available
|
||||
* Tue Sep 03 2002 snwint@suse.de
|
||||
- fixed minor bug detecting available gfx modes
|
||||
* Tue Sep 03 2002 snwint@suse.de
|
||||
- fixed Requires
|
||||
* Wed Jul 17 2002 snwint@suse.de
|
||||
- adaped graphics patch to handle new graphics file format
|
||||
* Mon Mar 04 2002 snwint@suse.de
|
||||
- detect fujitsu siemens notebook lcd
|
||||
* Mon Mar 04 2002 snwint@suse.de
|
||||
- allow booting from harddisk
|
||||
* Sun Mar 03 2002 snwint@suse.de
|
||||
- initrd may optionally be on a second disk
|
||||
* Tue Feb 19 2002 snwint@suse.de
|
||||
- make isolinux work on some more systems
|
||||
(they used to break with 'Disk error 00')
|
||||
* Mon Feb 18 2002 snwint@suse.de
|
||||
- removed Matrox cards from exception list
|
||||
- don't put monitor data into kernel cmdline
|
||||
* Fri Feb 01 2002 ro@suse.de
|
||||
- changed neededforbuild <libpng> to <libpng-devel-packages>
|
||||
* Mon Sep 17 2001 snwint@suse.de
|
||||
- no fb for Matrox G550 cards (#10749)
|
||||
* Mon Sep 10 2001 snwint@suse.de
|
||||
- don't select vmware fb mode, the kernel doesn't like it
|
||||
* Sun Sep 09 2001 snwint@suse.de
|
||||
- created single diff file
|
||||
- support gfxboot-1.4
|
||||
* Tue Sep 04 2001 snwint@suse.de
|
||||
- should boot on some more computers
|
||||
- print warning and hint to use CD2 if we encounter a broken BIOS
|
||||
* Mon Sep 03 2001 snwint@suse.de
|
||||
- exclude list for cards where fbdev will not work
|
||||
- allow longer base directory name for boot image
|
||||
* Wed Aug 22 2001 snwint@suse.de
|
||||
- fixed 16 bit fb selection
|
||||
* Mon Aug 20 2001 snwint@suse.de
|
||||
- we want 16 bit framebuffer now
|
||||
* Fri Aug 10 2001 snwint@suse.de
|
||||
- added 1024x768 support
|
||||
* Mon Aug 06 2001 snwint@suse.de
|
||||
- upgraded to new version (1.62)
|
||||
- fixed isolinux to work with graphics
|
||||
- fixed minor isolinux bug to make it boot on Toshiba Satellite notebooks
|
||||
* Mon May 14 2001 snwint@suse.de
|
||||
- syslinux reports wrong video mode (#8244)
|
||||
* Wed May 09 2001 snwint@suse.de
|
||||
- fixed boot problem on d230 (#7958)
|
||||
- corrected detection of 800x600 frame buffer mode support (#7959)
|
||||
* Sun May 06 2001 snwint@suse.de
|
||||
- ask for driver update disk in graphics mode
|
||||
- F2 - F4 video mode selection in text mode
|
||||
- make 800x600 default if monitor supports it *or*
|
||||
graphics card has >= 4MB memory
|
||||
* Tue May 01 2001 kukuk@suse.de
|
||||
- Add libpng to neededforbuild
|
||||
* Tue May 01 2001 ro@suse.de
|
||||
- added libnetpbm to neededforbuild
|
||||
* Mon Apr 30 2001 snwint@suse.de
|
||||
- made it require gfxboot package
|
||||
- added netpbm to #neededforbuild
|
||||
* Mon Apr 30 2001 snwint@suse.de
|
||||
- new version (1.61): can now boot CDs directly (isolinux)
|
||||
- graphics support completely reworked
|
||||
* Tue Apr 03 2001 snwint@suse.de
|
||||
- completely reworked syslinux patch
|
||||
- support graphics boot screen
|
||||
* Sun Jan 14 2001 snwint@suse.de
|
||||
- new messages for our Driver Update feature
|
||||
* Tue Jan 09 2001 ro@suse.de
|
||||
- re-added README.SuSE to diff
|
||||
* Mon Dec 18 2000 snwint@suse.de
|
||||
- detect BIOS extended read capability
|
||||
* Fri Jun 09 2000 snwint@suse.de
|
||||
- improved ddc parser
|
||||
- ! kernel cmdline gets quite long already (slightly below 200 chars) !
|
||||
* Fri Feb 11 2000 snwint@suse.de
|
||||
- new version (1.48)
|
||||
- some new features (see README.SuSE)
|
||||
* Mon Oct 11 1999 snwint@suse.de
|
||||
- added package (version 1.45)
|
||||
|
Loading…
Reference in New Issue
Block a user