FreeDOS kernel with memdisk support compiled in: When enabled one can supplement (or replace) CONFIG.SYS from the memdisk command line. The kernel upon booting will verify running on a 386+ and then check for memdisk using int 13h call with magic values. If found then the memdisk command line is processed and simulated CONFIG.SYS lines are evaluated left to right as though they logically followed the last line in CONFIG.SYS (or FDCONFIG.SYS). Example syslinux.cfg section: LABEL FreeDOS KERNEL memdisk MENU LABEL FreeDOS example INITRD FDSTD.img APPEND {ECHO Booting FreeDOS}{ECHO This is the second line.} FreeDOS config lines are denoted by surrounding the line in curly braces {} thus allowing multiple simulated lines on a single APPEND line. However, the closing brace } may be omitted if it would be immediately followed by an opening brace { or end of the APPEND line. Anything on the memdisk line outside of the curly braces {} is ignored. The lines may be preceeded by FD= to be compatible with earlier FD kernel release or any other key= to specify the environment variable generated by getargs utility. All simulated config lines (text between the { and }) are evaluated by the kernel asis except the final line (the line within final {}). The final } is optional which results in the memdisk options initrd= and BOOT_IMAGE= to appear as part of the config.sys line. To avoid issues several memdisk options are ignored if after the last opening brace {. Note that the syslinux/memdisk options are case sensitive. Currently ignored options are: initrd, BOOT_IMAGE, floppy, harddisk, and iso. Additionally, to simplify passing and overriding arguments when syslinux is booting, any key=value pairs seen after any memdisk options will cause all corresponding key=??? prior to any memdisk options to be cleared on the resulting config line. For example if the final assembled memdisk line appears to the kernel as: {ECHO HI{ECHO X=1 X=2 Y=1 Z=1 initrd=FDSTD10.img BOOT_IMAGE=memdisk X=386 then the following two lines will evaluated by the kernel after processing any CONFIG.SYS lines. ECHO HI ECHO Y=1 Z=1 X=386 The following APPEND lines are all treated identically by the kernel. APPEND floppy FD={ECHO Welcome}{ECHO 2nd line}{ECHO third} APPEND floppy FD={ECHO Welcome{ECHO 2nd line{ECHO third APPEND {ECHO Welcome} {ECHO 2nd line} {ECHO third} floppy APPEND {ECHO Welcome{Echo 2nd line} {ECHO third floppy resulting in the following equivalent three CONFIG.SYS lines ECHO Welcome ECHO 2nd line ECHO third The following complete example syslinux.cfg and FreeDOS configuration files could be used to boot various kernel options avoiding the use of the FreeDOS kernel menu in addition to the Sylinux menu. # CONFIG.SYS REM always executed, in common with all choices FILES=20 LASTDRIVE=Z SHELLHIGH=\COMMAND.COM /E:256 /P #AUTOEXEC.BAT @ECHO OFF CLS ECHO Welcome to FreeDOS (http://www.freedos.org)! ECHO User selected menu %CONFIG% # SYSLINUX.CFG UI vesamenu.c32 DEFAULT clean LABEL clean MENU LABEL FreeDOS with no drivers KERNEL memdisk INITRD /fdos0360.img APPEND floppy FD={SET config=0} LABEL jemm MENU LABEL FreeDOS with memory manager KERNEL memdisk INITRD /fdos0360.img APPEND floppy FD={SET config=1}{DEVICE?=JEMMEX.EXE Syslinux boot-prompt (when vesamenu not used): jemm or jemm NOEMS