bug-grub
[Top][All Lists]
Advanced

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

[bug #36772] grub-2.00: grub-mkstandalone: please add the possibility to


From: Maxim Kammerer
Subject: [bug #36772] grub-2.00: grub-mkstandalone: please add the possibility to include only specified modules in memdisk
Date: Tue, 03 Jul 2012 09:43:41 +0000
User-agent: Mozilla/5.0 (X11; U; Linux x86_64; en-US) AppleWebKit/534.13 (KHTML, like Gecko) Chrome/9.0.597.94 Safari/534.13

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/




reply via email to

[Prev in Thread] Current Thread [Next in Thread]