You are not logged in.
Hello,
I was trying to upgrade my version of GRUB from 1.99rc~1 to the latest version (2.00-2) which was recently installed via pacman.
I am using grub-bios with an GPT partition.
Partition table scan:
MBR: protective
BSD: not present
APM: not present
GPT: presentI am following the instructions below which are outlined on the wiki for Installing to GPT BIOS boot partitions.
# modprobe dm-mod
# modprobe part_gpt
# grub-install --target=i386-pc --recheck --debug /dev/sda
# mkdir -p /boot/grub/locale
# cp /usr/share/locale/en\@quot/LC_MESSAGES/grub.mo /boot/grub/locale/en.moHowever, I am getting the following error:
I am running the latest kernel version (3.9.4-1).
[root@fracture ~]# modprobe part_gpt
modprobe: FATAL: Module part_gpt not found.I was wondering how I could fix this so that I could proceed with upgrading GRUB.
Thank you.
Last edited by fracture (2013-05-31 06:45:34)
Offline
part_gpt is something grub specific. I see it used in the /etc/defualt/grub configuration file as well as the autogenerated grub.cfg that grub2 creates. There is no part_gpt module as far as the kernel is concerned.
Edit: Oh I now see that someone put that instruction on the wiki. I have no idea where the hell they got that idea, nor how they thought that a command that errored was making things work for them. But I removed it from the wiki.
Last edited by WonderWoofy (2013-05-31 05:16:29)
Offline
Thanks. I have a new issue now which is worrying me:
usr/share/grub/themes/starfield/terminal_box_w.png /usr/share/grub/themes/starfield/theme.txt /boot/grub/themes/starfield
cp: error writing ‘/boot/grub/themes/starfield/starfield.png’: No space left on device
cp: failed to extend ‘/boot/grub/themes/starfield/starfield.png’: No space left on device
cp: error writing ‘/boot/grub/themes/starfield/terminal_box_c.png’: No space left on device
cp: failed to extend ‘/boot/grub/themes/starfield/terminal_box_c.png’: No space left on device
cp: error writing ‘/boot/grub/themes/starfield/terminal_box_e.png’: No space left on device
cp: failed to extend ‘/boot/grub/themes/starfield/terminal_box_e.png’: No space left on device
cp: error writing ‘/boot/grub/themes/starfield/terminal_box_ne.png’: No space left on device
cp: failed to extend ‘/boot/grub/themes/starfield/terminal_box_ne.png’: No space left on device
cp: error writing ‘/boot/grub/themes/starfield/terminal_box_n.png’: No space left on device
cp: failed to extend ‘/boot/grub/themes/starfield/terminal_box_n.png’: No space left on device
cp: error writing ‘/boot/grub/themes/starfield/terminal_box_nw.png’: No space left on device
cp: failed to extend ‘/boot/grub/themes/starfield/terminal_box_nw.png’: No space left on device
cp: error writing ‘/boot/grub/themes/starfield/terminal_box_se.png’: No space left on device
cp: failed to extend ‘/boot/grub/themes/starfield/terminal_box_se.png’: No space left on device
cp: error writing ‘/boot/grub/themes/starfield/terminal_box_s.png’: No space left on device
cp: failed to extend ‘/boot/grub/themes/starfield/terminal_box_s.png’: No space left on device
cp: error writing ‘/boot/grub/themes/starfield/terminal_box_sw.png’: No space left on device
cp: failed to extend ‘/boot/grub/themes/starfield/terminal_box_sw.png’: No space left on device
cp: error writing ‘/boot/grub/themes/starfield/terminal_box_w.png’: No space left on device
cp: failed to extend ‘/boot/grub/themes/starfield/terminal_box_w.png’: No space left on device
cp: error writing ‘/boot/grub/themes/starfield/theme.txt’: No space left on device
cp: failed to extend ‘/boot/grub/themes/starfield/theme.txt’: No space left on device
+ test -f /usr/share/grub/unicode.pf2
+ mkdir -p /boot/grub/fonts
mkdir: cannot create directory ‘/boot/grub/fonts’: File exists
+ cp /usr/share/grub/unicode.pf2 /boot/grub/fonts
cp: error writing ‘/boot/grub/fonts’: No space left on device
cp: failed to extend ‘/boot/grub/fonts’: No space left on device
+ is_path_readable_by_grub /boot/grub
+ path=/boot/grub
+ test -e /boot/grub
+ :
+ /usr/bin/grub-probe -t fs /boot/grub
+ :
++ /usr/bin/grub-probe -t abstraction /boot/grub
+ abstractions=
+ :
+ '[' x = xy ']'
+ return 0
++ /usr/bin/grub-probe --device-map= --target=device /boot/grub
+ grub_device=/dev/sda2
+ test -f /boot/grub/grubenv
++ echo /dev/sda2
++ xargs /usr/bin/grub-probe --device-map= --target=fs --device
+ fs_module=ext2
+ test xext2 = x
+ partmap_module=
++ echo /dev/sda2
++ xargs /usr/bin/grub-probe --device-map= --target=partmap --device
+ for x in '`echo "${grub_device}" | xargs "$grub_probe" --device-map="${device_map}" --target=partmap --device 2> /dev/null`'
+ case "$x" in
+ partmap_module=' part_gpt'
++ echo /dev/sda2
++ xargs /usr/bin/grub-probe --device-map= --target=abstraction --device
+ devabstraction_module=
+ '[' xbiosdisk = xata ']'
+ '[' xbiosdisk = xnative ']'
+ modules=' biosdisk'
+ modules=' biosdisk ext2 part_gpt '
++ /usr/bin/grub-mkrelpath /boot/grub
+ relative_grubdir=/grub
+ '[' x/grub = x ']'
+ prefix_drive=
+ config_opt_file=
+ rm -f /boot/grub/i386-pc/load.cfg
+ '[' x '!=' x ']'
+ '[' x = x ']'
+ '[' x/dev/sda '!=' x ']'
+ grep -qx '(.*)'
+ echo /dev/sda
++ /usr/bin/grub-probe --device-map= --target=drive --device /dev/sda
+ install_drive='(hostdisk//dev/sda)'
++ echo '(hostdisk//dev/sda)'
++ sed -e 's/^(\(\([^,\\]\|\\\\\|\\,\)*\)\(\(,[a-zA-Z0-9]*\)*\))$/\1/'
+ install_drive=hostdisk//dev/sda
++ echo /dev/sda2
++ xargs /usr/bin/grub-probe --device-map= --target=drive --device
+ grub_drive='(hostdisk//dev/sda,gpt2)'
++ echo '(hostdisk//dev/sda,gpt2)'
++ sed -e 's/^(\(\([^,\\]\|\\\\\|\\,\)*\)\(\(,[a-zA-Z0-9]*\)*\))$/\3/'
+ grub_partition=,gpt2
++ echo '(hostdisk//dev/sda,gpt2)'
++ sed -e 's/^(\(\([^,\\]\|\\\\\|\\,\)*\)\(\(,[a-zA-Z0-9]*\)*\))$/\1/'
+ grub_drive=hostdisk//dev/sda
+ '[' x/dev/sda = x ']'
+ '[' xbiosdisk '!=' x ']'
+ '[' xbiosdisk '!=' xbiosdisk ']'
+ '[' xhostdisk//dev/sda '!=' xhostdisk//dev/sda ']'
+ '[' xpc '!=' xefi ']'
+ '[' xpc '!=' xpc ']'
+ '[' x,gpt2 = x ']'
+ prefix_drive='(,gpt2)'
+ case "${grub_modinfo_target_cpu}-${grub_modinfo_platform}" in
+ mkimage_target=i386-pc
+ case "${grub_modinfo_target_cpu}-${grub_modinfo_platform}" in
+ imgext=img
+ '[' x = x ']'
+ /usr/bin/grub-mkimage -d /usr/lib/grub/i386-pc -O i386-pc --output=/boot/grub/i386-pc/core.img '--prefix=(,gpt2)/grub' biosdisk ext2 part_gpt
/usr/bin/grub-mkimage: error: cannot write to `/usr/lib/grub/i386-pc/biosdisk.mod': No space left on device.
+ exit 1My boot partion is suddenly full when there was no problem previously.
/dev/sda2 29745 29745 0 100% /boot
Am I correct to assume that if I reboot GRUB will no longer function?
Offline
I think that one is pretty apparent. Is grub 1.99 still grub legacy? If so, grub2 is a whole different beast. It is waaayyyy more bloated than the old version. Though with that comes more functionality. Much of it is not at all useful for most people. So if it were me, I would continue to use the bootloader that works. I see no reason to switch just because there is a new one out.
Your /boot is quite small though. As it is, the fallback initramfs on my machine uses 19MB, and the regular one uses 4.9MB. The kernel uses 3.7 and... well you get the point. That really leaves no room for anything else. If you are dead set on upgrading grub, maybe it might be a good idea to stop creating the fallback initramfs. I'd venture to guess that >90% of users don't use it, and only slightly less ever use it I think.
So go to /boot/mkinitcpio.d and edit the linux.preset file. Comment out the section about the fallback, and remove "fallback" from the PRESETS array. Then delete the fallback img from /boot.
Offline
Thank you. Removing the fallback image allowed GRUB to install properly.
I've rebooted and everything is running as it should be. ![]()
Offline
If you are satisfied with the outcome, please mark the thread as [Solved].
I'm sorry you had to be the one to find some nonsense addition in the wiki. But fortunately, it is a wiki and we can remove stuff like that.
Offline