The problem is that syslinux incorrectly computes amount of data it should read to load a kernel. Attached patch fixes this. With this patch applied I can boot from access floppy. Also tested it with netboot (PXE) and d-i boot.img. I does not understand however why does syslinux works with other kernels without patch.

--
Eugeniy Meshcheryakov

Kyiv National Taras Shevchenko University
Information and Computing Centre
http://icc.univ.kiev.ua
diff -urN syslinux-2.04/runkernel.inc syslinux-mod/runkernel.inc
--- syslinux-2.04/runkernel.inc 2003-04-11 08:44:56.000000000 +0300
+++ syslinux-mod/runkernel.inc  2004-06-23 10:05:37.000000000 +0300
@@ -258,8 +258,8 @@
                inc si                          ; plus 1 boot sector
                 shl si,9                       ; Convert to bytes
                 mov ecx,8000h                  ; 32K
-               sub ecx,esi                     ; Number of bytes to copy
                push ecx
+               sub ecx,esi                     ; Number of bytes to copy
                add esi,(real_mode_seg << 4)    ; Pointer to source
                 mov edi,100000h                 ; Copy to address 100000h
 

Reply via email to