<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML><HEAD>
<STYLE></STYLE>
</HEAD>
<BODY bgColor="#ffffff">
<DIV><FONT face="Arial" size="2">Hi everyone,</FONT></DIV>
<DIV><FONT face="Arial" size="2">as a software developer, </FONT><FONT face="Arial" size="2">I occasionally test software that is tied to specific
hardware, and since I have to test the software under many operating
systems, you might imagine that gPXE is by far, the best way to do
it.</FONT></DIV>
<DIV><FONT face="Arial" size="2"></FONT> </DIV>
<DIV><FONT face="Arial" size="2">as a result, for the past year, I found myself
entering those long chain-commands.</FONT></DIV>
<DIV><FONT face="Arial" size="2">recently, during a long test session, I've decided
that I'm going to find a faster way to do it.</FONT></DIV>
<DIV>
<DIV><FONT face="Arial" size="2"></FONT> </DIV>
<DIV><FONT face="Arial" size="2">it turns out that there is more than one way to
achieve my goal,</FONT></DIV>
<DIV><FONT face="Arial" size="2">I want to develop something that would be helpful
to more than just me, please help me decide which of the various options
is fitting to this project and would be the most helpful, if you have
additional ideas, please let me know.</FONT></DIV>
<DIV><FONT face="Arial" size="2"></FONT> </DIV>
<DIV><U><FONT face="Arial" size="2">approach #1:</FONT></U></DIV>
<DIV><FONT face="Arial" size="2">currently, gPXE execute only the first embedded
image, we can </FONT><FONT face="Arial" size="2">use additional embedded images
(scripts), one to load each OS, and manually execute them when
needed.</FONT></DIV>
<DIV><FONT face="Arial" size="2">
<DIV><FONT face="Arial" size="2"></FONT> </DIV>
<DIV><FONT face="Arial" size="2">changes required to gPXE:</FONT></DIV>
<DIV>1. ability to load and execute an embedded image in a single command (two
commands are required today, as chain does not work on embedded images)</DIV>
<DIV> </DIV>
<DIV>note:</DIV>
<DIV>gPXE always executes the first embedded image, so it's recommended that the
first image would contains the command autoboot.</DIV>
<DIV>(if Ctrl-B has not been pressed, that's the script that would be
executed)</DIV>
<DIV> </DIV>
<DIV>cons:</DIV>
<DIV>it's necessary to keep an image up to date with many
embedded scripts,</DIV>
<DIV>the user would have to rebuild the image every time an OS has been
added.</DIV>
<DIV> </DIV>
<DIV>we can make it easier by extending rom-o-matic, and define syntax that
allows to add multiple scripts.</DIV>
<DIV></FONT><FONT face="Arial" size="2"></FONT> </DIV></DIV>
<DIV><FONT face="Arial" size="2"><U>approach #2:</U></FONT></DIV>
<DIV><FONT face="Arial" size="2">use the first embedded image to set variables
containing the necessary commands, and then enter the variables in the command
line.</FONT></DIV>
<DIV><FONT face="Arial" size="2"></FONT> </DIV>
<DIV><FONT face="Arial" size="2">changes required to gPXE:</FONT></DIV>
<DIV><FONT face="Arial" size="2">1. show the Ctrl-B dialog for a second time
(after the embedded image have been executed)</FONT></DIV>
<DIV><FONT face="Arial" size="2">2. ability to set variables contains more than one
word (complete commands)</FONT></DIV>
<DIV><FONT face="Arial" size="2">3. ability to autoboot after embedded image
execution. (in case it only used to set variables)</FONT></DIV>
<DIV><FONT face="Arial" size="2"></FONT> </DIV>
<DIV><FONT face="Arial" size="2">cons:</FONT></DIV>
<DIV><FONT face="Arial" size="2">- the Ctrl-B will only be usable for our purpose
the second time it will be shown</FONT></DIV>
<DIV><FONT face="Arial" size="2">- some people may (?) want to skip autoboot
after embedded image execution failed, this won't be possible
anymore.</FONT></DIV>
<DIV><FONT face="Arial" size="2"></FONT> </DIV>
<DIV><FONT face="Arial" size="2">I would be glad to hear any opinion,</FONT></DIV>
<DIV><FONT face="Arial" size="2">you are also welcome to ask me
questions,</FONT></DIV>
<DIV><FONT face="Arial" size="2">Thanks,</FONT></DIV>
<DIV><FONT face="Arial" size="2">Tal</FONT></DIV>
<DIV><FONT face="Arial" size="2"><U></U></FONT> </DIV></DIV></BODY></HTML>