Setting language causes invalid memory access
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://
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
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 grub_to_ access_ device $(${grub_probe} --target=device ${locale_dir}) | sed -e "s/^/ /" dir=(\$ root)$( make_system_ path_relative_ to_its_ root ${locale_dir})
if [ "x${LANG}" != "xC" ] && [ -d "${locale_dir}" ] ; then
prepare_
cat << EOF
set locale_
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