Please read this before reporting a bug:
https://wiki.archlinux.org/title/Bug_reporting_guidelines
Do NOT report bugs when a package is just outdated, or it is in the AUR. Use the 'flag out of date' link on the package page, or the Mailing List.
REPEAT: Do NOT report bugs for outdated packages!
https://wiki.archlinux.org/title/Bug_reporting_guidelines
Do NOT report bugs when a package is just outdated, or it is in the AUR. Use the 'flag out of date' link on the package page, or the Mailing List.
REPEAT: Do NOT report bugs for outdated packages!
FS#12616 - ext4 support for grub-gfx
Attached to Project:
Community Packages
Opened by Olivier Duclos (oliwer) - Tuesday, 30 December 2008, 02:27 GMT
Last edited by Allan McRae (Allan) - Sunday, 22 March 2009, 00:43 GMT
Opened by Olivier Duclos (oliwer) - Tuesday, 30 December 2008, 02:27 GMT
Last edited by Allan McRae (Allan) - Sunday, 22 March 2009, 00:43 GMT
|
DetailsAs mentioned in http://bugs.archlinux.org/task/12576
GRUB needs a patch to boot from ext4 :bug-grub@gnu.org/msg11458.html"> http://www.mail-archive.com/bug-grub@gnu.org/msg11458.html |
This task depends upon
grub-gfx also missed the needed grub-inode-size.patch to work correctly with ext4 (and also new ext3 partitions).
I've noticed this when working on the ISO's where grub-gfx is the iso bootloader.
So please apply grub-inode-size.patch and ext4.patch from core grub package.
Here is my modified PKGBUILD:
# Maintainer: Douglas Soares de Andrade <dsandrade@gmail.com>
# Contributor: judd <jvinet@zeroflux.org>
# Contributor: Mario A. Vazquez
# Contributor: Jerzy Goca <juras256@epf.pl>
pkgname=grub-gfx
pkgver=0.97
pkgrel=10
pkgdesc="A GNU multiboot boot loader"
arch=('i686' 'x86_64')
license=('GPL')
url="http://www.gnu.org/software/grub/"
depends=('ncurses')
makedepends=('automake>=1.10' 'autoconf>=2.61' 'patch')
conflicts=('grub')
provides=('grub')
source=(ftp://alpha.gnu.org/gnu/grub/grub-$pkgver.tar.gz
menu.lst
install-grub
grub-0.97-graphics.patch
040_all_grub-0.96-nxstack.patch
05-grub-0.97-initrdaddr.diff
i2o.patch
special-devices.patch
more-raid.patch
intelmac.patch
splash.xpm.gz
grub-inode-size.patch
ext4.patch)
backup=('boot/grub/menu.lst')
install=grub-gfx.install
md5sums=('cd3f3eb54446be6003156158d51f4884'
'58cfec4abda85307f779147ab9a6be48'
'3182c4ae4963a16930bc772bba89dacf'
'12f043616b51ce2ba82e46c9186a528d'
'eb9d69c46af3a0667c1f651817d7f075'
'ccd2d757e79e3a03dc19ede7391ed328'
'826fdbf446067f9861baf9f6a69a4583'
'49f6d4bcced0bc8bbcff273f3254bbfa'
'f41f702014a064918d7afc6fc23baa6e'
'175dc6b9f4ab94e8056c3afb3e34460a'
'342f59f24cf5de5f013eacda68e617eb'
'ada26cbc681907823cc4ff2a55b97866'
'39e0f9a05b7e04aceb24fc7bc4893e3d')
build() {
cd $startdir/src/grub-$pkgver
#set destination architecture here
DESTARCH="i686"
#DESTARCH="x86_64"
# graphics patch
patch -p1 < ../grub-0.97-graphics.patch || return 1
# optimizations break the build -- disable them
# adding special devices to grub, patches are from fedora
patch -Np1 -i ../special-devices.patch || return 1
patch -Np1 -i ../i2o.patch || return 1
patch -Np1 -i ../more-raid.patch || return 1
patch -Np1 -i ../intelmac.patch || return 1
# Add support for bigger inode size to e2fs_stage1_5
patch -Np1 -i ../grub-inode-size.patch || return 1
# Add ext4 support
#bug-grub@gnu.org/msg11458.html"> http://www.mail-archive.com/bug-grub@gnu.org/msg11458.html
patch -Np1 -i ../ext4.patch || return 1
# correcting problems for new wersion of autotools
sed -i -e'/^AC_PROG_CC/ a\AM_PROG_CC_C_O\ ' configure.ac
sed -i -e'/^AC_PROG_CC/ a\AM_PROG_AS\ ' configure.ac
aclocal
autoconf
automake
#arch64 fixes for static build
if [ "$CARCH" = "x86_64" ]; then
echo "this package has to be build on i686, won't compile on x86_64"
sleep 5
else
if [ "$DESTARCH" = "x86_64" ]; then
# patch from gentoo for fixing a segfault
patch -Np1 -i ../040_all_grub-0.96-nxstack.patch || return 1
# patch from frugalware to make it boot when more than 2GB ram installed
patch -Np1 -i ../05-grub-0.97-initrdaddr.diff || return 1
CFLAGS="-static" ./configure --prefix=/usr --bindir=/bin --sbindir=/sbin
else
CFLAGS= ./configure --prefix=/usr --bindir=/bin --sbindir=/sbin
fi
fi
CFLAGS= make || return 1
make DESTDIR=$startdir/pkg install
install -D -m644 ../menu.lst $startdir/pkg/boot/grub/menu.lst
install -D -m755 ../install-grub $startdir/pkg/sbin/install-grub
# symlink for compatibility with the <=0.7 installer
mkdir -p $startdir/pkg/usr/share
ln -s ../lib/grub $startdir/pkg/usr/share/grub
# splashimage xpm install
install -D -m644 $startdir/splash.xpm.gz $startdir/pkg/boot/grub/splash.xpm.gz
# Create a symlink to people that was using it
pushd $startdir/pkg/boot/grub/
ln -s splash.xpm.gz arch.xpm.gz
popd
if [ "$DESTARCH" = "x86_64" ]; then
# fool makepkg into building a x86_64 package
export CARCH="x86_64"
fi
}