An apostrophe translation in the line "echo Loading Linux 2.6..." of Grub breaks the boot menu from this entry included in Grub (in Ubuntu 10.04)

Bug #552921 reported by costales
38
This bug affects 6 people
Affects Status Importance Assigned to Milestone
grub2 (Ubuntu)
Fix Released
Undecided
Unassigned

Bug Description

Hi! If I install Lucid (daily build - 30 march 2010) in Asturian language only 1 entry appears in the Grub menu! I lost others boot menu entries! http://img534.imageshack.us/img534/3774/asturiangrub.jpg

This could happen in another language that can be use an apostrophe in the translations for "Loading Linux %s ..." (Maybe too in another string):
https://translations.launchpad.net/ubuntu/lucid/+source/grub2/+pots/grub/ast/269/+translate

Best regards.

costales (costales)
visibility: private → public
Revision history for this message
costales (costales) wrote :

Hi! I did some test (I link some pictures):
- English installation: Grub OK
- Spanish installation: Grub OK http://img696.imageshack.us/img696/4391/spanishgrub.jpg
- Galician installation: Grub OK http://img534.imageshack.us/img534/8123/galiciangrub.jpg
- Asturian installation: Grub WRONG http://img534.imageshack.us/img534/3774/asturiangrub.jpg

I change the line in /boot/grub/grub.cfg in the asturian installation:
set lang=ast
to
set lang=en
But same result :(

I attach to this email my grub file in asturian installation.

Do you need anything more? Any idea, please?
Thanks in advance! Marcos.

Revision history for this message
costales (costales) wrote :

I just download the asturian .po file from GNU:
http://translationproject.org/PO-files/ast/grub-1.97+20100124.ast.po
I create the .mo file and save in /boot/grub/locale
Equal result :( Grub only have 1 entry.

summary: - Asturian instalation. Wrong Grub: Only 1 entry in Grub for 2 OS.
+ Asturian instalation. Wrong Grub: Only 1 entry in Grub (in Ubuntu 10.04)
description: updated
Revision history for this message
ivarela (ivarela) wrote : Re: Asturian instalation. Wrong Grub: Only 1 entry in Grub (in Ubuntu 10.04)

I can confirm this bug for "ast" language. (Maybe the 3 letters code are doing the grub crashes)
This bug deletes all the older entries for other OS in the computer. It kills the possibility to boot another OS, or recovery mode

Steve Langasek (vorlon)
affects: grub (Ubuntu) → grub2 (Ubuntu)
security vulnerability: yes → no
Revision history for this message
costales (costales) wrote :

Hi! I found the problem! :D
The apostrophe in the line " echo Cargando'l Linux 2.6.32-18-generic ..." breaks the secuence of grub.

The second entry in grub.cfg boot menu (attachment to this bug before), breaks that appears the next lines in boot menu:
menuentry "Ubuntu, con Linux 2.6.32-18-generic (mou recuperación)" --class ubuntu --class gnu-linux --class gnu --class os {
 recordfail
 insmod ext2
 set root='(/dev/sda,5)'
 search --no-floppy --fs-uuid --set e0cf9b7c-bdae-4659-8165-7294447c1edf
 echo Cargando'l Linux 2.6.32-18-generic ...
 linux /boot/vmlinuz-2.6.32-18-generic root=UUID=e0cf9b7c-bdae-4659-8165-7294447c1edf ro single
 echo Cargando discu RAM inicial...
 initrd /boot/initrd.img-2.6.32-18-generic
}

I searched the string "Cargando'l" in the FreeDesktop translations
http://translationproject.org/PO-files/ast/grub-1.97+20100124.ast.po
and in Launchpad grub translations:
https://translations.launchpad.net/ubuntu/lucid/+source/grub2/+pots/grub/ast/+translate?batch=10&show=all&search=cargando%27l
and I didn't found this string :O

Cheers!

Revision history for this message
costales (costales) wrote :

Put this lines works fine:
echo Cargando\'l Linux 2.6.32-18-generic ...
echo "Cargando'l Linux 2.6.32-18-generic ..."
The echo command view the apostrophe as start of string, and not find the end, and all break until the end in the grub config file.

costales (costales)
summary: - Asturian instalation. Wrong Grub: Only 1 entry in Grub (in Ubuntu 10.04)
+ An apostrophe translation in the line " echo Loading Linux 2.6..." of
+ Grub breaks the boot menu with only 1 entry in Grub (in Ubuntu 10.04)
summary: - An apostrophe translation in the line " echo Loading Linux 2.6..." of
+ An apostrophe translation in the line "echo Loading Linux 2.6..." of
Grub breaks the boot menu with only 1 entry in Grub (in Ubuntu 10.04)
summary: An apostrophe translation in the line "echo Loading Linux 2.6..." of
- Grub breaks the boot menu with only 1 entry in Grub (in Ubuntu 10.04)
+ Grub breaks the boot menu from this entry included in Grub (in Ubuntu
+ 10.04)
description: updated
Revision history for this message
costales (costales) wrote :

Hi!
We changed by the moment the string for:
echo Cargando Linux 2.6.32-19-generic ...
and in Ubuntu 10.04 beta2 the menu boot is ok.

But for the future, or other languages, that use this apostrophe, the bug will appears ;)

Best regards!

Revision history for this message
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package grub2 - 1.98-1ubuntu5

---------------
grub2 (1.98-1ubuntu5) lucid; urgency=low

  * Enclose all translated strings in grub.cfg in single quotes, and escape
    them appropriately (LP: #552921).
 -- Colin Watson <email address hidden> Tue, 13 Apr 2010 14:29:45 +0100

Changed in grub2 (Ubuntu):
status: New → Fix Released
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Duplicates of this bug

Other bug subscribers

Bug attachments

Remote bug watches

Bug watches keep track of this bug in other bug trackers.