Paul Dickson
2005-Mar-26 16:58 UTC
[syslinux] [ISOLINUX] No boot: prompt with ISOLINUX 3.07
I found that the version of isolinux.bin (and the debug version too) doesn't work on my Via C3 system. I get the SAY text, but never the boot: prompt. C-A-Del doesn't reboot either. The debug version does not print anything after announcing it's opening the config file. Only the single SAY text follows. The cursor sits on the next blank line, useless (no responses to key presses). I had one case where the system rebooted from this point, but I haven't been able to reproduce the event (may have been my imagination?). When I replaced the copy of isolinux.bin with the copy that's on the Knoppix 3.7 CD, then I get the boot: prompt. I tried a version of the isolinux.cfg with a SAY at the beginning and the end of the text file, but only the first one was printed. I don't have this in the current working version, so I don't know whether not having both SAYs text printed is a problem with ISOLINUX or my understanding. works 10036 Dec 14 16:38 src/syslinux-2.13/isolinux.bin not 10080 Dec 30 16:44 src/syslinux-3.00/isolinux.bin not 10388 Jan 12 02:57 src/syslinux-3.07/isolinux.bin not 10408 Jan 25 00:19 src/syslinux-3.08-pre5/isolinux.bin I'm willing to try some fixes. -Paul Glad I'm using a CD-RW. Bios Id: R-VIAEPIA-0067 Rev: Whizpro BIOS Date: 01/24/03 System: BIOS version: 1.08 VIA C3 933Mhz 067A # cat /proc/cpuinfo processor : 0 vendor_id : CentaurHauls cpu family : 6 model : 7 model name : VIA Ezra stepping : 10 cpu MHz : 933.632 cache size : 64 KB fdiv_bug : no hlt_bug : no f00f_bug : no coma_bug : no fpu : yes fpu_exception : yes cpuid level : 1 wp : yes flags : fpu de tsc msr cx8 mtrr pge mmx 3dnow bogomips : 1839.10 [isolinux.cfg] default test say Hello World! prompt 1 timeout 300 label test kernel /boot/linux2611.bzi append root=/dev/hdc routerinfo="internel=eth0 externel=none" label router kernel /boot/linux2611.bzi append root=/dev/hdd external=eth1 internal=eth0 -Paul
H. Peter Anvin
2005-Mar-26 21:14 UTC
[syslinux] [ISOLINUX] No boot: prompt with ISOLINUX 3.07
Paul Dickson wrote:> > works 10036 Dec 14 16:38 src/syslinux-2.13/isolinux.bin > not 10080 Dec 30 16:44 src/syslinux-3.00/isolinux.bin > not 10388 Jan 12 02:57 src/syslinux-3.07/isolinux.bin > not 10408 Jan 25 00:19 src/syslinux-3.08-pre5/isolinux.bin > > I'm willing to try some fixes. >Could you please try the 2.20-pre* and 3.00-pre* releases from the Testing/Obsolete directory? That would help narrow down the cause of the problem. -hpa
Paul Dickson
2005-Mar-28 15:32 UTC
[syslinux] [ISOLINUX] No boot: prompt with ISOLINUX 3.07
On Sun, 27 Mar 2005 03:25:01 -0700, Paul Dickson wrote:> On Sat, 26 Mar 2005 22:49:26 -0700, Paul Dickson wrote: > > > works 10002 Dec 16 23:42 syslinux-2.20-pre3/isolinux.bin > > not 10162 Dec 17 00:58 syslinux-2.20-pre4/isolinux.bin > > Replacing parseconfig.in in -pre4 with the version from -pre3 results in > a functioning isolinux. So either the problem is in parseconfig.inc or > rllpack.inc, or because of the size increase caused by rllpack.inc.This addition to parseconfig for 2.20-pre4 causes isolinux to not come to a prompt: --- ../parseconfig.inc 2005-03-28 07:36:49.146523449 -0700 +++ ../syslinux-2.20-pre4/parseconfig.inc 2004-12-17 00:52:54.000000000 -0700 @@ -299,6 +299,15 @@ ; commit_vk: Store the current VKernelBuf into buffer segment ; commit_vk: + ; For better compression, clean up the append field + mov ax,[VKernelBuf+vk_appendlen] + mov di,VKernelBuf+vk_append + add di,ax + mov cx,max_cmd_len+1 + sub cx,ax + xor ax,ax + rep stosb + cmp word [VKernelCtr],byte 0 je cvk_ret ; No VKernel = return cmp word [VKernelCtr],max_vk ; Above limit? Why? Is it just my VIA C3/BIOS? In a previous cut-n-test iteration, when I removed only the changes just after the pc_label label, I got two garbage characters on the screen (most likely from the above change). Removing this code from 3.08-pre5 allows that to work too. The new version of 3.08-pre5 still works on my 900 MHz Athlon. -Paul
Paul Dickson
2005-Mar-28 16:11 UTC
[syslinux] [ISOLINUX] No boot: prompt with ISOLINUX 3.07
On Mon, 28 Mar 2005 08:32:02 -0700, Paul Dickson wrote:> This addition to parseconfig for 2.20-pre4 causes isolinux to not come to > a prompt: > > --- ../parseconfig.inc 2005-03-28 07:36:49.146523449 -0700 > +++ ../syslinux-2.20-pre4/parseconfig.inc 2004-12-17 00:52:54.000000000 -0700 > @@ -299,6 +299,15 @@ > ; commit_vk: Store the current VKernelBuf into buffer segment > ; > commit_vk: > + ; For better compression, clean up the append field > + mov ax,[VKernelBuf+vk_appendlen] > + mov di,VKernelBuf+vk_append > + add di,ax > + mov cx,max_cmd_len+1 > + sub cx,ax > + xor ax,ax > + rep stosb > + > cmp word [VKernelCtr],byte 0 > je cvk_ret ; No VKernel = return > cmp word [VKernelCtr],max_vk ; Above limit? > > > Why? Is it just my VIA C3/BIOS?Looks like it might be uninitialized data. vk_appendlen is only set by the APPEND and LABEL functions, BUT the LABEL function (referenced first in the config file) first calls commit_vk. -Paul
Paul Dickson
2005-Mar-28 17:06 UTC
[syslinux] [ISOLINUX] No boot: prompt with ISOLINUX 3.07
On Mon, 28 Mar 2005 09:11:16 -0700, Paul Dickson wrote:> Looks like it might be uninitialized data. vk_appendlen is only set by > the APPEND and LABEL functions, BUT the LABEL function (referenced first > in the config file) first calls commit_vk.This patch to 3.08-pre5 resolves my problem, although you might want to move it some place else and/or increase the area being initialized: -Paul --- ../syslinux-3.08-pre5/parseconfig.inc 2005-01-06 15:34:06.000000000 -0700 +++ ../parseconfig.inc 2005-03-28 09:53:40.248168077 -0700 @@ -302,8 +302,11 @@ ; Main loop for configuration file parsing ; parse_config: - call getcommand - jnc parse_config ; If not EOF do it again + xor ax,ax ; Init appaendlen + mov [VKernelBuf+vk_appendlen],ax + +next_cmd: call getcommand + jnc next_cmd ; If not EOF do it again ; ; The fall through to commit_vk to commit any final ; VKernel being read