[syslinux] Cannot execute memdisk

SINAN AKPOLAT SAKPOLAT at sisecam.com
Thu Feb 17 05:02:08 PST 2011


Thanks so much. I am able to boot from the .iso file in the harddisk of the pxe server on the network.

This was the key for me;

>This is the sequence you want: PXE boot -> pxelinux.0 -> MEMDISK & 
>ccc.iso.

I also took a peek on pxelinux.txt and isolinux.txt. I read them on the wiki but these text files seem  little different. I guess the ones on the wiki are more fresh. 

I still don't understand the whole process. I don't know how dhcp server serves the boot files for example. Or how pxeboot takes the memdisked iso and gives it to the bios/pxe boot loader on the other side of the network. Still I am able to do what I needed practically. Thanks again so much.

I hope to study the booting of the computer in the coming weeks. I came to realize its importance while trying to run a multi-OS system with a shared boot partition. Especially after reading this: http://www.gnu.org/software/grub/manual/html_node/Role-of-a-boot-loader.html#Role-of-a-boot-loader 

Regards,
Sinan Akpolat


>>> Shao Miller <Shao.Miller at yrdsb.edu.on.ca> 17.02.2011 14:00 >>>
On 2/17/2011 03:23, SINAN AKPOLAT wrote:
> I copied the file "memdisk" to tftpboot directoy I changed DHCP 
> filename from "pxelinux.0" to "memdisk".
> However it seems to wait forever now, without any kind of messages. Is 
> it normal?

I'd suggest to you that you try to gain an understanding of binary 
formats.  Not every program is the same.  Try the 'file' command (if 
you're on Linux) on different files and see what the results are.

pxelinux.0 is what's called an NBP (Network Bootstrap Program).  PXE 
clients expect to boot an NBP.

memdisk is a Linux x86 kernel-format program.  PXE clients _do_not_ 
expect to boot one of these.  Any boot-loader capable of loading a Linux 
x86 kernel can load MEMDISK.  Any of the Syslinux boot-loaders can do 
this (including PXELINUX).  GRUB can also do this.

You cannot do './memdisk' because it's not a Linux executable (I'm 
assuming you're using Linux).  For example, look at 'file /bin/ls' 
versus 'file memdisk' and note the difference.

> I am trying to pxe boot an ISO CD. I configured DHCP and  TFTP.
>
> In DHCP config file I define the boot folder as
> filename "pxelinux.0";
>
> In TFTP config file in /tftpboot/pxelinux.cfg/default I wrote the boot 
> option as
>
> LABEL ccc
> LINUX memdisk
> INITRD ccc.iso
> APPEND raw

When using MEMDISK to boot an .ISO, you need to specify 'iso' on the 
MEMDISK kernel's command-line.  Like this:

LABEL ccc
   KERNEL memdisk
   INITRD ccc.iso
   APPEND raw iso

There is documentation for this inside syslinux/doc/memdisk.txt.  Please 
read it.

> Now I have some problems and parts I don't understand.
>
> 1) I downloaded and 'make + make install'ed the syslinux-4.03 package 
> from git repo. However memdisk is not working when I try ./memdisk . 
> It gives no errors too.

Not a problem.  It's not a Linux program, so it's not supposed to do 
something useful from './memdisk'.

> Only errors I get are about win32 and win64 folders and that's because 
> I don't tun mingw (I guess)
> 2) What should be pxelinux.0 file? I thought it moust be the kernel bu 
> I'm trying to boot from ISO. Should I use memdisk file instead?

This is the sequence you want: PXE boot -> pxelinux.0 -> MEMDISK & 
ccc.iso.  You can try the adjusted config-file entry above.  You can 
also read syslinux/doc/pxelinux.txt.

> I never got a hang of these things except for GRUB. I never managed to 
> make a custom Linux ISO. I tried to boot PCs from network which didn't 
> had any graphics card at all.

You will likely need to read relevant documentation for creating Linux 
.ISOs, such as syslinux/doc/isolinux.txt.

> And I need to boot from network right now. I would really appreciate 
> your help.

Good luck.

- Shao Miller
_______________________________________________
Syslinux mailing list
Submissions to Syslinux at zytor.com 
Unsubscribe or set options at:
http://www.zytor.com/mailman/listinfo/syslinux 
Please do not send private replies to mailing list traffic.





More information about the Syslinux mailing list