Thread: Re: [Etherboot-developers] Splashimage / Bootlogo
Brought to you by:
marty_connor,
stefanhajnoczi
|
From: <ke...@us...> - 2002-06-07 23:46:49
|
>i'm looking for an option in etherboot that i can have splashscreen/bootlogo >when booting from the net. >Unfortunately, it doesn't seem to be "inside" etherboot - searched the mailin >glist >archive for that. If you were a coder you could work on the chaining facikity that allows Etherboot to download a intermediate program which can display whatever it wants and then specify which image to load next and return to Etherboot. See mknbi-menu from the mknbi package. |
|
From: <ke...@us...> - 2002-06-09 13:34:40
|
>I just used ansiesc, which is inside etherboot. >You can download the .diff file and an example ansi graphics file from > http://feldhausnetz.de/splash.tar.gz >Then enable option -DSILENTFORSPLASH I would prefer that effort was put into an external splash/menu program instead of patching Etherboot. The stuff inside bootmenu.c and ansiesc.c is ugly and hard to update as binaries are in boot ROMs. Within a few days I will release mknbi-1.2.8pre1, which will contain an external menu program that has the code that does the menuing in Etherboot. In tests, the menu loaded instantly and all the initial text were cleared off. When control is handed back to Etherboot you get more loading messages, but in my opinion that's not to great a drawback. If it's an issue, some sort of VT switching might be devised so that the splash/logo remains on the screen. The main thing is a user-friendly screen and with an external program you are free of size limits on Etherboot, you have all of the lower 512kB if you wish. So I will not be accepting this patch as it will be obsoleted or at least be interfered with by developments on the external program. Two things that won't work in the external program: the server and gateway arguments in the image specs (which I think are of little use), and nested TFTP files (which can be implemented instead by data in a segment that accompanies the menu program). |
|
From: devzero <de...@we...> - 2002-06-09 14:01:36
Attachments:
lfs-grub-splash.xpm.gz
|
Hello developers, many thanks for putting effort in this feature. I also think, that ken's approach by moving menu-code "extern" is good. Since tftp'ing is relatively slow and most boot/splashscreens are not very complex graphics, i'd like to append, that boot/splashcreen-images should/could be compressed. maybe, grub gives some hints here: http://hints.linuxfromscratch.org/hints/grub-howto.txt http://linuxfromscratch.org/~gerard/ http://mail.gnu.org/pipermail/bug-grub/2002-March/006808.html http://rpmfind.net/linux/RPM/PLD/dists/ra/PLD/i386/PLD/RPMS/grub-0.91-6.i386.html Actually, using gzipped xpm`s as bootlogo in GRUB works. regards Roland PS: i have attached a (btw very nice!) sample xpm, which is ~8K compressed and ~300K uncompressed - just to see, what`s possible. ------------------------------------------------------------------------ Mail from Ken Yap >I just used ansiesc, which is inside etherboot. >You can download the .diff file and an example ansi graphics file from > http://feldhausnetz.de/splash.tar.gz >Then enable option -DSILENTFORSPLASH I would prefer that effort was put into an external splash/menu program instead of patching Etherboot. The stuff inside bootmenu.c and ansiesc.c is ugly and hard to update as binaries are in boot ROMs. Within a few days I will release mknbi-1.2.8pre1, which will contain an external menu program that has the code that does the menuing in Etherboot. In tests, the menu loaded instantly and all the initial text were cleared off. When control is handed back to Etherboot you get more loading messages, but in my opinion that's not to great a drawback. If it's an issue, some sort of VT switching might be devised so that the splash/logo remains on the screen. The main thing is a user-friendly screen and with an external program you are free of size limits on Etherboot, you have all of the lower 512kB if you wish. So I will not be accepting this patch as it will be obsoleted or at least be interfered with by developments on the external program. Two things that won't work in the external program: the server and gateway arguments in the image specs (which I think are of little use), and nested TFTP files (which can be implemented instead by data in a segment that accompanies the menu program). ------------------------------------------------------------------------------------- Mail from Anselm Martin Hoffmeister > >i'm looking for an option in etherboot that i can have > > splashscreen/bootlogo when booting from the net. Now it is, provided you can make your kernel boot completely without text output. The only kernel nbi I have here insists on putting a string like "Uncompressing kernel..." on the screen and complaining about my pci subsystem although I supplied "quiet" as command line option. No matter, if you can have a silent boot, an image can be displayed which will last until the first process writes to console. > If you were a coder you could work on the chaining facikity that allows > Etherboot to download a intermediate program which can display whatever > it wants and then specify which image to load next and return to > Etherboot. See mknbi-menu from the mknbi package. I just used ansiesc, which is inside etherboot. You can download the .diff file and an example ansi graphics file from http://feldhausnetz.de/splash.tar.gz Then enable option -DSILENTFORSPLASH and put an ansi graphics file so that tftp can reach it as /splash.ans In that tar gz file, there is an example. If you want to disable it, just put a zero-size file to the same location as splash.ans (e.g. "rm splash.ans; touch splash.ans") or disable the -DSILENTFORSPLASH option in your config file. Please tell me if it really works, as I said before, I cannot make my kernel really shut up. BTW: I implemented this starting from a bare etherboot 5.0.6. BTW2: Image size is still too much. This should become much better with a multicast downloading option. In development. Documentation: -DSILENTFORSPLASH This option disables any etherboot-side output beginning at the moment the kernel download is started. Instead, it loads the file '/splash.ans' (from the same location it would load a kernel '/vmlinuz') and displays its contents. This option requires -DANSIESC and -DGFX to work properly. Anselm |
|
From: Anselm M. H. <an...@ho...> - 2002-06-09 15:18:43
|
> I would prefer that effort was put into an external splash/menu program > instead of patching Etherboot. The stuff inside bootmenu.c and ansiesc.c > is ugly and hard to update as binaries are in boot ROMs. Correct. I'd like that too, but as my site anyway uses chaining (etherboot 5.05 loads etherboot 5.06) - we burnt the roms before exactly knowing what we wanted :-( - updating roms is not our problem. I wanted to tell you about a not-to-difficult solution. Just dump it, that's ok. It was a hint. > Within a few days I will release mknbi-1.2.8pre1, which will contain an > external menu program that has the code that does the menuing in > Etherboot. In tests, the menu loaded instantly and all the initial text > were cleared off. When control is handed back to Etherboot you get more > loading messages, What my patch could hinder Etherboot from. >but in my opinion that's not to great a drawback. It's an issue if you want the graphics to stay 'til X starts up; originally I think that was the task. > If it's an issue, some sort of VT switching might be devised so that the > splash/logo remains on the screen. The main thing is a user-friendly > screen and with an external program you are free of size limits on > Etherboot, you have all of the lower 512kB if you wish. At this point, it is probably much easier to user -DSILENTFORSPLASH (which keeps any output after loading e.g. the menu.nbi from appearing) than implementing VT switching - see, many old 386 consoles will happily run with 640x350x16, but there is not enough RAM on them to have a second console of that format at hand. VESA will be no question if you want to display boot graphics on these machines too. > So I will not be accepting this patch as it will be obsoleted or at > least be interfered with by developments on the external program. But please keep it in mind, just in case! > [...] and nested TFTP files [...] Are not used here. I don't use any RAM neither (except the buffer from tftp, but that is handled by the download code or ansiesc, not by my patch) as the graphics is immediately output' to ansiesc. No matter, if boot program does the image output, my patch would keep the screen clear afterwards. And that's what <devzero>, who originated that thread, asked for. Anselm |
|
From: <ke...@us...> - 2002-06-10 00:23:01
|
>Within a few days I will release mknbi-1.2.8pre1, which will contain an >external menu program that has the code that does the menuing in >Etherboot. In tests, the menu loaded instantly and all the initial text What the heck, release early, at least before I have to go back to work :-). It's in http://etherboot.sourceforge.net/mknbi-1.2-8rc1.tar.bz2 Note that it unpacks into mknbi-1.2 so hope you don't have an older version in the target directory. |
|
From: Anselm M. H. <an...@ho...> - 2002-06-09 13:14:18
|
On Friday, 7. June 2002 23:46, Ken Yap wrote: > >i'm looking for an option in etherboot that i can have > > splashscreen/bootlogo when booting from the net. Now it is, provided you can make your kernel boot completely without text output. The only kernel nbi I have here insists on putting a string like "Uncompressing kernel..." on the screen and complaining about my pci subsystem although I supplied "quiet" as command line option. No matter, if you can have a silent boot, an image can be displayed which will last until the first process writes to console. > If you were a coder you could work on the chaining facikity that allows > Etherboot to download a intermediate program which can display whatever > it wants and then specify which image to load next and return to > Etherboot. See mknbi-menu from the mknbi package. I just used ansiesc, which is inside etherboot. You can download the .diff file and an example ansi graphics file from http://feldhausnetz.de/splash.tar.gz Then enable option -DSILENTFORSPLASH and put an ansi graphics file so that tftp can reach it as /splash.ans In that tar gz file, there is an example. If you want to disable it, just put a zero-size file to the same location as splash.ans (e.g. "rm splash.ans; touch splash.ans") or disable the -DSILENTFORSPLASH option in your config file. Please tell me if it really works, as I said before, I cannot make my kernel really shut up. BTW: I implemented this starting from a bare etherboot 5.0.6. BTW2: Image size is still too much. This should become much better with a multicast downloading option. In development. Documentation: -DSILENTFORSPLASH This option disables any etherboot-side output beginning at the moment the kernel download is started. Instead, it loads the file '/splash.ans' (from the same location it would load a kernel '/vmlinuz') and displays its contents. This option requires -DANSIESC and -DGFX to work properly. Anselm |
|
From: Markus G. <ma...@gu...> - 2002-06-09 18:48:11
|
Anselm Martin Hoffmeister wrote: > Now it is, provided you can make your kernel boot completely without text > output. The only kernel nbi I have here insists on putting a string like > "Uncompressing kernel..." on the screen and complaining about my pci > subsystem although I supplied "quiet" as command line option. No matter, if > you can have a silent boot, an image can be displayed which will last until > the first process writes to console. The "Uncompressing kernel" message is printed by linux/arch/i386/boot/compressed/misc.c (which happens before the code in linux/init/main.c enables quiet mode). Try taking out the "puts" statements and see if that addresses your problem. If it does, then you might want to write a patch that looks at the command line and disables the messages if "quiet" was passed as an option. I am sure, Ken would accept this patch in the "contrib" area of etherboot, and I wouldn't be surprised if Marcello and/or Linus were willing to introduce it into the main kernel. Markus -- Markus Gutschke 3637 Fillmore Street #106 San Francisco, CA 94123-1600 +1-415-567-8449 ma...@gu... |