Post Reply 
 
Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Could not use image
2014-12-06, 15:52
Post: #1
Could not use image
Hi,

I need help to activate a[/code] background picture.

I use undionly.kpxe, generated on rom-o-matic with :
Advanced > PXE bootstrap loader keep [Keep PXE stack method 1 (.kxpe)
Choose a NIC type > undioonly
Download protocols > TFTP, HTTP, HTTPS, FTP, NFS- IMAGE_PNG, PNG image support
- CONSOLE_CMD, Console command
- CONSOLE_VESAFB, VESA framebuffer console

My menu.ipxe :

Code:
#!ipxe
console --x 1024 --y 768
console --picture http://192.168.0.17/images/splash.png --left 32 --right 32 --top 32 --bottom 48

menu
...

When I boot on nic with a laptop this error appears :
Code:
http://192.168.0.17/images/splash.png... ok
Could not use picture: Operation not supported (http://ipxe.org/3c008003)
Could not boot image: Operation not supported (http://ipxe.org/3c008003)
No more network devices

I don't understand why Huh
Is PNG must be 24 or 8 bits?
(The resolution of my image is 1024 x 768)

Any idea ?
Thank you
Find all posts by this user
Quote this message in a reply
2014-12-06, 21:47
Post: #2
RE: Could not use image
Try to rebuild your iPXE with DEBUG=vesafb, that way you should at least know if your resolution is supported on the hardware, but your error seems to indicate lack of support for the image type, or that the image is not a proper pixel buffer. You might have used some funky PNG format not supported by iPXE. Try to use the "Export for web" feature to create your PNG file. That usually creates the most compatible files. Also, the last message seems to indicate that you are trying to boot the PNG image, which obviously seems wrong. I'm just assuming that it might be something wrong further down in your script.
Visit this user's website Find all posts by this user
Quote this message in a reply
2014-12-06, 23:14 (This post was last modified: 2014-12-06 23:34 by xhark.)
Post: #3
RE: Could not use image
Thank you Robin.

I think the CONSOLE_CMD was missing in my kpxe, I generated again and it's good. But the error message was not very helpful ^^
PNG 24 works, great news Smile
Best way to test if lpxe is good is to use your online picture :
Code:
console --picture http://boot.ipxe.org/texture.png --left 32 --right 32 --top 32 --bottom 48

I have some other general questions :

- is it possible to use iPXE with PXELINUX configuration (default file), if yes, which options must be add to the kpxe ? I tried to chainload lpxelinux.0 but freeze on "peter anvin" boot message
- why "reboot" command works even though REBOOT_CMD is not check for compil ?
- is there any way to memorize options on rom-o-matic (with get param url or something else) ?
- is there any documentation who list all rom-o-matic option ?
- in virtualbox I use a nic with native iPXE rom but not all necessary modules are present. How can I force to use my compiled kpxe file ? because ipxe tag is already present the PXE send directly the ipxe file...
Find all posts by this user
Quote this message in a reply
2014-12-08, 22:27
Post: #4
RE: Could not use image
* iPXE can't parse or use pxelinux config file directly. You need to run pxelinux.0 for that.
* Reboot command should not be available if REBOOT_CMD is not checked. Must be a rom-o-matic issue.
* Not sure if you can store params to rom-o-matic in the URL. Post an issue on the github page for rom-o-matic.
* AFAIK, there is no docs for rom-o-matic except for what you see on the page and whatever you can gleam from the source at github.
* VirtualBox comes with a built-in PXE ROM which uses iPXE if you don't install the non-free extension package. This iPXE is very cut-down in terms of features. You'll need to use the extended chainloading recipe which you can find via my menu at http://ipxe.org/examples/.
Visit this user's website Find all posts by this user
Quote this message in a reply
2014-12-08, 23:00 (This post was last modified: 2014-12-09 15:38 by xhark.)
Post: #5
RE: Could not use image
Thank you.

I wrote to rom-o-matic, and good news because you can pass GET URL to build, like this :
Code:
https://rom-o-matic.eu/build.fcgi?BINARY=ipxe.efi&BINDIR=bin-x86_64-efi&REVISION=master

I try again de chainload to pxelinux.0 (and lpxelinux.0)... and it works with this :

Code:
:pxelinux
set 210:string tftp://${next-server}/
chain ${210:string}lpxelinux.0 || goto erreur

but not with this (look the "slash" after next-server variable) :

Code:
:pxelinux
set 210:string tftp://${next-server}
chain ${210:string}/lpxelinux.0 || goto erreur

error is :
Code:
PXELINUX 6.03 iwIP 2014..... Peter Anvin et al
Unable to locate configuration file

Boot failed: press a key to retry, or wait for reset...

Is is a bug or normal ?
Other question: space character or accent failed with NFS path, is there any workaround ? (except delete or replace them)
Find all posts by this user
Quote this message in a reply
2014-12-09, 14:19
Post: #6
RE: Could not use image
It all depends on how the NBP (pxelinux) requests TFTP files. If it has /XXX then obviously you can't have / at the end of the prefix.

You probably need to use %20 instead of space. Normal URI-escaping rules apply.
Visit this user's website Find all posts by this user
Quote this message in a reply
2014-12-09, 15:41
Post: #7
RE: Could not use image
Sorry my post was incorrect, I edited the code, please read again Wink

OK for the space, but same issue with accents. with "é" in path iPXE show "%FFFFFFC3%FFFFFFA9", what is the conversion method.
Find all posts by this user
Quote this message in a reply
2014-12-15, 16:11
Post: #8
RE: Could not use image
Use a URI-escaper to convert the character to escaped representation. If you're a programmer you can use the URI::Escape perl module, or you can use a e.g. a plugin for Notepad++ to do the job.
Visit this user's website Find all posts by this user
Quote this message in a reply
Post Reply 




User(s) browsing this thread: 2 Guest(s)