Ram Yalamanchili
2007-Feb-06 10:16 UTC
[syslinux] Broken file reading for fat16 with 3.35+?
Hello, I noticed after upgrading from 3.20, I haven't been able to get syslinux to boot properly with menu.c32 or mboot.c32 from a USB key. I get an error saying invalid kernel when its trying to load menu.c32 or mboot.c32 (or any other kernel for that matter). I tried 3.35 and 3.36-pre5. Same exact behaviour. I'm using the following to compile: gcc version 3.2.3 20030502 (Red Hat Linux 3.2.3-34) NASM version 0.98.39 compiled on Jan 15 2005 Steps to reproduce: /dev/sdc is my usb key mkdiskimage -4 /dev/sdc4 0 64 32 syslinux -s /dev/sdc4 mount /mnt/sdc4 cp menu.c32 mboot.c32 syslinux.cfg mykernel /mnt/sdc4 umount /mnt/sdc4 reboot with key in. syslinux.cfg has the following: default menu.c32 menu title Boot Menu timeout 30 label RBoot menu label ^RBoot kernel mboot.c32 append mykernel Errors: It shows SYSLINUX 3.36 Pre 5, etc.. and then goes to boot: Loading Invalid or corrupt kernel image <repeat last 3 lines for like 5 mins or so> Then all of a sudden the error message changes to: boot: Could not find kernel image: menu.c32 This I assume is happening because the USB key device went away for whatever reason after many minutes. Before the USB key 'went off', entering mboot.c32 or menu.c32 in the prompt also produces the same error. If I enter the name of a non-existant file it says file not found as expected. I used the same above process with syslinux 3.20's syslinux/mkdiskimage, and copied the 3.36-pre5 menu.c32 and mboot.c32 into the partition, and this worked. Anyone know what might be causing this? Looks like ldlinux.sys is broken. I need to upgrade to 3.35 because I need the 0x19 read partition call for my use. On a similar note, Peter, are you ok with me implementing a comboot api call which would take in the bios drive and sector number to get data from (a 0x20 if you will)? Or 0x19 can be modified to take in an argument which says if the partition offset shoudl be added to eax or not before you issue the int 0x13h. I like a newer call which is a "Read raw disk" instead of "read active partition". I want to extend it to read from (drive number, partition number). Further extension could lead to Grub like addressing where you can have files on various other partitions and be able to get them. thanks, Ram
Seemingly Similar Threads
- Syslinux: Broken file reading for fat16 with 3.35+?
- Dir_FstClusHi being used for FAT16/12 fs types
- DOS/Freedos: Can't use mkfloppyimg.sh or mkdiskimage for +8M images ( Solved)
- Syslinux 4.06 and 5.00-pre9 Binary Sizes
- com32 module compatibility between 5.x versions