[OE-core] [PATCH 1/2] initramfs-live-install: avoid using grub.d/40_custom
Robert Yang
liezhi.yang at windriver.com
Thu May 22 02:07:10 UTC 2014
On 05/22/2014 01:43 AM, Darren Hart wrote:
> 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?
Hi Darren,
Thanks, there is [PATCH 2/2] grub-2.00: remove our 40_custom:
http://lists.openembedded.org/pipermail/openembedded-core/2014-May/092736.html
I'm a little busy recently, so Roy helped me forward porting this patch,
please see my comments below.
>
>> 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?
I'm afraid that the grub's 40_custom should be kept as other distro does:
=== begin ===
#!/bin/sh
exec tail -n +3 $0
# This file provides an easy way to add custom menu entries. Simply type the
# menu entries you want to add after this comment. Be careful not to change
# the 'exec tail' line above.
=== end ===
The problem is that recipes-bsp/grub/grub/40_custom has added unneeded lines.
>
> Does the BSP variable "APPEND" get incorporated here anywhere? It's looking like
> it isn't - or maybe I'm missing it?
Sorry, what do you mean about this, please ?
// Robert
>
> Thanks,
>
More information about the Openembedded-core
mailing list