On Thu, Nov 01, 2018 at 04:51:46PM +0000, Ady Ady via Syslinux wrote:> > ... > > Now, is it normal that _every_ SAY command is executed no matter which > > LABEL block is being booted? > > > Indeed, "SAY" is a "global" directive, not a "per-label" directive.Oh thanks, this is what i was suspecting... that was the missing piece indeed.> ... > There are several ways to circumvent this limitation, but any of those > could be thought of "over-complicated" for your very simple goal. > ...Thank you for your fast and in-depth reply, and for the practical example. I think i will dig deeper into the modules part of the wiki, which i skipped when i first configured the bootloader some time ago... Also, i much appreciated the offtopic tips ;) Thanks again and all the best! -- free as in freedom, not free beer
> Thank you for your fast and in-depth reply, and for the practical > example. I think i will dig deeper into the modules part of the wiki, > which i skipped when i first configured the bootloader some time > ago...One of the "over-complicated" ways to circumvent the limitation (i.e. SAY being a global directive, not a per-label directive) without using modules would be to use more than one configuration file (for each "per-label SAY" that you would want). The following is just an example. ### Start extlinux.conf (or even better, syslinux.cfg) ### DEFAULT debian # I AM SKIPPING OTHER ENTRIES, JUST SHOWING EXAMPLE LABEL debian.old # Here we point to a different cfg file, by means of the CONFIG directive. # The "old.cfg" file contains one entry and "it's" SAY directive. # Keep reading, and you'll find the content of "old.cfg". CONFIG old.cfg # I AM SKIPPING OTHER ENTRIES, JUST SHOWING EXAMPLE ### End extlinux.conf (or even better, syslinux.cfg) ### ### Start old.cfg ### DEFAULT old # We add a timer, so you have time to read the screen: TIMEOUT 50 # Since you have 1 entry only, we also show the boot prompt. # Otherwise, the timer is useless. PROMPT 1 # And here we have the new "global" SAY, # but it is "global" for this "old.cfg" only. SAY *** You are booting an old kernel. *** SAY *** Edit DEFAULT in your extlinux.conf when done. *** LABEL old LINUX /vmlinuz.old APPEND # WHATEVER YOU ALREADY HAVE HERE INITRD /initrd.img.old ### End old.cfg ### HTH, Ady.
On Thu, Nov 01, 2018 at 10:28:32PM +0000, Ady Ady via Syslinux wrote:> > Thank you for your fast and in-depth reply, and for the practical > > example. I think i will dig deeper into the modules part of the wiki, > > which i skipped when i first configured the bootloader some time > > ago... > > One of the "over-complicated" ways to circumvent the limitation (i.e. > SAY being a global directive, not a per-label directive) without using > modules would be to use more than one configuration file (for each > "per-label SAY" that you would want).Yes, this one is a bit "over-complicated" (always in quotes) as you say. I like syslinux because for the basic cases like mine you don't need more than one short file to edit and maintain, and you are good to go. But thanks, this is another little trick, and a good one, which I may consider to use instead of loading modules. Best regards. -- free as in freedom, not free beer