Jon Martin
2018-Mar-14 02:40 UTC
[syslinux] failing with I/O error when loading Linux kernel
I'm trying to use syslinux 6.03 to boot a QEMU VM. The config file is very simple: DEFAULT foo PROMPT 1 UI menu.c32 LABEL foo LINUX /boot/vmlinuz INITRD /boot/initrd APPEND root=LABEL=ROOT ro Syslinux starts right and finds the config file (it knows what the label foo is), but then fails to load the kernel: "Loading /boot/vmlinuz... failed: I/O error" I get the same error whether the VM is presenting the disk as virtio or SATA. I have tried MBR and GPT partitioning. I have made sure the ext4 filesystem is made without that new troublesome 64bit extension. I have also tried specifying the device instead of using the label on the APPEND line. If I tell it to boot /boot/vmlinuks (which doesn't exist) it says "Loading /boot/vmlinuks... failed: No such file or directory". This leads me to believe that Syslinux is able to read the /boot directory but not the kernel? I done an MD5 sum on the kernel and the same kernel on a different machine (which Syslinux is booting just fine) and they match so it is not a file corruption issue. The closest thing I have found to a related problem is: http://www.syslinux.org/archives/2017-March/025654.html What else should I try? -- Jon Martin System Administrator - System Administration 1 Information Services & Technology at University of Alberta 780-492-1662 http://ualberta.ca/IST/
Jon Martin
2018-Mar-15 01:42 UTC
[syslinux] failing with I/O error when loading Linux kernel
I found the issue and worked around it. I had been using rsync to populate the filesystem. Switching to good old dump&restore made it work. Why, when every other variable was kept the same, the tranmission method makes a difference I cannot say. All the permissions, attributes, and checksums of the kernel file matched on the sender and receiver. I even retried some of the combinations that had previously failed and got them working when I used dump+restore. Something about how rsync is putting the files on the filesystem is making Syslinux sad. I have my solution, but if anyone wants to pick my brain about the things I tried feel free to ask. -- Jon Martin System Administrator - System Administration 1 Information Services & Technology at University of Alberta 780-492-1662 http://ualberta.ca/IST/
Thomas Schmitt
2018-Mar-15 08:18 UTC
[syslinux] failing with I/O error when loading Linux kernel
Hi, Jon Martin wrote:> Something about how rsync > is putting the files on the filesystem is making Syslinux sad.File content fragmentation comes to my mind. (Sparse file storage is rather not a suspect, given that vmlinuz is compressed and that FAT seems not to support this feature.) Have a nice day :) Thomas