[syslinux] chain / memdisk / mboot of memtest86, SBM loader.bin, ISO image

Jim Cromie jcromie at divsol.com
Tue May 17 10:33:08 PDT 2005


hpa etal,

Im trying to get PIRT running on an SBC which has no CD-ROM drive.
(an 8 MB ISO which demo's RTAI - RealTime Application Interface, on 
linux patched with Adeos)
(BTW, PIRT uses isolinux)

anyway, Im trying to use pxelinux to chainload / memdisk / mboot it,
Im having no success.  Ive also tried booting memtest86, which I can boot
on my laptop using grub, ie
title memtest
        root    (hd0,1)
        kernel  /boot/memtest86.img
        boot

but Im unable to morph it into a form that works for pxelinux.

cpldr.bin:                  x86 boot sector
memtest86+-1.26:            x86 boot sector

Ive taken a 'shoot in the dark, with a sawed-off shotgun' approach.
Its not gotten me a whole lot of insight.
If you can help me thru this, I'll reduce it to something
hopefully suitable for syslinux documentation / examples

tia
jimc


SERIAL  0 19200
CONSOLE 0
DEFAULT com32/modules/menu.c32
PROMPT  0
TIMEOUT 200
IPAPPEND 0

MENU TITLE      RoboTruck Boot Menu

# breaks menu boot !
# APPEND        console=ttyS0,19200n81 root=/dev/hda1


LABEL   1 PIRT-16
  MENU LABEL    ^1.  PIRT-16 memdisk
  KERNEL        memdisk
  APPEND    initrd=pirt.img

LABEL   i PIRT-16
  MENU LABEL    ^i.  PIRT-16 memdisk
  KERNEL        memdisk
  APPEND    initrd=pirtiso.img

LABEL   2 PIRT-16
  MENU LABEL    ^2.  PIRT-16 chain long
  KERNEL        com32/modules/chain.c32 pirt.img

LABEL   3 PIRT-16
  MENU LABEL    ^3.  PIRT-16 chain
  KERNEL        chain.c32 pirt.img

LABEL   4 memtest memdisk
  MENU LABEL    ^4.  memtest86 memdisk
  KERNEL        memtest86.img

LABEL   5 memtest memdisk
  MENU LABEL    ^5.  memtest86 memdisk
  KERNEL        memdisk
  APPEND    initrd=memtest86.img

LABEL   6 memtest memdisk
  MENU LABEL    ^6.  memtest86.img memdisk
  KERNEL        chain.c32
  APPEND    initrd=memtest86.img

LABEL   7 memtest chain
  MENU LABEL    ^7.  memtest86.img chain long
  KERNEL        com32/modules/chain.c32
  APPEND    initrd=memtest86.img
LABEL   8 memdisk SBM
  MENU LABEL    ^8. chain SBM 
  KERNEL        memdisk
  APPEND    initrd=loader.bin

LABEL   S SBM
  MENU LABEL    ^s. SBM 
  KERNEL        /boot/loader.bin
  APPEND    theme-us

LABEL   T chain SBM
  MENU LABEL    ^t. SBM 
  KERNEL        /boot/cpldr.bin
  APPEND    theme-us

LABEL   U memdisk SBM
  MENU LABEL    ^u. memdisk SBM 
  KERNEL        memdisk
  APPEND    initrd=cpldr.bin

LABEL   M mboot SBM
  MENU LABEL    ^m. mboot
  KERNEL        com32/modules/mboot.c32
  APPEND    memtest86.img

LABEL   n mboot SBM
  MENU LABEL    ^n. mboot
  KERNEL        com32/modules/mboot.c32
  APPEND    loader.bin

LABEL   H 2.6.12-rc4-mm2-soekris-v1
  MENU LABEL    ^h.  2.6.12-rc4-mm2-soekris-v1
  KERNEL        vmlinuz.pirt
  APPEND        console=ttyS0,19200n81 root=/dev/nfs 
nfsroot=192.168.42.1:/nfshost/pirt-16 
nfsaddrs=192.168.42.100:192.168.42.1:192.168.42.1:255.255.255.0:soekris:eth0 
panic=5


I chose 1,
Loading memdisk....
Could not find ramdisk image: pirt.img
boot: 2
.
Usage: chain.c32 (hd|fd)# [partition]
boot: 3
.
Usage: chain.c32 (hd|fd)# [partition]
boot: 4
Loading memtest86.img.....Ready.

this one appears to run, ie it hangs..
memtest86 normally writes to screen, using some curses-like interface.
this is plausible explanation why I cant see anything on my serial console.
I removed CONSOLE 0, got double chars, but nothing more.

after reboot, I chose 5,

Loading memdisk....
Loading memtest86.img....
Ready.
MEMDISK 3.08 3.08-pre11  Copyright 2001-2005 H. Peter Anvin
e820: 0000000000000000 000000000009fc00 1
e820: 000000000009fc00 0000000000000400 2
e820: 00000000000f0000 0000000000010000 2
e820: 0000000000100000 0000000007f00000 1
e820: 00000000fff00000 0000000000100000 2
Ramdisk at 0x07fcc000, length 0x00013fc4
command line: initrd=memtest86.img BOOT_IMAGE=memdisk memtest memdisk
MEMDISK: Image has fractional end sector
Disk is hard disk, 79 K, C/H/S = 159/1/1
Total size needed = 1904 bytes, allocating 2K
Old dos memory at 0x9f800 (map says 0x9fc00), loading at 0x9f000
1588: 0xffff  15E801: 0x3c00 0x06fc
INT 13 08: Success, count = 1, BPT = 0000:0000
old: int13 = f00023c0  int15 = f000509e
new: int13 = 9f000008  int15 = 9f000286
Loading boot sector... booting...
[01;<8H

chose m,
COM32 Multiboot loader v0.1.  Copyright (C) 2005 Tim Deegan.
                                                            Kernel: 
memtest86.img chain SBM
                                                                                            
Loading memtest86.img..
                  Fatal: not a multiboot kernel.
                                                boot:

Chose i.
Loading memdisk....
Loading 
pirtiso.img.....................................................................................................................................
Ready.
MEMDISK 3.08 3.08-pre11  Copyright 2001-2005 H. Peter Anvin
e820: 0000000000000000 000000000009fc00 1
e820: 000000000009fc00 0000000000000400 2
e820: 00000000000f0000 0000000000010000 2
e820: 0000000000100000 0000000007f00000 1
e820: 00000000fff00000 0000000000100000 2
Ramdisk at 0x077b4000, length 0x0082c000
command line: initrd=pirtiso.img BOOT_IMAGE=memdisk PIRT-16
Disk is hard disk, 8368 K, C/H/S = 16736/1/1
Total size needed = 1895 bytes, allocating 2K
Old dos memory at 0x9f800 (map says 0x9fc00), loading at 0x9f000
1588: 0xffff  15E801: 0x3c00 0x067b
INT 13 08: Success, count = 1, BPT = 0000:0000
old: int13 = f00023c0  int15 = f000509e
new: int13 = 9f000008  int15 = 9f000286
Loading boot sector... booting...
[01;<8H



.
Could not find kernel image: /boot/cpldr.bin
boot:
.
Loading memdisk....
Could not find ramdisk image: loader.bin
boot: 7
.
Cannot read Master Boot Record
boot:
.
Cannot read Master Boot Record
boot: 6
.
Cannot read Master Boot Record
boot:
.





More information about the Syslinux mailing list