[OE-core] [PATCH 1/2] initramfs-live-install: avoid using grub.d/40_custom

Darren Hart dvhart at linux.intel.com
Wed May 21 17:43:39 UTC 2014


On 5/19/14, 19:49, rongqing.li at windriver.com wrote:
> From: Robert Yang <liezhi.yang at windriver.com>

Hi Robert,

Just to clarify - there is no Patch 2/2 right?

> We have this in recipes-bsp/grub/grub/40_custom:
>
> [snip]
> menuentry "Linux" {
>      set root=(hd0,1)
>      linux /vmlinuz root=__ROOTFS__ rw __CONSOLE__ __VIDEO_MODE__ __VGA_MODE__ quiet
> }
> [snip]
>
> These lines are only for initrdscripts/files/init-install.sh, the side
> effect is that it would make the target's grub-mkconfig doesn't work
> well since the 40_custom will be installed to /etc/grub.d/40_custom, the
> grub-mkconfig will run the 40_custom, and there will always be a
> 'menuentry "Linux"' menu in grub.cfg no matter it is valid or not, we
> can do this in init-install.sh rather than grub to fix the problem,
> which is also much simpler.
>
> Signed-off-by: Robert Yang <liezhi.yang at windriver.com>
> ---
>   meta/recipes-core/initrdscripts/files/init-install.sh |   15 +++++++--------
>   1 file changed, 7 insertions(+), 8 deletions(-)
>
> diff --git a/meta/recipes-core/initrdscripts/files/init-install.sh b/meta/recipes-core/initrdscripts/files/init-install.sh
> index 8e433d5..0ede928 100644
> --- a/meta/recipes-core/initrdscripts/files/init-install.sh
> +++ b/meta/recipes-core/initrdscripts/files/init-install.sh
> @@ -168,17 +168,16 @@ umount /src_root
>   # Handling of the target boot partition
>   mount $bootfs /boot
>   echo "Preparing boot partition..."
> -if [ -f /etc/grub.d/40_custom ] ; then
> +if [ -f /etc/grub.d/00_header ] ; then
>       echo "Preparing custom grub2 menu..."
>       GRUBCFG="/boot/grub/grub.cfg"
>       mkdir -p $(dirname $GRUBCFG)
> -    cp /etc/grub.d/40_custom $GRUBCFG
> -    sed -i "s at __ROOTFS__@$rootfs $rootwait at g" $GRUBCFG
> -    sed -i "s/__VIDEO_MODE__/$3/g" $GRUBCFG
> -    sed -i "s/__VGA_MODE__/$4/g" $GRUBCFG
> -    sed -i "s/__CONSOLE__/$5/g" $GRUBCFG
> -    sed -i "/#/d" $GRUBCFG
> -    sed -i "/exec tail/d" $GRUBCFG
> +    cat >$GRUBCFG <<_EOF
> +menuentry "Linux" {
> +    set root=(hd0,1)
> +    linux /vmlinuz root=$rootfs $rootwait rw $5 $3 $4 quiet
> +}
> +_EOF

OK, seems like a reasonable incremental change. What becomes of the 
40_custom file itself? Should that be removed from the grub recipe as well?

Does the BSP variable "APPEND" get incorporated here anywhere? It's 
looking like it isn't - or maybe I'm missing it?

Thanks,

-- 
Darren Hart			Open Source Technology Center
darren.hart at intel.com		            Intel Corporation



More information about the Openembedded-core mailing list