URL:
<http://savannah.gnu.org/bugs/?36772>
Summary: grub-2.00: grub-mkstandalone: please add the
possibility to include only specified modules in memdisk
Project: GNU GRUB
Submitted by: mkdesu
Submitted on: Tue 03 Jul 2012 09:43:41 AM GMT
Category: Installation
Severity: Major
Priority: 5 - Normal
Item Group: Feature Request
Status: None
Privacy: Public
Assigned to: None
Originator Name:
Originator Email:
Open/Closed: Open
Discussion Lock: Any
Release:
Release: other
Reproducibility: None
Planned Release: None
_______________________________________________________
Details:
Currently, grub-mkstandalone includes all modules in memdisk. It would be nice
to be able to include only the specified modules, with automatic dependency
resolution.
It is not hard to do even in a wrapper script, without access to dependency
resolution routines. I do something like this before invoking grub-mkimage
($moddir is a temporary directory for building memdisk, $mods is the list of
modules):
# Iteratively include all dependent modules
local oldmods= deps= modname=
while [ "${mods}" != "${oldmods}" ]; do
oldmods="${mods}"
for modname in ${mods}; do
deps=`sed -n "s/^${modname}://p" ${libdir}/${arch}/moddep.lst`
mods="${mods}${deps}"
done
mods=`echo ${mods} | tr ' ' '\n' | sort -u`
done
# Filter filesystems list, so that "search" doesn't try to load modules
# Filter commands from minicmd overrides
mkdir -p ${moddir}
cp -p ${libdir}/${arch}/*.lst ${moddir}
sed -ri "/^(`echo ${mods} | tr ' ' '|'`)\$/b; d" ${moddir}/fs.lst
sed -ri '/^\*(cat|help):/d' ${moddir}/command.lst
mods=`echo "${mods}" | sed "s:.*:${libdir}/${arch}/&.mod:"`
cp -p ${mods} ${moddir}
Filtering command.lst above is only necessary if "cat" or "help" are not
separately included. Perhaps requiring such filtering can be classified as a
bug instead.
_______________________________________________________
Reply to this item at:
<http://savannah.gnu.org/bugs/?36772>
_______________________________________________
Message sent via/by Savannah
http://savannah.gnu.org/
_______________________________________________
Bug-grub mailing list
[email protected]
https://lists.gnu.org/mailman/listinfo/bug-grub