[syslinux] Problem with pxelinux 5.0 and memtest
Koudai Aono
koxudaxi at gmail.com
Tue Apr 2 21:52:14 PDT 2013
> i tried these combinations using VirtualBox 4.2.10:
>
> pxelinux.0 v5.01 + memtest86 4.20 (memdisk + iso)
> pxelinux.0 v5.01 + memtest86 4.20 (memtest extracted from iso)
> pxelinux.0 v5.01 + memtest86+ 4.20 (memdisk + iso)
> pxelinux.0 v5.01 + memtest86+ 4.20 (memtest.bin)
> pxelinux.0 v5.01 + memtest86+ 5.00RC1 (memtest.bin)
>
> pxelinux.0 v5.10pre2 + memtest86 4.20 (memdisk + iso)
> pxelinux.0 v5.10pre2 + memtest86 4.20 (memtest extracted from iso)
> pxelinux.0 v5.10pre2 + memtest86+ 4.20 (memdisk + iso)
> pxelinux.0 v5.10pre2 + memtest86+ 4.20 (memtest.bin)
> pxelinux.0 v5.10pre2 + memtest86+ 5.00RC1 (memtest.bin)
>
> All of these worked OK.
thank you.
this worked ok on VirtualBox 4.2.10
pxelinux.0 v5.10pre2 + memtest86+ 4.20 (memtest.bin)
previous test, i use old version of virtual box .
>> i tried booting two versions of pxelinux on NEC 5800/GT110[Corei7 860].
>> pxelinux returned to the bootmenu when i selected memtest4.2 on the
>> bootmenu.
>> also other machines can't boot memtest4.2 on 5.10-pre3 + 5.01.
>> but, i checked pxelinux 4.0.6 + memtest4.2 can boot on same environments.
> Please check/post your configuration and the layout of your tftp-folder.
but, real machine can't boot with same environments yet.
i put my tftp-folder and /etc/dhcp/dhcpd.conf on tail of the post.
i researched why can't boot .
i usually use a menu of pxelinux. but i use prompt for the test this time.
type "memtest"
> boot: memtest
result is
>Booting kernel failed: No such file or directory
i looked for where the error come from.
the way is adding printf() in source.
i found this.
com32/lib/syslinux/load_linux.c
|394 if (!ok)
395 goto bail;|
http://git.kernel.org/cgit/boot/syslinux/syslinux.git/tree/com32/lib/syslinux/load_linux.c?id=a107cb3b6fa219cf5f65bef366c9b00b108e9a3a#n395
<http://git.kernel.org/cgit/boot/syslinux/syslinux.git/tree/com32/lib/syslinux/load_linux.c?id=a107cb3b6fa219cf5f65bef366c9b00b108e9a3a#n405>
however, isolinux.bin 5.10pre2 can run which from same source.
i think pxelinux.0 5.10pre2 can't set real-mode.
amap might be bad.
com32/lib/syslinux/load_linux.c
|309 amap= syslinux_dup_memmap(mmap); /* Keep track of available memory */
|
http://git.kernel.org/cgit/boot/syslinux/syslinux.git/tree/com32/lib/syslinux/load_linux.c?id=a107cb3b6fa219cf5f65bef366c9b00b108e9a3a#n309
<http://git.kernel.org/cgit/boot/syslinux/syslinux.git/tree/com32/lib/syslinux/load_linux.c?id=a107cb3b6fa219cf5f65bef366c9b00b108e9a3a#n315>
sorry,i don't understand all source code of syslinux. also change log .
my knowledge of assemble is poor.
the consideration may be false.
Would you please check the code ?
tftp-folder:
cat.c32
chain.c32
cmd.c32
config.c32
cptime.c32
cpuid.c32
cpuidtest.c32
disk.c32
dmitest.c32
elf.c32
ethersel.c32
gfxboot.c32
gpxecmd.c32
gpxelinux.0
hdt.c32
hdt.cfg
hdt.img
hexdump.c32
host.c32
ifcpu.c32
ifcpu64.c32
ifmemdsk.c32
ifplop.c32
images
kbdmap.c32
kontron_wdt.c32
ldlinux.c32
libcom32.c32
libgpl.c32
liblua.c32
libmenu.c32
libutil.c32
linux.c32
lpxelinux.0
ls.c32
lua.c32
mboot.c32
memdisk
memdump.com
meminfo.c32
memtest
menu.c32
pcitest.c32
pmload.c32
poweroff.c32
prdhcp.c32
pwd.c32
pxechn.c32
pxelinux.0
pxelinux.cfg
pxelinux.cfg/0
pxelinux.cfg/default
reboot.c32
rosh.c32
sanboot.c32
sdi.c32
sysdump.c32
vesainfo.c32
vesamenu.c32
vpdtest.c32
whichsys.c32
zzjson.c32
/etc/dhcp/dhcpd.conf
option space PXE;
option PXE.mtftp-ip code 1 = ip-address;
option PXE.mtftp-cport code 2 = unsigned integer 16;
option PXE.mtftp-sport code 3 = unsigned integer 16;
option PXE.mtftp-tmout code 4 = unsigned integer 8;
option PXE.mtftp-delay code 5 = unsigned integer 8;
option arch code 93 = unsigned integer 16;
subnet 192.168.0.0 netmask 255.255.240.0 {
option routers 192.168.0.1;
range 192.168.15.2 192.168.15.254;
option domain-name-servers 192.168.0.1;
option broadcast-address 192.168.15.255;
option subnet-mask 255.255.240.0;
default-lease-time 3600;
max-lease-time 7200;
class "pxeclients" {
match if substring (option vendor-class-identifier,
0, 9) = "PXEClient";
next-server 192.168.15.1;
if option arch = 00:02 {
filename "ia64/elilo.efi";
} else if option arch = 00:06 {
filename "/bootia32.efi";
} else if option arch = 00:07 {
filename "/bootx64.efi";
} else {
filename "/pxelinux.0";
}
}
}
AONO Koudai
More information about the Syslinux
mailing list