Quick iPXE script:
params && param vram ${vram} && chain -a http://b800.org##params && echo b800.org/${b800id}
usage detailsHow to use with iPXE
To post vram data with iPXE use at least git version a25a16, with the below defines enabled (precompiled ipxe)
#define PARAM_CMD
#define VRAM_SETTINGS
To dump current video from ipxe use chain -a http://b800.org/
or create your own script, the simplest form taken from the the b800.org script:
params && param vram ${vram} && chain -a http://b800.org/?${netX/mac:hexraw}##params || echo Errorno ${errno}
isset ${b800id} && echo new id b800.org/${b800id}
Or you might want to check out the memtest example script for more advanced handling or to test: chain -a http://b800.org/memtest.ipxe
More ways:
# load an ipxe version with the video/vram support...
chain http://b800.org/ipxe.pxe shell
# get network up n running if needed
dhcp
# preload needed files to avoid download messages, and be able to control cursor position after output.
imgfetch http://boot.ipxe.org/memtest.0 && imgfetch -n screenshoot http://b800.org/
chain memtest.0 onepass onefail ; chain screenshoot
# This starts memtest and on exit, an screenshoot will be uploaded here.
API details
When the user-agent is iPXE, any base64 or rawhex data that matches the b800/vram syntax can be sent in a form post (iPXE params) request.Additionally a get or post parameter
public
(default 0) means private, set to 1 to get it public and show on the front page.The returned script will only try to set the
b800id
variable: set b800id base58key(sha1(vramdata))
so you know where to find the screenshot.In case of error
b800err
should be set instead. (this will be documented more when there is known errors)The b800id is used to get the data on b800.org/${b800id}, where the different formats that is supported is also listed. for example: b800.org/${b800id}.png