[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#775322: Bootloader code issues and improvements



El 14/01/15 a las 04:54, jnqnfe escribió:
Package: live-build
Version: 5.0~a2-1

Reviewing the bootloader menu creation code, I have drawn up the
following list of fixes and improvements needed. Some of these I have
already reported and supplied patches for separately, but I'm listing
them here again to provide a comprehensive set of issues.

Where applicable, I'll specify the bug number of the separate bug report
either specifically for the issue, or where a patch has been previously
supplied already as part of addressing something else. I intend to wrap
this bug report up with one or more sets of commits to address them all.
Thank you for your recent hard work.

Broken boot capability issues:
-----------------------------------
#1) grub2 broken, with missing file error on boot due to files being
placed in the wrong directory (#775316).

Kernel parameter issues:
-----------------------------------
#2) [install entries] user supplied kernel params added in wrong
position in grub/grub2 (#775143).
#3) [install entries] 'quiet' (d-i?) param excluded from rescue entries
instead of expert entries in grub2 (#775143).
#4) [install entries] the '--' delimiter prior to the (d-i?) quiet
kernel parameter is not output for grub/grub2 (#775143).
#5) [install entries] the '--' delimiter needs to be replaced now with
'---' (#775128).
#6) [live entries] user supplied kernel params added in wrong position
in grub/grub2 (less important than for installer entries) (#775143).
#7) [live entries] normal user supplied params being added to fail-safe
entry instead of fail-safe user params in grub/grub2.
#8) [live entries] unnecessary replacement of fail-safe-installer user
params placeholder in syslinux
#9) depreciated video/graphics kernel parameters are being used.

Menu entry set issues:
-----------------------------------
#10) [install entries] speech synthesis option missing, affecting
accessibility
I just write down here that I will have to review your mentioned: #1, #2, #3, #4, #5, #6, #7, #8 and #9 in my (#757883) (support for loopback.cfg file) so that it matches your improvements and fixes.

Unless somehow your #18 is fixed so that the kernel is always renamed. That would probably mean that I could just do as the grml implementation [1] which would be as simple as always generating grub2 file and symlinking /boot/grub/loopback.cfg to /boot/grub/grub.cfg .

#12) [live entries] too many entries added in grub/grub2 (redundant
entries with kernel version specified)
Do you mean the normal entry and the single entry per one kernel? Or do you actually mean repeated kernels?
#13) memtest entry included in syslinux menus even if no memtest included
#14) install entries included in syslinux menus even if no installer
included
What I had found out myself is that there were installer entries in grub2 but not in syslinux but that was when I checked it in Wheezy's Debian Live so that might explain it. In GIT it should be as you explain then.


Other issues:
-----------------------------------
#16) grub2 splash not being displayed
I had also thought on this problem. I think there should a way of just reusing the current syslinux SVG file so that it generates a suitable image that can be used by grub2 as a background image.
#17) grub splash displayed, but horribly (can this be fixed?)
If it's grub1 I don't think it's worth maintaining it. But, I don't know what's the Debian's grub vs grub2 policy in Jessie actually.
#18) grub/grub2 do not rename kernel files unlike syslinux. syslinux
does this for a technical reason, but it might be desirable to do across
the board anyway. This needs further consideration.
Please check (#757883) (support for loopback.cfg file) where you can see how I re-use syslinux code to avoid syslinux being stubborn on renaming the kernel filenames. Don't get me wrong, I also prefer the kernel files to be renamed always so that the code is consistent accross all the bootloaders.

#19) consider switching grub/grub2 code to work more like syslinux, with
pre-constructed pieces of the menus in files, from which the full menu
can be constructed by including chunks from those files, and replacing
placeholders.
Well, yes, we could do that with grub2 variables. My dream is defining these variables or settings once (in a xml file? in a ini file?) and then being translated into a syslinux file or to a grub2 file.

Also to be considered, particularly in respect to #18 and #19 are bug
#757697 (support arch autodetection) and the best way to allow
derivatives (e.g. Kali) to replace menu components such as labels and
splash.
Yes, I also think that somehow a DerivativeName setting is missing so that we can easily replace Debian to e.g. Kali from a config file without too much effort.

As of this moment I have written patches for 11 of these issues, some of
which have already been posted separately. More to follow soon.

Thank you again for your hard work.

adrian15

[1]: http://git.grml.org/?p=grml-live.git;a=blobdiff;f=templates/boot/grub/grub.cfg;h=31545bd0042dd1e62ed9f83ae81b85565881969b;hp=7e115d6044f0ff86e1944f3bf8121289ef67955b;hb=641c1ace68b52313653478ba4699ca46a1e84184;hpb=2fb103a7c7d8cc2aed11c42e1d29c273c7848049

--
Support free software. Donate to Super Grub Disk. Apoya el software libre. Dona a Super Grub Disk. http://www.supergrubdisk.org/donate/


Reply to: