[syslinux] boot 32 or 64 kernel depending on cpu

Luciano Miguel Ferreira Rocha strange at nsk.no-ip.org
Thu Apr 26 13:35:47 PDT 2007


On Thu, Apr 26, 2007 at 01:24:23PM -0700, H. Peter Anvin wrote:
> Luciano Miguel Ferreira Rocha wrote:
> > 
> > The first was that syslinux_boot_linux didn't work for me. Both the
> > command line and initrd data was garbage. The code I was developing is
> > attached as l32or64_linux.c
> > 
> 
> When you say garbage, are you talking about it being correct before
> booting and then it being crap, or is it crap only after booting the kernel.

argv[0] is garbage when the com32 module starts.

The computed cmdline is OK, before booting the kernel, but when the
kernel is booting and prints the commandline it got it only prints
garbage.

I can't check initrd prior to booting the kernel, but the kernel
complains that it isn't initramfs (it is) and then "VFS: can't mount
root".

> 
> A lot of your code there is just plain wrong.  I suggest using more of
> the code from com32/modules/linux.c including the command-line parsing
> and using initramfs_load_archive().

Well, I based my code on linux.c. I used initramfs_load_archive in the
first versios, but as it didn't work I looked how it worked and used
that directly.

I don't link the command line parsing of linux.c. Mine works (well, it
prints the correct output), is smaller and IMHO cleaner.

But I'll try it tomorrow instead of mime. And just linux.c32, as it could
be unrelated to syslinux_boot_linux.

Do you think that borrowing 1K from the stack could cause problems?

-- 
lfr
0/0




More information about the Syslinux mailing list