summaryrefslogtreecommitdiffstats
path: root/contrib/syslinux-4.02/com32/lua/doc/syslinux.asc
diff options
context:
space:
mode:
Diffstat (limited to 'contrib/syslinux-4.02/com32/lua/doc/syslinux.asc')
-rw-r--r--contrib/syslinux-4.02/com32/lua/doc/syslinux.asc286
1 files changed, 286 insertions, 0 deletions
diff --git a/contrib/syslinux-4.02/com32/lua/doc/syslinux.asc b/contrib/syslinux-4.02/com32/lua/doc/syslinux.asc
new file mode 100644
index 0000000..64dc18c
--- /dev/null
+++ b/contrib/syslinux-4.02/com32/lua/doc/syslinux.asc
@@ -0,0 +1,286 @@
+Syslinux LUA User Guide
+=======================
+Marcel Ritter <Marcel.Ritter@rrze.uni-erlangen.de>
+
+Invocation
+----------
+
+Running +lua.c32+ only results in an interactive shell.
+......................................................
+KERNEL lua.c32
+......................................................
+
+By using the +APPEND+ parameter you can specify a lua
+script to be executed:
+......................................................
+KERNEL lua.c32
+APPEND /testit.lua
+......................................................
+
+Modules
+-------
+
+SYSLINUX
+~~~~~~~~
+
+.syslinux.version()
+
+Returns version string
+
+.syslinux.derivative()
+
+Returns running Syslinux's derivative (ISOLINUX, PXELINUX or SYSLINUX).
+See com32/lua/test/syslinux-derivative.lua for an example.
+
+.syslinux.sleep(s)
+
+Sleep for +s+ seconds
+
+.syslinux.msleep(ms)
+
+Sleep for +ms+ milliseconds
+
+.run_command(command)
+
+Execute syslinux command line +command+.
+
+_Example_:
+......................................................
+ syslinux.run_command("memdisk initrd=/dos/BIOS/FSC-P7935-108.img raw")
+......................................................
+
+.run_default()
+
+FIXME
+
+.local_boot()
+
+FIXME
+
+.final_cleanup()
+
+FIXME
+
+.boot_linux(kernel, cmdline, [mem_limit], [videomode])
+
+FIXME
+
+.run_kernel_image(kernel, cmdline, ipappend_flags, type)
+
+FIXME
+
+.loadfile(filname)
+
+Load file +filename+ (via TFTP)
+
+.filesize(file)
+
+Return size of +file+ (loaded by loadfile())
+
+.filename(file)
+
+Return name of +file+ (loaded by loadfile())
+
+.in itramfs_init()
+
+Return empty initramfs object
+
+.initramfs_load_archive(initramfs, filename)
+
+Load contents of +filename+ into +initramfs+. Initialize
++initramfs+ with initramfs_init() before use.
+
+.initramfs_add_file(initramfs, file)
+
+Adds +file+ to +initramfs+. +initramfs+ needs to be
+initialized, +file+ has been loaded by loadfile().
+
+_Example_:
+......................................................
+ -- get nice output
+ printf = function(s,...)
+ return io.write(s:format(...))
+ end -- function
+
+ kernel = syslinux.loadfile("/SuSE-11.1/x86_64/linux")
+
+ printf("Filename/size: %s %d\n", syslinux.filename(kernel), syslinux.filesize(kernel))
+
+ initrd = syslinux.loadfile("/SuSE-11.1/x86_64/initrd")
+
+ printf("Filename/size: %s %d\n", syslinux.filename(initrd), syslinux.filesize(initrd))
+
+ initrd = syslinux.initramfs_init()
+ syslinux.initramfs_load_archive(initrd, "/SuSE-11.1/x86_64/initrd");
+
+ syslinux.boot_it(kernel, initrd, "init=/bin/bash")
+
+ syslinux.sleep(20)
+
+......................................................
+
+
+
+DMI
+~~~
+
+.dmi_supported()
+
+Returns +true+ if DMI is supported on machine, +false+ otherwise.
+
+.dmi_gettable()
+
+Returns a list if key-value pairs. The key is one of the DMI property strings:
+FIXME list
+
+_Example_:
+......................................................
+ if (dmi.supported()) then
+
+ dmitable = dmi.gettable()
+
+ for k,v in pairs(dmitable) do
+ print(k, v)
+ end
+
+ print(dmitable["system.manufacturer"])
+ print(dmitable["system.product_name"])
+ print(dmitable["bios.bios_revision"])
+
+ if ( string.match(dmitable["system.product_name"], "ESPRIMO P7935") ) then
+ print("Matches")
+ syslinux.run_command("memdisk initrd=/dos/BIOS/FSC-P7935-108.img raw")
+ else
+ print("Does not match")
+ syslinux.run_command("memdisk initrd=/dos/BIOS/FSC-P7935-108.img raw")
+ end
+
+ end
+
+......................................................
+
+
+PCI
+~~~
+
+.pci_getinfo()
+
+Return list of value pairs (device_index, device) of all PCI devices.
+
+.pci_getidlist(filename)
+
+Load a tab separated list of PCI IDs and their description.
+Sample files can be found here: http://pciids.sourceforge.net/
+
+
+_Example_:
+......................................................
+-- get nice output
+printf = function(s,...)
+ return io.write(s:format(...))
+ end
+
+-- get device info
+pciinfo = pci.getinfo()
+
+-- get plain text device description
+pciids = pci.getidlist("/pci.ids")
+
+-- list all pci busses
+for dind,device in pairs(pciinfo) do
+
+ -- search for device description
+ search = string.format("%04x%04x", device['vendor'], device['product'])
+
+ printf(" %04x:%04x:%04x:%04x = ", device['vendor'], device['product'],
+ device['sub_vendor'], device['sub_product'])
+
+ if ( pciids[search] ) then
+ printf("%s\n", pciids[search])
+ else
+ printf("Unknown\n")
+ end
+end
+
+-- print(pciids["8086"])
+-- print(pciids["10543009"])
+-- print(pciids["00700003"])
+-- print(pciids["0070e817"])
+-- print(pciids["1002437a1002437a"])
+......................................................
+
+
+VESA
+~~~~
+
+.getmodes()
+
+Return list of available VESA modes.
+
+_Example_:
+......................................................
+ -- get nice output
+ printf = function(s,...)
+ return io.write(s:format(...))
+ end
+
+ -- list available vesa modes
+ -- only one supported right now, not of much use
+ modes = vesa.getmodes()
+
+ for mind,mode in pairs(modes) do
+ printf("%04x: %dx%dx%d\n", mode['mode'], mode['hres'], mode['vres'], mode['bpp'])
+ end
+......................................................
+
+
+.setmode()
+
+Set (only currently supported) VESA mode.
+
+.load_background(filename)
+
+Load +filename+ from TFTP, and use it as background image.
+
+_Example_:
+......................................................
+ -- get nice output
+ printf = function(s,...)
+ return io.write(s:format(...))
+ end
+
+ -- lets go to graphics land
+ vesa.setmode()
+
+ printf("Hello World! - VESA mode")
+
+ -- some text to display "typing style"
+ textline=[[
+ From syslinux GSOC 2009 home page:
+
+ Finish the Lua engine
+
+ We already have a Lua interpreter integrated with the Syslinux build. However, right now it is not very useful. We need to create a set of bindings to the Syslinux functionality, and have an array of documentation and examples so users can use them.
+
+ This is not a documentation project, but the documentation deliverable will be particularly important for this one, since the intended target is system administrators, not developers.
+ ]]
+
+
+ -- do display loop
+ -- keep in mind: background change will not erase text!
+ while ( true ) do
+
+ vesa.load_background("/background1.jpg")
+
+ syslinux.sleep(1)
+
+ for i = 1, #textline do
+ local c = textline:sub(i,i)
+ printf("%s", c)
+ syslinux.msleep(200)
+ end
+
+ syslinux.sleep(10)
+
+......................................................
+