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