Setting language causes invalid memory access

Bug #1048611 reported by ojordan
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
grub2 (Ubuntu)
Expired
Undecided
Unassigned

Bug Description

Hi, I've been experimenting with grub2 on my G4 (PowerPC) iBook. Using the grub.cfg generated by the grub-mkconfig command causes the following error when booting:

Invalid memory access at &SRR0: 0020567c &SRR1: 00003030

Note, I've used a '&' charcter in the above address but it was more like a beta or maybe a pi character (very small text on screen).

Anway, the result is I get dumped back into openfirmware.

After a lot of reboots I've narrowed the fault down to these two lines in the grub.cfg:

set lang=en_GB
insmod gettext

The 'insmod gettext' is what causes the crash. However, inserting the module gettext without setting the language doesn't cause a problem. Similarly, set lang=en_GB doesn't cause a problem if you don't load gettext. It is the combination of the two that is the problem (it crashes whatever order you do them in).

I think this chap has the same problem http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=685295 .

lsb_release -rd
Description: Ubuntu 12.04.1 LTS
Release: 12.04

dpkg -l | grep grub
ii grub-common 1.99-21ubuntu3.1 GRand Unified Bootloader (common files)
ii grub-ieee1275 1.99-21ubuntu3.1 GRand Unified Bootloader, version 2 (Open Firmware version)
ii grub-ieee1275-bin 1.99-21ubuntu3.1 GRand Unified Bootloader, version 2 (Open Firmware binaries)
ii grub2-common 1.99-21ubuntu3.1 GRand Unified Bootloader (common files for version 2)

If you need anymore info let me know!

Thanks

Revision history for this message
ojordan (ojordan12345) wrote :

This is what I did to workaround the problem:

sudo nano /etc/grub.d/00_header

Find this bit of code:

# Gettext variables and module
if [ "x${LANG}" != "xC" ] && [ -d "${locale_dir}" ] ; then
    prepare_grub_to_access_device $(${grub_probe} --target=device ${locale_dir}) | sed -e "s/^/ /"
  cat << EOF
  set locale_dir=(\$root)$(make_system_path_relative_to_its_root ${locale_dir})
  set lang=${grub_lang}
  insmod gettext
EOF
fi

You can delete that whole piece of code, but I just commented out the 'insmod gettext' line by putting ### at the start and end of the line:

###insmod gettext###

Save and re-run update-grub or grub-mkconfig:

sudo update-grub

Revision history for this message
ojordan (ojordan12345) wrote :

This appears to be fixed in quantal.

Revision history for this message
Marcus Tomlinson (marcustomlinson) wrote :

This release of Ubuntu is no longer receiving maintenance updates. If this is still an issue on a maintained version of Ubuntu please let us know.

Changed in grub2 (Ubuntu):
status: New → Incomplete
Revision history for this message
Launchpad Janitor (janitor) wrote :

[Expired for grub2 (Ubuntu) because there has been no activity for 60 days.]

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

Other bug subscribers

Remote bug watches

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